.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{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b2724;background:#ebe7dc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #14211e;--muted: #60716b;--line: rgba(30, 45, 40, .14);--panel: #fffdf7;--panel-soft: #f8f5ec;--field: #f3f1ea;--green: #143d36;--green-2: #1b7f71;--gold: #f5c84c;--orange: #d56b2d;--red: #b84635;--shadow: 0 18px 50px rgba(32, 43, 39, .13)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(20,61,54,.08) 1px,transparent 1px),linear-gradient(rgba(20,61,54,.08) 1px,transparent 1px),#ebe7dc;background-size:48px 48px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1780px,100%);min-height:100vh;margin:0 auto;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px 18px;color:var(--panel);background:linear-gradient(135deg,#143d36,#19665d);border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:var(--shadow)}.eyebrow{margin:0 0 4px;color:#d8e8e2;font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.05}.topbar-stats{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:8px;min-width:min(520px,52vw)}.view-tabs{display:flex;gap:6px;margin-top:10px;padding:5px;background:#fffdf7e6;border:1px solid var(--line);border-radius:8px;box-shadow:0 9px 28px #202b2717}.view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;color:var(--muted);font-weight:900;background:transparent;border:1px solid transparent;border-radius:7px}.view-tabs button.is-selected{color:#fff;background:var(--green)}.view-tabs button>span{display:grid;min-width:21px;height:21px;place-items:center;font-size:.72rem;background:#fff3;border-radius:50%}.summary-pill{padding:10px 12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);border-radius:8px}.summary-pill span{display:block;color:#cae2db;font-size:.73rem;font-weight:800;text-transform:uppercase}.summary-pill strong{display:block;margin-top:2px;font-size:1.1rem;white-space:nowrap}.workspace-grid{display:grid;grid-template-columns:340px minmax(520px,1fr) 360px;gap:14px;margin-top:14px}.workspace-grid--documents{grid-template-columns:340px minmax(0,1fr)}.project-panel,.map-panel,.details-panel{min-height:calc(100vh - 128px)}.project-panel,.workspace-card,.map-panel,.itb-module,.takeoff-module{background:#fffdf7f0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.takeoff-module{min-width:0;overflow:hidden}.takeoff-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line)}.takeoff-header h2{font-size:1.28rem}.takeoff-header>div>span{display:block;margin-top:4px;color:var(--muted);font-size:.84rem;font-weight:700}.takeoff-total{min-width:180px;padding:9px 12px;color:#fff;text-align:right;background:var(--green);border-radius:7px}.takeoff-total span,.takeoff-total strong{display:block}.takeoff-total span{color:#cce1db;font-size:.72rem;font-weight:800;text-transform:uppercase}.takeoff-total strong{margin-top:2px;font-size:1.24rem}.module-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.module-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--muted);font-weight:900;background:#f5f4ed;border:0}.module-tabs button.is-selected{color:var(--green);background:#fff;box-shadow:inset 0 -3px var(--green-2)}.takeoff-workspace{display:grid;grid-template-columns:minmax(270px,.34fr) minmax(580px,1fr);min-height:690px}.drawing-upload-panel{min-width:0;padding:16px;background:var(--panel-soft);border-right:1px solid var(--line)}.drawing-dropzone{display:grid;justify-items:center;gap:7px;padding:25px 15px;color:var(--muted);text-align:center;background:#fff;border:2px dashed rgba(20,61,54,.25);border-radius:8px}.drawing-dropzone svg{color:var(--green-2)}.drawing-dropzone>strong{color:var(--ink)}.drawing-dropzone>span{max-width:270px;font-size:.8rem;line-height:1.4}.drawing-dropzone button{display:inline-flex;align-items:center;gap:7px;min-height:35px;margin-top:4px;padding:0 11px;color:#fff;font-weight:900;background:var(--green);border:0;border-radius:7px}.saved-drawing-documents{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:10px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left:3px solid #d56b2d;border-radius:6px}.saved-drawing-documents strong,.saved-drawing-documents span{display:block;min-width:0}.saved-drawing-documents strong{font-size:.78rem}.saved-drawing-documents span{margin-top:3px;color:var(--muted);font-size:.68rem}.saved-drawing-documents .secondary-button{min-height:34px;padding-inline:10px;font-size:.68rem;white-space:nowrap}.drawing-file-list{display:grid;gap:7px;margin-top:12px}.drawing-file-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:7px}.drawing-file-list svg{color:var(--orange)}.drawing-file-list strong,.drawing-file-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-file-list strong{font-size:.76rem}.drawing-file-list small{margin-top:2px;color:var(--muted);font-size:.68rem}.drawing-file-list button{display:grid;width:31px;height:31px;place-items:center;color:var(--red);background:#fff6f4;border:1px solid rgba(184,70,53,.16);border-radius:6px}.drawing-analysis-progress{display:grid;gap:9px;margin-top:12px;padding:12px;color:var(--ink);background:#e7f1ed;border:1px solid rgba(15,123,108,.22);border-left:3px solid var(--green-2);border-radius:7px}.drawing-analysis-progress span,.drawing-analysis-progress strong,.drawing-analysis-progress small{display:block}.drawing-analysis-progress strong{font-size:.78rem;line-height:1.35}.drawing-analysis-progress small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.drawing-analysis-progress progress{width:100%;height:7px;overflow:hidden;accent-color:var(--green-2);border:0;border-radius:4px}.drawing-summary{display:grid;gap:3px;margin-top:14px;padding:10px;color:var(--ink);background:#e7f1ed;border-left:3px solid var(--green-2)}.drawing-summary span,.drawing-summary small{color:var(--muted);font-size:.75rem}.takeoff-table-wrap,.rate-book,.proposal-workspace{min-width:0;padding:18px}.takeoff-table-wrap .results-heading>span,.rate-book .results-heading>span{color:var(--muted);font-size:.78rem;font-weight:900}.takeoff-empty{display:grid;min-height:500px;place-content:center;justify-items:center;padding:20px;color:var(--muted);text-align:center}.takeoff-empty svg{color:var(--green-2)}.takeoff-empty h3{margin-top:10px;color:var(--ink)}.takeoff-empty p{max-width:400px;margin-top:5px}.takeoff-table,.rate-table{min-width:840px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.takeoff-table-wrap,.rate-book{overflow-x:auto}.takeoff-row{display:grid;grid-template-columns:minmax(230px,1.5fr) 78px 75px 78px minmax(150px,1fr) 105px;align-items:center;gap:8px;padding:8px 10px;background:#fff;border-bottom:1px solid var(--line)}.takeoff-row:last-child{border-bottom:0}.takeoff-row--head{min-height:38px;color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase;background:var(--green)}.takeoff-row input,.takeoff-row select{min-height:34px;padding:5px 7px;font-size:.76rem}.takeoff-row>div small{display:block;max-width:260px;margin-top:3px;color:var(--muted);font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeoff-row>strong{color:var(--green);text-align:right}.rate-book{min-height:680px}.rate-table{min-width:960px}.rate-row{display:grid;grid-template-columns:minmax(270px,1.35fr) repeat(5,minmax(100px,.65fr));align-items:center;gap:8px;padding:8px 10px;background:#fff;border-bottom:1px solid var(--line)}.rate-row--head{min-height:39px;color:#fff;font-size:.68rem;font-weight:900;text-transform:uppercase;background:var(--green)}.rate-row input{min-height:34px;padding:5px 7px;font-size:.76rem}.rate-row>div{min-width:0}.rate-row>div strong,.rate-row>div small{display:block}.rate-row>div strong{color:var(--green-2);font-size:.72rem}.rate-row>div input{margin-top:3px}.rate-row>div small{margin-top:3px;color:var(--muted);font-size:.68rem}.proposal-workspace{display:grid;grid-template-columns:minmax(520px,1fr) 280px;gap:16px;min-height:680px;background:#e5e7df}.takeoff-main-stack{display:grid;gap:14px;min-width:0}.estimate-validation{display:grid;gap:10px;padding:13px;color:var(--ink);background:#fff7ed;border:1px solid rgba(234,106,32,.35);border-radius:8px}.estimate-validation--clear{grid-template-columns:auto 1fr;align-items:center;background:#ecfdf5;border-color:#0f766e38}.estimate-validation--clear svg{color:var(--green)}.estimate-validation--compact .estimate-validation__list{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-validation__header{display:flex;align-items:center;gap:10px}.estimate-validation__header svg{color:var(--orange);flex:0 0 auto}.estimate-validation strong,.estimate-validation span{display:block}.estimate-validation span,.estimate-validation small{color:var(--muted);font-size:.72rem}.estimate-validation__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.estimate-validation__issue{min-width:0;padding:9px;background:#ffffffd1;border:1px solid rgba(234,106,32,.2);border-radius:7px}.estimate-validation__issue>span{margin-bottom:3px;color:var(--orange);font-weight:900;text-transform:uppercase}.estimate-validation__issue--critical{border-color:#b8463559}.estimate-validation__issue--critical>span{color:var(--red)}.estimate-validation__issue p{margin:3px 0;color:var(--ink);font-size:.78rem}.proposal-template-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.proposal-template-controls label{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:0 11px;color:var(--ink);font-size:.78rem;font-weight:800;background:#f5f7f2;border:1px solid var(--line);border-radius:7px}.proposal-template-controls select{min-height:30px}.manual-takeoff-panel{display:grid;gap:10px;margin-top:14px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.manual-takeoff-heading strong,.manual-takeoff-heading span{display:block}.manual-takeoff-heading span{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.35}.manual-takeoff-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.manual-takeoff-tools button{min-height:34px;color:var(--ink);font-weight:900;background:var(--field);border:1px solid var(--line);border-radius:7px}.manual-takeoff-tools button.is-selected{color:#fff;background:var(--green);border-color:var(--green)}.manual-takeoff-label{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;color:var(--muted);font-size:.72rem;font-weight:900}.manual-takeoff-label input{min-height:35px;padding:7px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.manual-takeoff-label:first-of-type{grid-template-columns:1fr}.manual-takeoff-canvas{position:relative;min-height:235px;overflow:hidden;color:var(--muted);background-color:#eef2ee;background-image:linear-gradient(rgba(15,118,110,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(15,118,110,.1) 1px,transparent 1px);background-position:center;background-size:20px 20px,20px 20px,cover;border:1px dashed rgba(15,118,110,.45);border-radius:8px}.manual-takeoff-canvas.has-preview{background-size:20px 20px,20px 20px,contain;background-repeat:repeat,repeat,no-repeat}.manual-takeoff-canvas em{position:absolute;inset:0;display:grid;place-items:center;padding:18px;font-style:normal;font-weight:800;text-align:center}.manual-takeoff-canvas svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.manual-takeoff-canvas polyline,.manual-takeoff-canvas polygon{fill:#ea6a202e;stroke:var(--orange);stroke-width:1.4;vector-effect:non-scaling-stroke}.manual-takeoff-point{position:absolute;display:grid;place-items:center;width:24px;height:24px;color:#fff;font-size:.7rem;font-weight:900;background:var(--orange);border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow);transform:translate(-50%,-50%);pointer-events:none}.manual-takeoff-actions{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px}.manual-takeoff-actions span{color:var(--muted);font-size:.78rem}.manual-takeoff-actions strong{color:var(--green-2);font-size:1rem}.proposal-sheet{align-self:start;min-width:0;padding:22px;background:#fff;border:1px solid rgba(20,61,54,.15);box-shadow:0 12px 30px #202b271f}.proposal-sheet--field>header{border-bottom-color:#2563eb}.proposal-sheet--field header span,.proposal-sheet--field header>strong,.proposal-sheet--field .proposal-lines em{color:#2563eb}.proposal-sheet--formal>header{border-bottom-color:#1c232b}.proposal-sheet--formal header span,.proposal-sheet--formal header>strong{color:#1c232b}.proposal-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:3px solid var(--green)}.proposal-sheet header span{color:var(--green-2);font-size:.72rem;font-weight:900;text-transform:uppercase}.proposal-sheet header h3{margin-top:4px;font-size:1.22rem}.proposal-sheet header p{margin-top:4px;color:var(--muted);font-size:.78rem}.proposal-sheet header>strong{color:var(--green);font-size:1.35rem;white-space:nowrap}.proposal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.proposal-metrics div{padding:9px;background:#f3f5f1;border:1px solid var(--line)}.proposal-metrics span,.proposal-metrics strong{display:block}.proposal-metrics span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.proposal-metrics strong{margin-top:3px}.proposal-lines{margin-top:14px;border-top:1px solid var(--line)}.proposal-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 3px;border-bottom:1px solid var(--line)}.proposal-lines strong,.proposal-lines small{display:block}.proposal-lines strong{font-size:.8rem}.proposal-lines small{margin-top:2px;color:var(--muted);font-size:.68rem}.proposal-lines em{color:var(--green);font-style:normal;font-weight:900;white-space:nowrap}.proposal-summary-card,.proposal-terms-preview{display:grid;gap:4px;margin-top:14px;padding:12px;background:#f3f5f1;border:1px solid var(--line);border-radius:7px}.proposal-summary-card span,.proposal-terms-preview span{color:var(--muted);font-size:.78rem}.markup-panel{align-self:start;display:grid;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.markup-panel label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line)}.markup-panel label span{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}.markup-panel label input{width:80px;min-height:35px;text-align:right}.proposal-total{padding:11px;color:#fff;background:var(--green);border-radius:7px}.proposal-total span,.proposal-total strong{display:block}.proposal-total span{color:#cce1db;font-size:.72rem;font-weight:800;text-transform:uppercase}.proposal-total strong{margin-top:3px;font-size:1.35rem}.download-proposal{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#fff;font-weight:900;background:var(--orange);border:0;border-radius:7px}.download-proposal:disabled{opacity:.5;cursor:not-allowed}.markup-panel>small{color:var(--muted);font-size:.72rem;line-height:1.4}.itb-module{min-width:0;overflow:hidden}.itb-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line)}.itb-header h2{font-size:1.28rem}.itb-header>div>span{display:block;margin-top:4px;color:var(--muted);font-size:.84rem;font-weight:700}.eyebrow--dark{color:var(--green-2)}.analysis-stamp{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--green);background:#e7f1ed;border:1px solid rgba(27,127,113,.2);border-radius:7px}.analysis-stamp span,.analysis-stamp strong{display:block;font-size:.76rem}.analysis-stamp strong{margin-top:2px}.itb-layout{display:grid;grid-template-columns:minmax(300px,.42fr) minmax(440px,1fr);min-height:720px}.upload-panel{min-width:0;padding:16px;background:var(--panel-soft);border-right:1px solid var(--line)}.pdf-dropzone{display:grid;justify-items:center;gap:7px;padding:28px 18px;color:var(--muted);text-align:center;background:#fff;border:2px dashed rgba(20,61,54,.25);border-radius:8px;outline:none;transition:border-color .16s ease,background .16s ease}.pdf-dropzone:focus-visible,.pdf-dropzone.is-dragging{background:#eef6f2;border-color:var(--green-2)}.pdf-dropzone svg{color:var(--green-2)}.pdf-dropzone strong{color:var(--ink)}.pdf-dropzone>span{max-width:320px;font-size:.82rem;line-height:1.4}.pdf-dropzone button{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin-top:5px;padding:0 11px;color:#fff;font-weight:900;background:var(--green);border:0;border-radius:7px}.upload-rules{display:flex;flex-wrap:wrap;gap:6px 12px;padding:9px 2px 14px;color:var(--muted);font-size:.72rem;font-weight:800}.document-queue{display:grid;gap:8px}.queue-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:.84rem}.queue-heading span{display:grid;min-width:22px;height:22px;place-items:center;color:#fff;font-size:.72rem;background:var(--green-2);border-radius:50%}.queued-document{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(126px,.6fr) auto;align-items:center;gap:8px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:7px}.queued-document>svg{color:var(--red)}.queued-document strong,.queued-document small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queued-document strong{font-size:.79rem}.queued-document small{margin-top:3px;color:var(--muted);font-size:.7rem}.queued-document select{min-height:34px;padding:5px 7px;font-size:.72rem}.queued-document button{display:grid;width:33px;height:33px;place-items:center;color:var(--red);background:#fff6f4;border:1px solid rgba(184,70,53,.18);border-radius:6px}.analyze-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:14px;color:#fff;font-weight:900;background:var(--green-2);border:0;border-radius:7px}.analyze-button:disabled{cursor:not-allowed;opacity:.52}.analysis-message{margin-top:10px;padding:9px 10px;color:var(--green);font-size:.78rem;font-weight:800;background:#e7f1ed;border-radius:6px}.analysis-message--error{color:#872f25;background:#faeae6}.analysis-results{min-width:0;padding:18px;overflow:auto}.analysis-empty{display:grid;min-height:520px;place-content:center;justify-items:center;color:var(--muted);text-align:center}.analysis-empty svg{color:var(--green-2)}.analysis-empty h3{margin-top:10px;color:var(--ink)}.analysis-empty p{max-width:380px;margin-top:5px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.results-heading h3{font-size:1.08rem}.results-heading--compact{margin-bottom:9px}.results-heading--compact>span{color:var(--muted);font-weight:900}.confidence-badge{padding:6px 8px;color:var(--green);font-size:.72rem;font-weight:900;text-transform:capitalize;background:#e7f1ed;border-radius:6px}.confidence-badge--low{color:#872f25;background:#faeae6}.confidence-badge--medium{color:#755616;background:#fbf1cf}.summary-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.summary-table-row{display:grid;grid-template-columns:minmax(160px,.28fr) 1fr;background:#fff;border-bottom:1px solid var(--line)}.summary-table-row:last-child{border-bottom:0}.summary-label{display:flex;align-items:flex-start;gap:8px;padding:13px;color:var(--green);background:#f1f5f1;border-right:1px solid var(--line)}.summary-label svg{flex:0 0 auto}.summary-label strong{font-size:.8rem}.summary-value{min-width:0;padding:13px}.summary-value p{color:var(--ink);font-size:.86rem;line-height:1.45}.summary-value small,.spec-grid small{display:block;margin-top:7px;color:var(--muted);font-size:.7rem;font-weight:700}.utility-specs,.risk-flags,.bid-restriction-review{margin-top:18px}.restriction-list{display:grid;gap:8px}.restriction-item{padding:11px 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-left:4px solid #2563eb;border-radius:6px}.restriction-item--stopper{border-left-color:var(--red);background:#fff6f4}.restriction-item--watch{border-left-color:var(--orange);background:#fffaf0}.restriction-item--verify{border-left-color:#b45309;background:#fffbeb}.restriction-item--date{border-left-color:#2563eb;background:#eff6ff}.restriction-item strong,.restriction-item p,.restriction-item small{display:block;min-width:0}.restriction-item strong{font-size:.82rem}.restriction-item p{margin-top:5px;font-size:.78rem;line-height:1.42}.restriction-item small{margin-top:7px;color:var(--muted);font-size:.68rem;font-weight:800;overflow-wrap:anywhere}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.spec-grid article,.spec-card{padding:11px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:6px}.spec-grid--interactive{align-items:stretch}.spec-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.spec-card:hover,.spec-card.is-active{border-color:#0d94888c;border-top-color:var(--green);box-shadow:0 12px 26px #0f172a1a;transform:translateY(-1px)}.spec-card.is-active{background:#f0fdfa}.spec-grid span,.spec-grid strong,.spec-grid em{display:block}.spec-grid span{color:var(--orange);font-size:.7rem;font-weight:900;text-transform:uppercase}.spec-grid strong{margin-top:5px;font-size:.84rem;line-height:1.35}.spec-grid em{margin-top:7px;color:var(--green);font-style:normal;font-weight:900}.spec-breakdown-panel{margin-top:10px;padding:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px}.spec-breakdown-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.spec-breakdown-panel h4{margin:2px 0 3px;color:var(--ink);font-size:1rem}.spec-breakdown-panel header span,.spec-breakdown-panel header small{color:var(--muted);font-size:.76rem;font-weight:800}.spec-breakdown-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.spec-breakdown-metrics div{min-width:0;padding:10px;background:#f8fafc;border:1px solid var(--line);border-radius:6px}.spec-breakdown-metrics span,.pipe-footage-list span{display:block;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.spec-breakdown-metrics strong{display:block;margin-top:5px;color:var(--ink);font-size:.9rem;overflow-wrap:anywhere}.pipe-footage-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pipe-footage-list span{padding:8px 10px;color:var(--green);background:#ecfdf5;border:1px solid rgba(13,148,136,.22);border-radius:999px}.pipe-footage-list strong{margin-right:6px;color:var(--ink)}.spec-breakdown-table{display:grid;gap:6px;margin-top:12px}.spec-breakdown-table__head,.spec-breakdown-table__row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(90px,.55fr) minmax(120px,.9fr) minmax(120px,.8fr);gap:8px;align-items:start}.spec-breakdown-table__head{padding:0 10px;color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase}.spec-breakdown-table__row{padding:10px;background:#fbfcfd;border:1px solid var(--line);border-radius:6px}.spec-breakdown-table__row span,.spec-breakdown-table__row strong,.spec-breakdown-table__row em,.spec-breakdown-table__row small{min-width:0;overflow-wrap:anywhere;font-size:.76rem}.spec-breakdown-table__row strong{color:var(--green)}.spec-breakdown-table__row em{color:var(--ink);font-style:normal;font-weight:800}.spec-breakdown-table__row small{color:var(--muted);font-weight:800}.risk-flags ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.risk-flags li{padding:9px 11px;color:#752f25;font-size:.82rem;font-weight:700;background:#fff6f4;border-left:3px solid var(--red)}.bid-compliance{border-top:1px solid var(--line);background:var(--panel)}.bid-compliance>header{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 18px}.bid-compliance>header h3{margin-top:2px;font-size:1.08rem}.bid-compliance>header span{display:block;margin-top:4px;color:var(--muted);font-size:.76rem}.bid-compliance-filters{display:inline-flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.bid-compliance-filters button{min-width:55px;min-height:34px;padding:5px 10px;color:var(--muted);background:var(--panel-soft);border:0;border-right:1px solid var(--line);font-size:.72rem;font-weight:800}.bid-compliance-filters button:last-child{border-right:0}.bid-compliance-filters button[aria-pressed=true]{color:var(--ink);background:var(--field);box-shadow:inset 0 -2px #0f766e}.bid-compliance-list{border-block:1px solid var(--line)}.bid-compliance-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px 18px;border-top:1px solid var(--line);cursor:pointer}.bid-compliance-item:first-child{border-top:0}.bid-compliance-item:hover{background:var(--panel-soft)}.bid-compliance-item input{width:18px;height:18px;margin:2px 0 0;accent-color:#0f766e}.bid-compliance-item>span{display:grid;min-width:0;gap:3px}.bid-compliance-item strong{font-size:.81rem}.bid-compliance-item small{color:var(--muted);font-size:.73rem;line-height:1.4}.bid-compliance-item em{color:#2563eb;font-size:.68rem;font-style:normal;overflow-wrap:anywhere}.bid-compliance-item b{color:#0f766e;font-size:.62rem;letter-spacing:0}.bid-compliance-item--review b{color:#b45309}.bid-compliance-item>button{padding:2px;color:var(--muted);background:transparent;border:0;cursor:pointer}.bid-compliance-add{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:end;gap:9px;padding:13px 18px;background:var(--panel-soft)}.bid-compliance-add label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.69rem;font-weight:800}.bid-compliance-add input{width:100%;min-width:0;min-height:37px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit}.bid-compliance>footer{display:flex;align-items:start;gap:9px;padding:12px 18px;color:var(--muted);font-size:.72rem;line-height:1.45}.bid-compliance>footer svg{flex:0 0 auto;color:#b45309}.bid-question-workspace{border-top:1px solid var(--line);background:var(--panel)}.bid-question-workspace>header,.question-register-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.bid-question-workspace>header h3{margin-top:2px;font-size:1.08rem}.bid-question-workspace>header>div>span{display:block;margin-top:4px;color:var(--muted);font-size:.76rem}.question-deadline-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;color:#56636e;font-size:.72rem;white-space:nowrap;background:var(--field);border:1px solid var(--line);border-radius:6px}.question-deadline-status--open{color:#0c6659;background:#def5ef;border-color:#9bd7c7}.question-deadline-status--warning{color:#7b5010;background:#fff0d9;border-color:#efcb98}.question-deadline-status--closed{color:#872f25;background:#faeae6;border-color:#e3b1a9}.question-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px;background:var(--panel-soft);border-block:1px solid var(--line)}.question-composer{padding:16px 18px;border-bottom:1px solid var(--line)}.question-composer-fields{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr);gap:11px}.question-composer textarea,.bid-question textarea{width:100%;padding:9px 10px;color:var(--ink);resize:vertical;background:var(--field);border:1px solid var(--line);border-radius:6px}.question-notes,.question-final{grid-column:span 1}.question-composer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}.question-notice{margin-top:10px;padding:9px 10px;color:#0d5f55;font-size:.75rem;font-weight:800;background:#def5ef;border:1px solid #a8ded1;border-radius:5px}.question-register-heading{padding-block:12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.question-register-heading>div{display:flex;align-items:center;gap:8px}.question-register-heading svg{color:var(--green-2)}.question-register-heading h4{font-size:.86rem;text-transform:uppercase}.question-register-heading>span{color:var(--muted);font-size:.72rem;font-weight:900}.question-register{display:grid;gap:10px;padding:14px 18px 18px}.bid-question{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:7px}.bid-question>header{display:grid;grid-template-columns:38px minmax(0,1fr) 140px;align-items:center;gap:10px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-question>header>span{display:grid;width:34px;height:30px;place-items:center;color:#fff;font-size:.72rem;font-weight:900;background:var(--green);border-radius:5px}.bid-question>header strong,.bid-question>header small{display:block}.bid-question>header strong{font-size:.78rem}.bid-question>header small{margin-top:2px;color:var(--muted);font-size:.67rem}.bid-question>header select{min-height:34px;font-size:.7rem;font-weight:850}.bid-question>p{padding:12px;color:var(--ink);font-size:.84rem;font-weight:750;line-height:1.45}.bid-question>details{margin:0 12px 10px;color:var(--muted);font-size:.72rem}.bid-question>details summary{cursor:pointer;font-weight:850}.bid-question>details p{margin-top:6px;padding:8px;background:var(--field);border-radius:5px}.bid-question>label{margin:0 12px 11px}.bid-question>footer{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 12px;background:var(--panel-soft);border-top:1px solid var(--line)}.bid-question>footer .danger-icon-button{margin-left:auto}:root[data-theme=dark] .question-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .question-deadline-status--open{color:#b9f2e6;background:#153c36;border-color:#2c6f64}:root[data-theme=dark] .question-deadline-status--warning{color:#fed7aa;background:#4a2b16;border-color:#7c4a24}:root[data-theme=dark] .question-deadline-status--closed{color:#fecaca;background:#4a1d1d;border-color:#7f2d2d}@media(max-width:760px){.bid-compliance-add{grid-template-columns:1fr}.bid-question-workspace>header{align-items:flex-start;flex-direction:column}.question-admin-grid,.question-composer-fields{grid-template-columns:1fr}.question-composer-actions{align-items:stretch;flex-direction:column}.bid-question>header{grid-template-columns:38px minmax(0,1fr)}.bid-question>header select{grid-column:1 / -1}.bid-question>footer>button:not(.danger-icon-button){flex:1 1 135px}}.project-panel{display:flex;flex-direction:column;gap:14px;padding:14px}.panel-heading,.list-heading,.map-title{display:flex;align-items:center;gap:9px}.panel-heading h2,.panel-heading h3,.list-heading h3,.map-title h2{color:var(--ink);font-size:1rem;line-height:1.15}.panel-heading svg,.list-heading svg,.map-title svg{color:var(--green-2);flex:0 0 auto}.panel-heading--small{margin-bottom:4px}.project-list{display:grid;gap:8px;max-height:38vh;overflow:auto;padding-right:3px}.project-row-shell{position:relative}.project-row-shell .project-row{padding-right:47px}.project-delete-button{position:absolute;top:50%;right:8px;display:grid;width:32px;height:32px;place-items:center;color:var(--red);background:var(--panel);border:1px solid var(--line);border-radius:5px;transform:translateY(-50%)}.project-delete-button:hover:not(:disabled){color:#fff;background:var(--red);border-color:var(--red)}.project-delete-button:disabled{cursor:not-allowed;opacity:.42}.project-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;color:var(--ink);text-align:left;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px}.project-row.is-selected{color:#fff;background:#1b6f65;border-color:#175c54}.project-row strong,.project-row small{display:block}.project-row small{margin-top:4px;color:inherit;opacity:.72}.project-row em{padding:5px 8px;color:inherit;font-size:.73rem;font-style:normal;font-weight:800;background:#143d3617;border-radius:999px;white-space:nowrap}.project-row.is-selected em{background:#ffffff29}.create-project-form{display:grid;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.utility-selector,.workspace-utilities{min-width:0;margin:0;padding:0;border:0}.utility-selector legend,.workspace-utilities legend{margin-bottom:7px;color:var(--muted);font-size:.76rem;font-weight:800}.utility-selector>div,.workspace-utilities>div{display:flex;flex-wrap:wrap;gap:6px}.utility-option{--utility-color: #64748b;display:inline-flex;grid-template-columns:none;align-items:center;gap:6px;min-height:34px;padding:0 9px;color:#526170;background:#fff;border:1px solid #cbd4de;border-left:3px solid var(--utility-color);border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.utility-option:hover{border-color:var(--utility-color)}.utility-option input{width:15px;height:15px;min-height:0;margin:0;padding:0;accent-color:var(--utility-color)}.utility-option span{font-size:.72rem;font-weight:850}.utility-option.is-selected{color:var(--ink);background:color-mix(in srgb,var(--utility-color) 11%,white);border-color:color-mix(in srgb,var(--utility-color) 58%,white)}.utility-option--gas{--utility-color: #d97706}.utility-option--water{--utility-color: #2563eb}.utility-option--sewer{--utility-color: #15803d}.utility-option--electric{--utility-color: #ca8a04}.utility-option--fiber{--utility-color: #7c3aed}.workspace-utilities{padding:0 18px 15px}.primary-button:disabled{cursor:not-allowed;opacity:.48}label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:800}input,select{width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid rgba(24,42,36,.2);border-radius:7px;outline:none;padding:8px 10px}input:focus,select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #1b7f7126}.form-row{display:grid;grid-template-columns:.7fr 1fr;gap:8px}.primary-button,.icon-button,.quick-actions button,.segmented-controls button,.pin-popover button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid transparent;border-radius:8px;font-weight:900}.voice-note-control{position:absolute;z-index:6;right:16px;bottom:16px;display:grid;justify-items:end;gap:8px}.record-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 17px;color:#fff;font-weight:900;background:var(--red);border:2px solid #fff;border-radius:8px;box-shadow:0 14px 32px #37201b4d}.record-button:hover:not(:disabled){transform:translateY(-1px)}.record-button:disabled{cursor:wait;opacity:.8}.record-button.is-recording{background:#8d291f;animation:recording-glow 1.4s ease-in-out infinite}.voice-note-toast{max-width:310px;padding:9px 11px;color:var(--ink);font-size:.8rem;font-weight:800;background:#fffdf7f5;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.spin{animation:spin .9s linear infinite}.primary-button{color:#fff;background:var(--green)}.primary-button:hover,.icon-button:hover,.quick-actions button:hover,.segmented-controls button:hover{transform:translateY(-1px)}.map-panel{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.map-toolbar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.map-title p{margin-top:3px;color:var(--muted);font-size:.84rem}.segmented-controls{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--field);border:1px solid var(--line);border-radius:8px}.segmented-controls button{min-width:102px;color:var(--muted);background:transparent}.segmented-controls button.is-selected{color:#fff;background:var(--green-2);box-shadow:0 7px 18px #1b7f7138}.icon-button{padding:0 12px;color:var(--green);background:#fff;border-color:var(--line)}.icon-button.is-active{color:#fff;background:var(--green-2);border-color:var(--green-2)}.map-canvas-shell{position:relative;width:100%;min-width:0;max-width:100%;min-height:640px;overflow:hidden;background:#d5dbd2}.map-canvas{position:absolute;inset:0;min-width:0;max-width:100%}.map-canvas.leaflet-container{width:100%;height:100%;background:#d9e2e8;font-family:inherit}.open-map-live-icon,.open-map-pin-icon{background:transparent;border:0}.open-map-live-icon .map-live-marker,.open-map-pin-icon .map-project-pin{display:block}.map-canvas .leaflet-control-zoom a{color:#17212b}.map-canvas .leaflet-control-attribution{max-width:min(72%,520px);color:#526170;font-size:9px}.map-canvas-shell--missing-key .map-canvas,.map-canvas-shell--loading .map-canvas,.map-canvas-shell--error .map-canvas{display:none}.fallback-map{position:absolute;inset:0;overflow:hidden;background:#d9dfd5}.fallback-map__grid{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,61,54,.18) 1px,transparent 1px),linear-gradient(rgba(20,61,54,.18) 1px,transparent 1px);background-size:52px 52px}.fallback-map__roads span{position:absolute;display:block;height:22px;background:#fffdf7e0;border:1px solid rgba(20,61,54,.12);box-shadow:0 0 0 5px #d56b2d1f}.fallback-map__roads span:nth-child(1){width:120%;left:-10%;top:34%;transform:rotate(-10deg)}.fallback-map__roads span:nth-child(2){width:88%;left:28%;top:62%;transform:rotate(26deg)}.fallback-map__roads span:nth-child(3){width:26px;height:120%;left:45%;top:-8%;transform:rotate(7deg)}.fallback-map__marker{position:absolute;left:50%;top:50%;width:28px;height:28px;border-radius:50%;background:var(--green-2);box-shadow:0 0 0 12px #1b7f712b;transform:translate(-50%,-50%)}.fallback-map__marker span,.map-live-marker__pulse{position:absolute;inset:-12px;border:2px solid rgba(27,127,113,.42);border-radius:50%;animation:pulse 1.6s ease-out infinite}.fallback-map__message{position:absolute;left:16px;bottom:16px;display:grid;grid-template-columns:auto 1fr;gap:8px;max-width:min(420px,calc(100% - 32px));padding:12px;color:var(--ink);background:#fffdf7f0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.fallback-map__message small{grid-column:2;color:var(--muted)}.map-status-card,.pin-popover{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;color:var(--ink);background:#fffdf7f0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.map-status-card{left:16px;top:16px;min-width:min(390px,calc(100% - 32px));padding:11px 12px}.map-status-card,.pin-popover,.voice-note-control{z-index:1000}.map-status-card small{display:block;margin-top:2px;color:var(--muted)}.map-status-card .background-gps-state{color:#0f766e;font-weight:700}.map-status-card .map-status-error{color:var(--red);font-weight:800}.install-download-link{align-items:center;display:inline-flex;gap:8px;justify-content:center;text-decoration:none}.status-dot{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 8px #b8463521}.status-dot.is-live{background:var(--green-2);box-shadow:0 0 0 8px #1b7f7126}.pin-popover{right:16px;bottom:16px;align-items:flex-start;flex-direction:column;padding:12px}.pin-popover small{color:var(--muted)}.pin-popover button{min-height:31px;padding:0 10px;color:#fff;background:var(--green)}.map-live-marker,.map-accuracy-halo,.map-project-pin{position:absolute;left:0;top:0;will-change:transform;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.map-live-marker{z-index:2;width:30px;height:30px;pointer-events:none}.map-live-marker__dot{position:absolute;inset:6px;background:var(--green-2);border:3px solid #fff;border-radius:50%;box-shadow:0 5px 14px #143d3661}.map-accuracy-halo{z-index:1;border-radius:50%;background:#1b7f7121;border:1px solid rgba(27,127,113,.28);pointer-events:none}.map-project-pin{width:26px;height:34px;background:var(--orange);border:3px solid #fff;border-radius:50% 50% 50% 6px;box-shadow:0 8px 20px #19211f59;transform-origin:50% 100%}.map-project-pin span{position:absolute;left:50%;top:49%;width:8px;height:8px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}.map-project-pin--crossing,.map-project-pin--tiein{background:var(--gold)}.map-project-pin--audio{background:var(--red)}.map-project-pin--photo{background:#2563eb}.map-project-pin--video{background:#7c3aed}.map-project-pin--audio span{width:7px;height:11px;border-radius:5px}.field-capture-control{position:absolute;z-index:1000;right:16px;bottom:16px;display:grid;gap:7px;width:min(470px,calc(100% - 32px))}.capture-location-label{justify-self:end;display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 9px;color:#344454;font-size:.7rem;font-weight:850;background:#fffffff5;border:1px solid #cbd4de;border-radius:5px;box-shadow:0 5px 18px #0f172a24}.capture-location-label svg{color:var(--orange)}.field-capture-actions{display:grid;grid-template-columns:minmax(210px,1fr) 82px 82px;gap:7px}.voice-note-control--embedded{position:static;display:block}.voice-note-control--embedded .record-button{width:100%;height:48px;border-width:1px}.field-capture-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:48px;padding:0 9px;color:#fff;font-weight:850;background:#2563eb;border:1px solid #174fb7;border-radius:6px;box-shadow:0 9px 24px #0f172a33}.field-capture-actions>button:last-of-type{background:#7c3aed;border-color:#6425c7}.field-capture-actions>button:disabled{cursor:not-allowed;opacity:.5}.field-capture-toast{justify-self:end;padding:8px 10px;color:var(--ink);font-size:.74rem;font-weight:800;background:#fffffff7;border:1px solid var(--line);border-radius:5px;box-shadow:var(--shadow)}.field-media-modal{width:min(760px,100%)}.field-media-preview{display:grid;min-height:260px;max-height:58vh;place-items:center;overflow:hidden;color:var(--muted);background:#0f1720;border:1px solid #263442;border-radius:5px}.field-media-preview img,.field-media-preview video{display:block;width:100%;max-height:58vh;object-fit:contain}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:18px;background:#0a151294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.voice-note-modal{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px;color:var(--ink);background:var(--panel);border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 28px 80px #050f0c6b}.voice-note-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.voice-note-modal h2{margin-top:3px;font-size:1.24rem}.modal-kicker,.transcript-block>span,.voice-note-details span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.modal-close{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;color:var(--ink);background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.audio-player-shell{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:18px;padding:12px;background:#eef3ed;border:1px solid var(--line);border-radius:8px}.audio-player-shell audio{width:100%;min-width:0}.audio-player-shell span,.audio-player-shell small{color:var(--muted);font-weight:800}.transcript-block{margin-top:14px;padding:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green-2);border-radius:6px}.transcript-block p{margin-top:8px;line-height:1.55}.transcript-pending{display:flex;align-items:center;gap:8px;color:var(--muted)}.voice-note-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.voice-note-details div{min-width:0;padding:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.voice-note-details strong{display:block;margin-top:5px;overflow-wrap:anywhere}.coordinate-line{display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--muted);font-size:.82rem;font-weight:800}.details-panel{display:grid;align-content:start;gap:14px}.workspace-card{display:grid;gap:14px;padding:14px}.project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.project-meta div{min-height:72px;padding:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px}.project-meta span,.schema-row span,.cost-row small{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.project-meta strong{display:block;margin-top:7px;color:var(--ink);overflow-wrap:anywhere}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.quick-actions button{min-width:0;padding:8px 4px;color:var(--green);background:#fff;border-color:var(--line)}.cost-list,.schema-list{display:grid;gap:8px}.list-heading{margin-bottom:2px}.cost-row,.schema-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px}.cost-row strong,.schema-row strong{display:block;color:var(--ink)}.cost-row em{color:var(--green);font-style:normal;font-weight:900;white-space:nowrap}.empty-state{padding:12px;color:var(--muted);background:var(--panel-soft);border:1px dashed rgba(20,61,54,.24);border-radius:8px}@keyframes pulse{0%{opacity:.6;transform:scale(.45)}to{opacity:0;transform:scale(1.4)}}@keyframes recording-glow{50%{box-shadow:0 0 0 10px #b8463538,0 14px 32px #37201b4d}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1280px){.workspace-grid{grid-template-columns:310px minmax(520px,1fr)}.details-panel{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.workspace-grid--documents{grid-template-columns:300px minmax(0,1fr)}.itb-layout{grid-template-columns:minmax(280px,.45fr) minmax(390px,1fr)}.takeoff-workspace{grid-template-columns:minmax(260px,.38fr) minmax(520px,1fr)}}@media(max-width:920px){.topbar,.map-toolbar{align-items:stretch;grid-template-columns:1fr}.topbar{display:grid}.topbar-stats,.workspace-grid,.details-panel,.workspace-grid--documents,.itb-layout{grid-template-columns:1fr}.topbar-stats{min-width:0}.project-panel,.map-panel,.details-panel{min-height:0}.map-canvas-shell{min-height:560px}.upload-panel{border-right:0;border-bottom:1px solid var(--line)}.itb-layout{min-height:0}.takeoff-workspace,.proposal-workspace{grid-template-columns:1fr}.drawing-upload-panel{border-right:0;border-bottom:1px solid var(--line)}.markup-panel{width:100%}}@media(max-width:620px){.app-shell{padding:10px}.topbar-stats,.project-meta,.quick-actions,.form-row,.segmented-controls{grid-template-columns:1fr}.segmented-controls button{min-width:0}.map-canvas-shell{min-height:520px}.map-status-card{min-width:0;right:16px}.record-button span{max-width:180px}.voice-note-details{grid-template-columns:1fr}.view-tabs{display:grid;grid-template-columns:1fr}.itb-header,.results-heading{align-items:flex-start;flex-direction:column}.queued-document{grid-template-columns:auto minmax(0,1fr) auto}.queued-document select{grid-column:2 / -1}.summary-table-row,.spec-grid,.spec-breakdown-metrics,.spec-breakdown-table__head,.spec-breakdown-table__row{grid-template-columns:1fr}.spec-breakdown-table__head{display:none}.summary-label{border-right:0;border-bottom:1px solid var(--line)}.takeoff-header,.proposal-sheet>header{align-items:flex-start;flex-direction:column}.takeoff-total{width:100%;text-align:left}.module-tabs{grid-template-columns:1fr}.module-tabs button.is-selected{box-shadow:inset 3px 0 var(--green-2)}.proposal-metrics{grid-template-columns:repeat(2,1fr)}}.map-toolbar{grid-template-columns:minmax(190px,1fr) auto auto auto}.tracking-button,.voice-command-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 12px;color:#fff;font-weight:900;background:#08756c;border:1px solid #07645c;border-radius:5px}.tracking-button.is-stopping{color:#9f241f;background:#fff;border-color:#d9918c}.voice-command-button{width:100%;min-height:40px;background:#172533;border-color:#2d4254;box-shadow:0 8px 22px #0f172a33}.voice-command-button.is-listening{color:#073d38;background:#bdf0e6;border-color:#5bc3b0}.voice-listening-indicator{margin-left:auto;color:#0f766e;animation:voice-command-pulse 1.25s ease-in-out infinite}@keyframes voice-command-pulse{0%,to{opacity:.45}50%{opacity:1}}:root[data-theme=dark] .tracking-button.is-stopping{color:#fecaca;background:#3f2020;border-color:#8b4545}:root[data-theme=dark] .voice-command-button{background:#0d151c;border-color:#3a4e5d}:root[data-theme=dark] .voice-command-button.is-listening{color:#d9fff7;background:#12453e;border-color:#318b7d}@media(max-width:1180px)and (min-width:921px){.map-toolbar{grid-template-columns:1fr auto auto}.map-title{grid-column:1 / -1}}@media(max-width:920px){.map-toolbar{grid-template-columns:1fr 1fr}.map-title,.segmented-controls{grid-column:1 / -1}}@media(max-width:620px){.segmented-controls{grid-template-columns:repeat(3,1fr)}.tracking-button,.icon-button{min-width:0;padding-inline:8px}.voice-command-button span{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}}:root{--ink: #17212b;--muted: #667382;--line: #d9e0e7;--panel: #ffffff;--panel-soft: #f7f9fb;--field: #eef2f5;--green: #17212b;--green-2: #0f766e;--gold: #f5b942;--orange: #ea6a20;--red: #c2413b;--blue: #2563eb;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .06)}.app-crash-screen{display:grid;min-height:100dvh;place-items:center;padding:22px;color:#17212b;background:#eef2f5}.app-crash-screen section{width:min(620px,100%);padding:26px;background:#fff;border:1px solid #cbd4de;border-top:5px solid #c2413b;border-radius:8px;box-shadow:0 24px 70px #0f172a33}.app-crash-screen span{color:#0f766e;font-size:.72rem;font-weight:900;text-transform:uppercase}.app-crash-screen h1{margin-top:8px;font-size:1.35rem}.app-crash-screen p{margin-top:9px;color:#526170;line-height:1.5}.app-crash-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.app-crash-actions button{min-height:40px;padding:0 13px;color:#fff;font-weight:900;background:#17212b;border:1px solid #17212b;border-radius:5px}.app-crash-actions button+button{color:#344454;background:#fff;border-color:#cbd4de}.app-crash-screen details{margin-top:16px;color:#526170;font-size:.78rem}.app-crash-screen pre{overflow:auto;max-height:180px;padding:10px;color:#17212b;background:#f7f9fb;border:1px solid #d9e0e7;border-radius:5px;white-space:pre-wrap}html{color-scheme:light;background:#eef2f5}body{color:var(--ink);background:#eef2f5}button,input,select{letter-spacing:0}button,input,select,[role=button]{transition:border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:1px;border-color:var(--blue)}button:active:not(:disabled){transform:translateY(1px)}input,select{color:var(--ink);background:#fff;border:1px solid #cbd4de;border-radius:5px}input:hover,select:hover{border-color:#9eacba}.app-shell{width:100%;max-width:1920px;padding:0 20px 20px}.topbar{display:grid;grid-template-columns:minmax(210px,max-content) minmax(0,1fr);align-items:center;gap:14px;min-height:72px;margin:0 -20px;padding:12px 20px;color:#fff;background:#17212b;border:0;border-bottom:3px solid var(--orange);border-radius:0;box-shadow:0 4px 18px #0d161f2e}.brand-lockup,.topbar-right,.app-utilities,.network-state,.install-app-button{display:flex;align-items:center}.brand-lockup{gap:11px;min-width:0}.brand-mark{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:var(--orange);border-radius:6px}.brand-lockup .eyebrow{margin-bottom:2px;color:#9fb0c0;font-size:.66rem}.brand-lockup h1{font-size:1.22rem;line-height:1.1}.topbar-right{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px 10px}.topbar-stats{display:grid;flex:0 1 300px;grid-template-columns:repeat(3,minmax(70px,1fr));min-width:230px;max-width:330px;gap:0}.app-project-switcher{display:grid;flex:1 1 260px;gap:4px;min-width:220px;max-width:340px;padding:7px 9px;color:#dbeafe;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:6px}.app-project-switcher span{color:#9fb0c0;font-size:.62rem;font-weight:900;line-height:1;text-transform:uppercase}.app-project-switcher-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;align-items:center}.app-project-switcher select{width:100%;min-width:0;height:36px;padding:0 9px;color:#17212b;font-size:.78rem;font-weight:850;background:#fff;border:1px solid #526577;border-radius:5px}.app-project-switcher button{display:grid;width:38px;height:36px;place-items:center;color:#17212b;background:#f5c84c;border:1px solid #f5c84c;border-radius:5px}.summary-pill{min-width:0;padding:4px 10px;background:transparent;border:0;border-left:1px solid #354453;border-radius:0}.summary-pill:first-child{border-left:0}.summary-pill span{color:#9fb0c0;font-size:.65rem}.summary-pill strong{overflow:hidden;text-overflow:ellipsis;margin-top:3px;color:#fff;font-size:1rem;white-space:nowrap}.summary-pill--teal strong{color:#5eead4}.summary-pill--amber strong{color:#fcd34d}.summary-pill--blue strong{color:#93c5fd}.role-sync-pill{display:grid;flex:0 1 138px;gap:2px;min-width:112px;min-height:38px;padding:5px 10px;color:#dbeafe;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:6px}.role-sync-pill span,.role-sync-pill small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-sync-pill span{color:#fff;font-size:.68rem;font-weight:900}.role-sync-pill small{color:#aebdcc;font-size:.62rem;font-weight:800}.app-utilities{position:relative;flex:0 1 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.network-state{gap:5px;color:#a7b4c1;font-size:.72rem;font-weight:700}.network-state.is-online svg{color:#2dd4bf}.network-state.is-offline svg{color:#fbbf24}.install-app-button{flex:0 1 auto;justify-content:center;gap:7px;min-height:37px;padding:0 12px;color:#fff;font-size:.78rem;font-weight:800;background:#263442;border:1px solid #415160;border-radius:6px}.share-app-button{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 12px;color:#17212b;font-size:.78rem;font-weight:800;background:#fbbf24;border:1px solid #d99b08;border-radius:6px}.share-app-button:hover{background:#f6ad0a}.update-app-button{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 12px;color:#dbeafe;font-size:.78rem;font-weight:800;background:#1e3a5f;border:1px solid #3b6b9e;border-radius:6px}.update-app-button:hover:not(:disabled){color:#fff;background:#28517e}.update-app-button--offline,.update-app-button--failed{color:#fde68a;border-color:#9a6b1f}.update-app-button:disabled{cursor:wait;opacity:.8}.safe-update-note{position:absolute;top:calc(100% + 6px);right:0;z-index:3;padding:5px 8px;color:#d1fae5;font-size:.66rem;font-weight:850;white-space:nowrap;background:#0f513d;border:1px solid #34d399;border-radius:5px;box-shadow:0 8px 18px #0f172a2e}.install-app-button:hover:not(:disabled){background:#344556;border-color:#647585}.install-app-button:disabled{color:#7dd3fc;cursor:default;opacity:.82}.cloud-status-button{display:inline-flex;flex:0 1 190px;align-items:center;gap:6px;max-width:190px;min-height:37px;min-width:0;padding:0 10px;color:#d7e2ec;font-size:.67rem;font-weight:900;background:#243241;border:1px solid #45586b;border-radius:5px;white-space:nowrap}.cloud-status-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.cloud-status-button--live{color:#9ff1df;border-color:#2b776c}.cloud-status-button--conflict,.cloud-status-button--error{color:#ffd0d0;border-color:#9f4a4a}.cloud-status-button--degraded{color:#fde68a;border-color:#b7791f}.cloud-status-button--syncing{color:#bfdbfe}.cloud-dialog-backdrop{position:fixed;inset:0;z-index:9000;display:grid;padding:18px;place-items:center;background:#0a121aad}.cloud-dialog{position:relative;width:min(480px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;padding:24px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-top:4px solid #0f8a7d;border-radius:7px;box-shadow:0 24px 70px #0000004d}.cloud-dialog>svg{color:#0f8a7d}.cloud-dialog h2{margin:8px 0 0;font-size:1.2rem}.cloud-dialog>p,.cloud-dialog form>p{margin:9px 0 16px;color:var(--muted);font-size:.76rem;line-height:1.5}.cloud-dialog-close{position:absolute;top:10px;right:10px;display:grid;width:33px;height:33px;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px}.cloud-dialog dl{margin:14px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:5px}.cloud-dialog dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px 10px;border-bottom:1px solid var(--line)}.cloud-dialog dl>div:last-child{border-bottom:0}.cloud-dialog dt{color:var(--muted);font-size:.65rem;font-weight:900}.cloud-dialog dd{margin:0;font-size:.68rem;font-weight:800}.cloud-dialog form label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:900}.cloud-dialog form label>div{display:flex;align-items:center;gap:7px;min-height:41px;padding:0 9px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:5px}.cloud-dialog form input,.cloud-dialog form select{width:100%;min-width:0;min-height:37px;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font:inherit}.cloud-dialog form>button{width:100%;margin-top:12px}.cloud-link-button{width:100%;min-height:34px;margin-top:6px;color:var(--green);background:transparent;border:0;font-size:.74rem;font-weight:900;text-decoration:underline;cursor:pointer}.cloud-signout{margin:-5px 0 12px}.cloud-signout button{justify-content:center}.cloud-session-state{display:flex;align-items:center;gap:9px;margin-bottom:13px;padding:10px;color:#0f766e;background:#dff5ee;border:1px solid #a9ddd0;border-radius:5px}.cloud-session-state strong,.cloud-session-state small{display:block}.cloud-session-state strong{font-size:.73rem}.cloud-session-state small{margin-top:2px;font-size:.62rem}.cloud-refresh-button{width:100%;justify-content:center;margin:-4px 0 14px}.cloud-dialog-notice{padding:9px 10px;color:#0e5b50!important;font-weight:800;background:#dff5ee;border:1px solid #a9ddd0;border-radius:4px}.cloud-admin{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.cloud-admin h3{margin:0 0 12px;font-size:.9rem}.cloud-issued{display:grid;gap:8px;margin-top:14px;padding:12px;background:var(--field);border:1px solid var(--line);border-radius:5px}.cloud-issued>span,.cloud-codes h4{color:var(--muted);font-size:.7rem;font-weight:800}.cloud-issued code{overflow-wrap:anywhere;font-size:.84rem;font-weight:800}.cloud-issued button{justify-self:start}.cloud-codes{margin-top:16px}.cloud-codes h4{margin:0 0 7px}.cloud-codes>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.cloud-codes>div span{display:grid;gap:2px;min-width:0}.cloud-codes strong{overflow-wrap:anywhere;font-size:.72rem}.cloud-codes small{color:var(--muted);font-size:.66rem}.cloud-conflict-actions{display:grid;gap:9px;margin:16px 0 0;padding:12px;background:var(--field);border:1px solid var(--line);border-radius:5px}.cloud-conflict-actions p{margin:0;color:var(--ink);font-size:.78rem;line-height:1.45}:root[data-theme=dark] .cloud-session-state,:root[data-theme=dark] .cloud-dialog-notice{color:#b9f2e6!important;background:#133b35;border-color:#286b61}@media(max-width:1260px){.cloud-status-button span{display:none}.cloud-status-button{width:38px;padding:0;justify-content:center}}.install-help{position:absolute;z-index:80;top:calc(100% + 14px);right:0;width:min(330px,calc(100vw - 28px));padding:20px;color:var(--ink);background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:7px;box-shadow:0 20px 55px #0f172a3d}.install-help__close{position:absolute;top:10px;right:10px;display:grid;width:32px;height:32px;place-items:center;color:var(--muted);background:transparent;border:0}.install-help__icon{display:grid;width:42px;height:42px;place-items:center;color:var(--blue);background:#eff6ff;border-radius:6px}.install-help h2{margin-top:13px;font-size:1rem}.install-help p{margin:7px 0 16px;color:var(--muted);font-size:.82rem;line-height:1.5}.install-help .primary-button{width:100%}.share-install{width:min(370px,calc(100vw - 28px))}.share-warning{padding:10px;color:#854d0e!important;background:#fffbeb;border:1px solid #fde68a;border-radius:5px}.share-phone-label{display:grid;gap:6px;color:#425466;font-size:.74rem;font-weight:800}.share-phone-label input{width:100%;min-height:42px;padding:8px 10px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.share-actions .primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin:0;border-radius:5px}.secondary-button{color:#344454;font-weight:800;background:#fff;border:1px solid #cbd4de}.secondary-button:hover{background:#f4f7f9}.share-actions .primary-button:disabled{cursor:not-allowed;opacity:.45}.view-tabs{gap:0;margin:0 -20px;padding:0 20px;background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.view-tabs button{position:relative;min-height:52px;padding:0 18px;color:#667382;font-size:.82rem;border:0;border-radius:0}.view-tabs button:hover{color:var(--ink);background:#f7f9fb}.view-tabs button.is-selected{color:var(--ink);background:#fff;box-shadow:inset 0 -3px var(--orange)}.view-tabs button.is-selected svg{color:var(--orange)}.view-tabs button>span{min-width:19px;height:19px;color:#425466;background:#e8edf2}.workspace-grid,.workspace-grid--documents{gap:12px;margin-top:12px}.workspace-grid{grid-template-columns:310px minmax(520px,1fr) 330px}.workspace-grid--documents{grid-template-columns:310px minmax(0,1fr)}.workspace-grid>*,.workspace-grid--documents>*{min-width:0}.project-panel,.workspace-card,.map-panel,.itb-module,.takeoff-module{background:#fff;border-color:var(--line);border-radius:6px;box-shadow:var(--shadow)}.project-panel{border-top:3px solid var(--blue)}.map-panel{border-top:3px solid var(--teal, #0f766e)}.itb-module{border-top:3px solid #2563eb}.takeoff-module{border-top:3px solid var(--orange)}.panel-heading{color:var(--ink);border-bottom-color:var(--line)}.panel-heading svg{color:var(--blue)}.project-row{border-radius:5px}.project-row:hover{background:#f3f6f9;border-color:#b8c5d1}.project-row.is-selected{color:var(--ink);background:#eef6ff;border-color:#93baf8;box-shadow:inset 3px 0 var(--blue)}.project-row em{color:#08756c;background:#e8f7f4;border:1px solid #bce8e1;border-radius:4px}.primary-button,.analyze-button,.drawing-dropzone button,.pdf-dropzone button{background:var(--blue);border-radius:5px;box-shadow:0 1px 2px #2563eb38}.primary-button:hover,.analyze-button:hover:not(:disabled),.drawing-dropzone button:hover,.pdf-dropzone button:hover{background:#1d4ed8}.map-toolbar,.takeoff-header,.itb-header{min-height:68px;background:#fff}.map-title>svg{color:var(--teal, #0f766e)}.segmented-controls{padding:3px;background:#edf1f5;border:1px solid #d5dde5;border-radius:6px}.segmented-controls button{border:0;border-radius:4px}.segmented-controls button.is-selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a24}.icon-button{border-radius:5px}.icon-button.is-active{color:#08756c;background:#e8f7f4;border-color:#8ed8cc}.map-status-card{color:var(--ink);background:#fffffff5;border:1px solid #cdd7df;border-left:4px solid var(--green-2);border-radius:5px;box-shadow:0 8px 28px #0f172a2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.record-button{min-height:48px;padding:0 17px;background:var(--orange);border:1px solid #c95617;border-radius:6px;box-shadow:0 10px 25px #c2410c47}.record-button:hover:not(:disabled){background:#d95b18}.record-button.is-recording{background:var(--red);border-color:#a72d28}.module-tabs{background:#edf1f5}.module-tabs button{color:#667382;background:#f7f9fb}.module-tabs button.is-selected{color:var(--ink);box-shadow:inset 0 -3px var(--orange)}.drawing-upload-panel,.upload-panel{background:#f4f7f9}.drawing-dropzone,.pdf-dropzone{border-color:#aab8c5;border-radius:6px}.drawing-dropzone:hover,.pdf-dropzone:hover,.pdf-dropzone:focus-visible,.pdf-dropzone.is-dragging{background:#f3f8ff;border-color:var(--blue)}.drawing-dropzone svg,.pdf-dropzone svg{color:var(--blue)}.takeoff-total,.proposal-total{background:#17212b;border-left:4px solid var(--orange);border-radius:5px}.takeoff-row--head,.rate-row--head{background:#263442}.takeoff-table,.rate-table,.summary-table{border-radius:5px}.takeoff-row:nth-child(2n),.rate-row:nth-child(2n){background:#f8fafb}.proposal-workspace{background:#e9eef2}.proposal-sheet{border-top:4px solid var(--orange);box-shadow:0 12px 34px #0f172a1f}.proposal-sheet>header{border-bottom-color:#263442}.download-proposal{background:var(--orange);border-radius:5px}.download-proposal:hover:not(:disabled){background:#cf5818}.analysis-stamp,.drawing-summary{color:#075f58;background:#e8f7f4;border-color:#bce8e1}.summary-label{color:#1f5da8;background:#f1f6fc}.spec-grid article,.spec-card{border-top-color:var(--orange);border-radius:5px}.workspace-card{border-top:3px solid #8b5cf6}.quick-actions button{min-height:62px;color:#425466;border:1px solid var(--line);border-radius:5px}.quick-actions button:hover{color:var(--blue);background:#f3f8ff;border-color:#9bbcf0}.cost-row,.schema-row,.empty-state,.markup-panel{border-radius:5px}.modal-backdrop{background:#0b1219ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.voice-note-modal{border-top:4px solid var(--orange);border-radius:7px;box-shadow:0 28px 80px #0000004d}@media(max-width:1500px){.workspace-grid{grid-template-columns:290px minmax(500px,1fr)}.details-panel{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.workspace-grid--documents{grid-template-columns:290px minmax(0,1fr)}}@media(max-width:980px){.topbar{grid-template-columns:1fr;align-items:stretch}.topbar-right{flex-wrap:wrap;justify-content:flex-start}.summary-pill{min-width:84px;padding-inline:10px}.summary-pill--blue{display:none}.role-sync-pill{min-width:118px}.app-project-switcher{flex:1 1 260px;min-width:240px;max-width:none}.workspace-grid,.workspace-grid--documents,.details-panel,.itb-layout{grid-template-columns:1fr}.project-panel{min-height:0}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px}}@media(max-width:700px){body{padding-bottom:env(safe-area-inset-bottom)}.app-shell{padding:0 10px 82px}.topbar{grid-template-columns:1fr;margin:0 -10px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.brand-mark{width:38px;height:38px}.brand-lockup{min-width:0}.brand-lockup h1{font-size:1rem}.topbar-stats,.network-state{display:none}.topbar-right{width:100%}.app-project-switcher{flex:1 1 100%;min-width:0;width:100%}.role-sync-pill{flex:1 1 100%;min-width:0}.app-utilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.install-app-button,.share-app-button{width:100%;height:40px;padding:0 11px}.share-app-button span{display:inline}.update-app-button{width:100%;height:40px;padding:0 11px}.update-app-button span{display:inline}.view-tabs{position:fixed;z-index:60;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0 4px env(safe-area-inset-bottom);border-top:1px solid #cbd4de;box-shadow:0 -8px 24px #0f172a1f}.view-tabs button{flex-direction:column;gap:3px;min-height:64px;padding:5px 2px 3px;font-size:.66rem;line-height:1.05}.view-tabs button>span{position:absolute;top:5px;right:calc(50% - 23px);min-width:16px;height:16px;font-size:.6rem}.view-tabs button.is-selected{box-shadow:inset 0 3px var(--orange)}.workspace-grid,.workspace-grid--documents{margin-top:10px}.project-list,.project-meta,.form-row{grid-template-columns:1fr}.project-panel{max-height:420px;overflow:auto}.map-toolbar{gap:10px;padding:12px}.segmented-controls{grid-template-columns:repeat(3,1fr)}.segmented-controls button span{font-size:.66rem}.map-canvas-shell{min-height:58vh}.map-status-card{right:10px;bottom:auto;left:10px;height:auto;min-height:58px;max-height:78px}.field-capture-control{right:10px;bottom:10px;left:10px;width:auto}.field-capture-actions{grid-template-columns:minmax(0,1fr) 68px 68px}.field-capture-actions>button{flex-direction:column;gap:2px;padding:3px;font-size:.66rem}.voice-note-control--embedded .record-button span{max-width:none;font-size:.72rem}.capture-location-label{justify-self:stretch;justify-content:center}.takeoff-header,.itb-header{padding:14px}.module-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.module-tabs button{flex-direction:column;gap:3px;min-height:58px;padding:4px;font-size:.68rem;line-height:1.1}.module-tabs button.is-selected{box-shadow:inset 0 -3px var(--orange)}.proposal-workspace,.takeoff-table-wrap,.rate-book,.analysis-results{padding:12px}.proposal-sheet{padding:15px}.install-help{position:fixed;top:auto;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;width:auto}input,select,textarea{min-height:44px;font-size:16px!important}.utility-option input{width:16px;height:16px;min-height:16px}button{touch-action:manipulation}}.theme-toggle{align-items:center;display:inline-flex;gap:7px;min-height:36px;padding:0 11px;color:#f7faf9;font-weight:800;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:7px}.project-count{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:800}.portfolio-tools{display:grid;gap:8px;padding:0 12px 12px;border-bottom:1px solid var(--line)}.project-search{align-items:center;display:grid;gap:5px;min-height:58px;padding:8px 10px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:6px}.project-search span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.project-search select{width:100%;min-width:0;min-height:36px;padding:6px 8px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:4px;outline:0;font:inherit;font-weight:800}.portfolio-tools>select{min-height:38px}.portfolio-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.portfolio-actions button{align-items:center;display:inline-flex;justify-content:center;gap:6px;min-height:36px;color:var(--ink);font-weight:800;background:var(--panel);border:1px solid var(--line);border-radius:6px}.portfolio-dialog{position:fixed;z-index:5000;top:50%;left:50%;display:grid;width:min(460px,calc(100vw - 32px));gap:12px;padding:24px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 30px 90px #00000059;transform:translate(-50%,-50%)}.portfolio-dialog>svg{color:var(--green-2)}.portfolio-dialog p{color:var(--muted);line-height:1.5}.portfolio-import-message{padding:9px;background:var(--field);border-left:3px solid var(--green-2)}.material-schedule{min-height:680px;padding:18px;overflow-x:auto}.material-schedule .results-heading small{display:block;margin-top:4px;color:var(--muted)}.material-report-actions{display:flex;flex-wrap:wrap;gap:8px}.material-report-actions .secondary-button{white-space:nowrap}@media(max-width:700px){.material-schedule .results-heading{align-items:stretch}.material-report-actions{width:100%}}.materials-table{min-width:860px;margin-top:14px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.materials-row{display:grid;grid-template-columns:minmax(260px,1.5fr) 100px 115px minmax(180px,1fr) 120px;align-items:center;gap:10px;min-height:54px;padding:8px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.materials-row:last-child{border-bottom:0}.materials-row--head{min-height:38px;color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase;background:var(--green)}.materials-row div strong,.materials-row div small{display:block}.materials-row small{color:var(--muted);font-size:.7rem;line-height:1.35}.materials-row div small{margin-top:3px}.materials-row>strong:last-child{color:var(--green-2);text-align:right}.bid-builder{background:var(--field)}.bid-cost-inputs{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.markup-panel .bid-cost-inputs label{border-bottom:0;font-weight:800}.markup-panel .bid-cost-inputs input{width:112px}.bid-readiness{margin:0;color:var(--orange);font-size:.8rem;line-height:1.4}.bid-form{padding:18px;background:var(--panel);border-bottom:1px solid var(--line)}.bid-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-top:14px}.bid-form label{display:grid;gap:5px;color:var(--muted);font-size:.73rem;font-weight:800}.bid-form input,.bid-form textarea{width:100%;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.bid-form input{min-height:39px;padding:7px 9px}.bid-form textarea{padding:9px;resize:vertical}.bid-form-wide{margin-top:10px}:root[data-theme=dark]{color:#eef4f2;background:#0c1216;--ink: #eef4f2;--muted: #a7b5b9;--line: rgba(194, 215, 221, .16);--panel: #18232b;--panel-soft: #111a20;--field: #22313b;--green: #0f766e;--green-2: #2dd4bf;--gold: #f5c84c;--orange: #fb923c;--red: #f87171;--shadow: 0 18px 50px rgba(0, 0, 0, .32)}:root[data-theme=sunlight]{color:#07150f;background:#fff7d1;--ink: #07150f;--muted: #324039;--line: rgba(5, 30, 19, .34);--panel: #fffdf0;--panel-soft: #fff2b8;--field: #fff8d9;--green: #063f32;--green-2: #006b5a;--gold: #f5b301;--orange: #b9470e;--red: #a71f1f;--shadow: 0 14px 36px rgba(5, 20, 12, .18)}:root[data-theme=sunlight] body{background:linear-gradient(90deg,rgba(6,63,50,.12) 1px,transparent 1px),linear-gradient(rgba(6,63,50,.12) 1px,transparent 1px),#fff7d1;background-size:48px 48px}:root[data-theme=sunlight] .topbar,:root[data-theme=sunlight] .home-dashboard-header{color:#fff;background:#052f27;border-bottom-color:#ffb020}:root[data-theme=sunlight] input,:root[data-theme=sunlight] select,:root[data-theme=sunlight] textarea,:root[data-theme=sunlight] .drawing-dropzone,:root[data-theme=sunlight] .pdf-dropzone{border-color:#051e136b}:root[data-theme=sunlight] button:focus-visible,:root[data-theme=sunlight] [role=button]:focus-visible{outline:3px solid #ffb020;outline-offset:2px}:root[data-theme=dark] body{background:linear-gradient(90deg,rgba(45,212,191,.04) 1px,transparent 1px),linear-gradient(rgba(45,212,191,.04) 1px,transparent 1px),#0c1216;background-size:48px 48px}:root[data-theme=dark] .topbar{background:linear-gradient(135deg,#101820,#143d36)}:root[data-theme=dark] .view-tabs,:root[data-theme=dark] .project-panel,:root[data-theme=dark] .workspace-card,:root[data-theme=dark] .map-panel,:root[data-theme=dark] .itb-module,:root[data-theme=dark] .takeoff-module,:root[data-theme=dark] .takeoff-header,:root[data-theme=dark] .itb-header,:root[data-theme=dark] .module-tabs{background:#18232bf7}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .drawing-dropzone,:root[data-theme=dark] .saved-drawing-documents,:root[data-theme=dark] .drawing-file-list>div,:root[data-theme=dark] .takeoff-row,:root[data-theme=dark] .rate-row,:root[data-theme=dark] .proposal-sheet,:root[data-theme=dark] .proposal-metrics div,:root[data-theme=dark] .proposal-template-controls label,:root[data-theme=dark] .proposal-summary-card,:root[data-theme=dark] .proposal-terms-preview,:root[data-theme=dark] .estimate-validation,:root[data-theme=dark] .estimate-validation__issue,:root[data-theme=dark] .summary-table-row,:root[data-theme=dark] .spec-grid article,:root[data-theme=dark] .spec-card,:root[data-theme=dark] .spec-breakdown-panel,:root[data-theme=dark] .spec-breakdown-metrics div,:root[data-theme=dark] .spec-breakdown-table__row,:root[data-theme=dark] .restriction-item,:root[data-theme=dark] .queued-document{color:var(--ink);background:var(--field)!important;border-color:var(--line)}:root[data-theme=dark] .spec-card.is-active{background:#17342f!important;border-color:#2dd4bf80}:root[data-theme=dark] .pipe-footage-list span{background:#17342f;border-color:#2dd4bf52}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:#f2f7f6!important;background:#22313b!important;opacity:1}:root[data-theme=dark] .module-tabs button{color:#b9c5c9;background:#162129;border-color:var(--line)}:root[data-theme=dark] .module-tabs button.is-selected{color:#fff;background:#263943}:root[data-theme=dark] .drawing-analysis-progress{background:#17342f;border-color:#2dd4bf57}:root[data-theme=dark] .project-row.is-selected{color:#fff;background:#223c47;border-color:#2dd4bf}:root[data-theme=dark] .project-row.is-selected strong,:root[data-theme=dark] .project-row.is-selected small{color:#fff}:root[data-theme=dark] .proposal-workspace{background:#10181e}:root[data-theme=dark] .drawing-summary,:root[data-theme=dark] .analysis-stamp,:root[data-theme=dark] .network-state{color:var(--ink);background:#19332f}:root[data-theme=dark] .eyebrow--dark,:root[data-theme=dark] .takeoff-row>strong,:root[data-theme=dark] .proposal-sheet header>strong,:root[data-theme=dark] .proposal-lines em{color:var(--green-2)}@media(max-width:900px){.estimate-validation__list,.estimate-validation--compact .estimate-validation__list{grid-template-columns:1fr}.proposal-template-controls label{flex:1 1 100%}}@media(max-width:980px){.bid-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:700px){.theme-toggle{min-width:42px;padding:0 10px}.theme-toggle span{display:none}.bid-form-grid{grid-template-columns:1fr}.material-schedule,.bid-form{padding:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.subcontractor-module{min-width:0;margin-top:14px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.subcontractor-header,.editor-titlebar,.editor-footer,.subcontractor-header-actions,.document-upload-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.subcontractor-header{padding:20px;border-bottom:1px solid var(--line)}.subcontractor-header h2{font-size:1.45rem}.subcontractor-header p{margin-top:4px;color:var(--muted);font-size:.86rem}.subcontractor-header-actions{justify-content:flex-end}.subcontractor-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));background:var(--panel-soft);border-bottom:1px solid var(--line)}.subcontractor-metric{display:flex;align-items:center;gap:11px;min-height:70px;padding:13px 18px;border-right:1px solid var(--line)}.subcontractor-metric:last-child{border-right:0}.subcontractor-metric>svg{color:var(--green-2)}.subcontractor-metric--amber>svg{color:var(--orange)}.subcontractor-metric--blue>svg{color:#2876a8}.subcontractor-metric small,.subcontractor-metric strong{display:block}.subcontractor-metric small{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.subcontractor-metric strong{margin-top:2px;font-size:1.28rem}.subcontractor-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:700px}.subcontractor-directory{min-width:0;background:var(--panel-soft);border-right:1px solid var(--line)}.directory-filters{padding:13px;border-bottom:1px solid var(--line)}.search-field{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:6px}.search-field input{width:100%;min-width:0;color:var(--ink);background:transparent!important;border:0;outline:0}.directory-filters>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.directory-filters select,.editor-grid input,.editor-grid select,.editor-grid textarea,.document-upload-row select,.rate-row input,.rate-row select{width:100%;min-height:39px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.contractor-list{max-height:810px;overflow:auto}.contractor-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:13px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.contractor-row:hover,.contractor-row.is-selected{background:var(--field)}.contractor-row.is-selected{box-shadow:inset 3px 0 var(--green-2)}.contractor-avatar{display:grid;width:36px;height:36px;place-items:center;color:#fff;background:var(--green);border-radius:6px}.contractor-row strong,.contractor-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contractor-row strong{font-size:.84rem}.contractor-row small{margin-top:2px;color:var(--muted);font-size:.7rem}.directory-status{display:grid;justify-items:end;gap:3px}.directory-status>small{margin:0;font-size:.63rem;font-weight:900}.directory-empty{display:grid;justify-items:center;gap:6px;padding:46px 20px;color:var(--muted);text-align:center}.directory-empty strong{color:var(--ink)}.directory-empty span{font-size:.78rem}.subcontractor-editor{min-width:0;background:var(--panel)}.editor-titlebar{min-height:72px;padding:14px 18px;border-bottom:1px solid var(--line)}.editor-titlebar>div{display:flex;align-items:center;gap:10px;min-width:0}.editor-titlebar .editor-identity{flex:1;justify-content:space-between}.editor-identity>span{display:flex;align-items:center;gap:10px;min-width:0}.editor-titlebar h3{overflow:hidden;font-size:1.12rem;text-overflow:ellipsis;white-space:nowrap}.form-notice{padding:10px 18px;color:#0e5b50;font-size:.8rem;font-weight:800;background:#dff5ee;border-bottom:1px solid #a9ddd0}.subcontractor-contact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--panel-soft);border-bottom:1px solid var(--line)}.subcontractor-contact-strip article{min-width:0;padding:11px 14px;border-right:1px solid var(--line)}.subcontractor-contact-strip article:last-child{border-right:0}.subcontractor-contact-strip span,.subcontractor-contact-strip strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcontractor-contact-strip span{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.subcontractor-contact-strip strong{margin-top:3px;color:var(--ink);font-size:.76rem}.compliance-badge{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:3px 8px;color:#8a4b15;font-size:.68rem;font-weight:900;white-space:nowrap;background:#fff0d9;border:1px solid #f1cb94;border-radius:999px}.compliance-badge>span{width:7px;height:7px;background:#d56b2d;border-radius:50%}.compliance-badge.is-compliant{color:#0d6457;background:#dcf5ed;border-color:#9bd7c7}.compliance-badge.is-compliant>span{background:#138776}.compliance-badge.is-compact{padding:3px 6px;font-size:0}.compliance-badge.is-compact:after{content:attr(class);display:none}.qualification-progress{display:grid;gap:5px;width:min(180px,32vw)}.qualification-progress>span:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.qualification-progress small{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.qualification-progress strong{color:var(--ink);font-size:.76rem}.qualification-track{height:5px;overflow:hidden;background:var(--line);border-radius:999px}.qualification-track i{display:block;height:100%;background:var(--green-2);border-radius:inherit;transition:width .18s ease}.editor-section{border-bottom:1px solid var(--line)}.editor-section>summary{display:flex;align-items:center;gap:8px;padding:12px 18px;color:var(--green);list-style:none;cursor:pointer;background:var(--panel-soft);border-bottom:1px solid var(--line)}.editor-section>summary::-webkit-details-marker{display:none}.editor-section-chevron{margin-left:auto;transition:transform .16s ease}.editor-section[open] .editor-section-chevron{transform:rotate(180deg)}.editor-section h4{margin:0;font-size:.82rem;text-transform:uppercase}.editor-section-body{padding:16px 18px 18px}.editor-grid{display:grid;gap:11px}.editor-grid--4{grid-template-columns:repeat(4,minmax(130px,1fr))}.editor-grid--2{grid-template-columns:repeat(2,minmax(220px,1fr))}.editor-grid label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:800}.editor-grid textarea{resize:vertical}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.expertise-selector{display:grid;gap:8px;justify-items:start}.expertise-selector>label{display:flex;align-items:baseline;gap:8px;color:var(--muted);font-size:.72rem;font-weight:800}.expertise-selector>label small{font-size:.68rem;font-weight:600}.expertise-selector>select{width:min(320px,100%);min-height:39px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.expertise-selected{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.expertise-selected>span{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:2px 4px 2px 9px;color:var(--ink);font-size:.73rem;font-weight:750;background:var(--panel-soft);border:1px solid var(--line);border-radius:5px}.expertise-selected button{display:grid;width:23px;height:23px;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer}.expertise-selected button:hover{color:var(--red);background:var(--field)}.coverage-grid{margin-top:14px}.travel-toggle{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center;gap:10px!important;min-height:63px;padding:10px;background:var(--field);border:1px solid var(--line);border-radius:6px}.travel-toggle input{width:18px;min-height:18px;accent-color:var(--green-2)}.travel-toggle strong,.travel-toggle small{display:block}.travel-toggle strong{color:var(--ink);font-size:.78rem}.travel-toggle small{margin-top:3px;font-size:.68rem;font-weight:600}.contract-link{display:inline-flex;margin-top:10px;color:var(--green-2);font-size:.78rem;font-weight:900}.rate-table{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.rate-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(230px,1.4fr) 85px 110px 38px;gap:7px;align-items:center;min-width:720px;padding:7px;border-bottom:1px solid var(--line)}.rate-row:last-child{border-bottom:0}.rate-row--head{min-height:34px;color:#fff;font-size:.68rem;font-weight:900;text-transform:uppercase;background:var(--green)}.rate-row>button,.compliance-documents button,.danger-icon-button{display:grid;width:36px;height:36px;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:6px}.rate-row>button:hover,.danger-icon-button:hover{color:var(--red);border-color:var(--red)}.empty-rate-state{padding:18px;color:var(--muted);font-size:.78rem;text-align:center}.add-rate-button{margin-top:9px}.document-upload-row{justify-content:flex-start;flex-wrap:wrap}.document-upload-row select{width:min(260px,100%)}.document-upload-row>span{color:var(--muted);font-size:.72rem}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.compliance-documents{display:grid;gap:7px;margin-top:12px}.compliance-documents>div{display:grid;grid-template-columns:28px minmax(0,1fr) 36px 36px;align-items:center;gap:8px;padding:9px 10px;background:var(--field);border:1px solid var(--line);border-radius:6px}.compliance-documents strong,.compliance-documents small{display:block}.compliance-documents strong{font-size:.78rem}.compliance-documents small{margin-top:2px;color:var(--muted);font-size:.69rem}.editor-footer{padding:15px 18px;background:var(--panel-soft)}.editor-footer>span{color:var(--muted);font-size:.72rem}:root[data-theme=dark] .subcontractor-module,:root[data-theme=dark] .subcontractor-editor{background:var(--panel)}:root[data-theme=dark] .subcontractor-directory,:root[data-theme=dark] .subcontractor-metrics,:root[data-theme=dark] .subcontractor-contact-strip,:root[data-theme=dark] .editor-section>summary,:root[data-theme=dark] .editor-footer{background:var(--panel-soft)}:root[data-theme=dark] .form-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .compliance-badge.is-incomplete{color:#fed7aa;background:#4a2b16;border-color:#7c4a24}:root[data-theme=dark] .compliance-badge.is-compliant{color:#b9f2e6;background:#153c36;border-color:#2c6f64}@media(max-width:1100px){.editor-grid--4{grid-template-columns:repeat(2,minmax(160px,1fr))}.span-4{grid-column:span 2}}@media(max-width:820px){.subcontractor-header{align-items:flex-start}.subcontractor-metrics{grid-template-columns:repeat(2,1fr)}.subcontractor-metric:nth-child(2){border-right:0}.subcontractor-layout{grid-template-columns:1fr}.subcontractor-directory{border-right:0;border-bottom:1px solid var(--line)}.contractor-list{max-height:310px}.subcontractor-contact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.subcontractor-contact-strip article:nth-child(2){border-right:0}}@media(max-width:620px){.subcontractor-header,.editor-titlebar,.editor-footer{align-items:stretch;flex-direction:column}.subcontractor-header-actions{justify-content:stretch}.subcontractor-header-actions button{flex:1}.view-tabs{overflow-x:auto;justify-content:flex-start}.view-tabs button{flex:0 0 auto}.editor-grid--4,.editor-grid--2{grid-template-columns:1fr}.span-2,.span-4{grid-column:span 1}.subcontractor-metric{min-width:0;padding:11px}.subcontractor-metric small{font-size:.62rem}.editor-section-body{padding:13px}.editor-section>summary{padding-inline:13px}.qualification-progress{width:100%}.editor-titlebar .editor-identity{align-items:stretch;flex-direction:column}.subcontractor-contact-strip{grid-template-columns:1fr}.subcontractor-contact-strip article{border-right:0;border-bottom:1px solid var(--line)}.subcontractor-contact-strip article:last-child{border-bottom:0}.document-upload-row>*{width:100%!important}}.subcontractor-communication{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.subcontractor-communication>section{min-width:0;overflow:hidden;background:var(--field);border:1px solid var(--line);border-radius:6px}.subcontractor-communication>.pending-reviews,.communication-notice{grid-column:1 / -1}.translation-workspace>header,.call-workspace>header,.pending-reviews>header{display:flex;align-items:center;gap:9px;min-height:51px;padding:10px 12px;color:var(--green);background:var(--panel-soft);border-bottom:1px solid var(--line)}.translation-workspace>header>div,.call-workspace>header>div,.pending-reviews>header>div{min-width:0;flex:1}.translation-workspace h5,.call-workspace h5,.pending-reviews h5{margin:0;color:var(--ink);font-size:.82rem}.translation-workspace header span,.call-workspace header span,.pending-reviews header span{display:block;margin-top:2px;overflow:hidden;color:var(--muted);font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.translation-workspace>header>button{display:grid;width:34px;height:34px;place-items:center;color:var(--green-2);background:var(--field);border:1px solid var(--line);border-radius:5px}.translation-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.translation-columns label{display:grid;gap:6px;padding:11px;color:var(--muted);font-size:.7rem;font-weight:900;background:var(--panel)}.translation-columns textarea{width:100%;min-height:116px;padding:9px;color:var(--ink);resize:vertical;background:var(--field);border:1px solid var(--line);border-radius:5px}.translation-columns textarea[readonly]{background:var(--panel-soft)}.translation-actions,.call-actions,.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 11px}.translation-actions button,.call-actions button,.call-actions a,.review-actions button,.keep-button,.delete-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 11px;font-size:.76rem;font-weight:900;text-decoration:none;border-radius:5px}.call-actions .is-disabled{pointer-events:none;opacity:.45}.recording-consent{display:flex;align-items:flex-start;gap:9px;margin:11px 11px 0;padding:10px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:5px}.recording-consent input{width:17px;height:17px;margin-top:1px;accent-color:var(--green-2)}.calling-access-field{display:grid;gap:5px;margin:9px 11px 0;color:var(--muted);font-size:.68rem;font-weight:850}.calling-access-field input{width:100%;min-height:38px;padding:7px 9px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px}.service-readiness{flex:0 0 auto;padding:4px 7px;color:#72501c;font-size:.62rem;font-weight:900;white-space:nowrap;background:#fff0d9;border:1px solid #efcb98;border-radius:4px}.service-readiness.is-ready{color:#0d6457;background:#dcf5ed;border-color:#9bd7c7}:root[data-theme=dark] .service-readiness.is-local{color:#fed7aa;background:#4a2b16;border-color:#7c4a24}:root[data-theme=dark] .service-readiness.is-ready{color:#b9f2e6;background:#153c36;border-color:#2c6f64}.recording-consent strong,.recording-consent small{display:block}.recording-consent strong{color:var(--ink);font-size:.74rem}.recording-consent small{margin-top:3px;font-size:.66rem;line-height:1.35}.danger-button,.delete-button{color:#fff;background:var(--red);border:1px solid #9f2f28}.keep-button{color:#fff;background:#08756c;border:1px solid #07645c}.call-processing,.review-processing,.review-error{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;color:var(--muted);font-size:.74rem;font-weight:800;border-top:1px solid var(--line)}.communication-notice{padding:10px 12px;color:#0d5f55;font-size:.76rem;font-weight:850;background:#def5ef;border:1px solid #a8ded1;border-radius:5px}.empty-review-state{padding:28px 16px;color:var(--muted);font-size:.76rem;text-align:center}.call-review{border-top:1px solid var(--line)}.pending-reviews>header+.call-review{border-top:0}.call-review>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:var(--panel)}.call-review>header strong,.call-review>header span{display:block}.call-review>header strong{font-size:.76rem}.call-review>header span{margin-top:2px;color:var(--muted);font-size:.66rem}.call-review>header em{padding:4px 7px;color:#8a4b15;font-size:.65rem;font-style:normal;font-weight:900;text-transform:uppercase;background:#fff0d9;border:1px solid #efcb98;border-radius:4px}.review-summary{padding:11px 12px;color:var(--ink);font-size:.78rem;font-weight:750;line-height:1.45;background:var(--panel-soft);border-block:1px solid var(--line)}.review-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:12px;background:var(--panel)}.review-highlights section strong{color:var(--green);font-size:.68rem;text-transform:uppercase}.review-highlights ul{margin:6px 0 0;padding-left:17px}.review-highlights li{margin:3px 0;color:var(--muted);font-size:.72rem;line-height:1.38}.review-actions{justify-content:flex-end;background:var(--panel-soft);border-top:1px solid var(--line)}:root[data-theme=dark] .communication-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .call-review>header em{color:#fed7aa;background:#4a2b16;border-color:#7c4a24}@media(max-width:1100px){.subcontractor-communication{grid-template-columns:1fr}.subcontractor-communication>.pending-reviews,.communication-notice{grid-column:1}}@media(max-width:620px){.translation-columns,.review-highlights{grid-template-columns:1fr}.call-actions>*,.translation-actions>*{flex:1 1 145px}.review-actions>*{flex:1}.call-review>header{align-items:flex-start}}.workspace-frame{display:grid;grid-template-columns:224px minmax(0,1fr);align-items:start;gap:12px;margin-top:12px}.workspace-content{min-width:0}.module-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.takeoff-module .module-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.workspace-content>.workspace-grid,.workspace-content>.subcontractor-module{margin-top:0}.workspace-loading,.board-error-card{display:grid;min-width:0;min-height:220px;align-content:center;justify-items:center;gap:8px;padding:26px;color:var(--ink);text-align:center;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:7px;box-shadow:var(--shadow)}.workspace-loading svg{color:var(--orange)}.workspace-loading .is-spinning{animation:spin .9s linear infinite}.workspace-loading strong,.board-error-card h2{max-width:560px;font-size:1rem}.workspace-loading span,.board-error-card p{max-width:620px;color:var(--muted);font-size:.78rem;line-height:1.45}.board-error-card span{color:var(--orange);font-size:.68rem;font-weight:900;text-transform:uppercase}.workspace-frame>.view-tabs{position:sticky;top:12px;z-index:20;display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:12px;color:#fff;background:#17212b;border:1px solid #263544;border-radius:7px;box-shadow:0 12px 30px #0f172a29}.board-nav-heading{min-width:0;padding:5px 7px 12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.13)}.board-nav-heading span,.board-nav-heading strong,.board-nav-heading small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-nav-heading span{color:#94a3b8;font-size:.64rem;font-weight:900;text-transform:uppercase}.board-nav-heading strong{margin-top:7px;color:#fff;font-size:.78rem}.board-nav-heading small{margin-top:3px;color:#b7c2cc;font-size:.68rem}.workspace-frame .board-nav-button{--board-accent: #2dd4bf;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;justify-content:initial;gap:8px;width:100%;min-height:58px;padding:8px 9px;color:#cbd5df;text-align:left;background:transparent;border:1px solid transparent;border-left:3px solid transparent;border-radius:5px}.board-nav-button--map{--board-accent: #20b9a8 !important}.board-nav-button--home{--board-accent: #f5c84c !important}.board-nav-button--documents{--board-accent: #4c91f2 !important}.board-nav-button--review{--board-accent: #14b8a6 !important}.board-nav-button--release{--board-accent: #e66a20 !important}.board-nav-button--estimate{--board-accent: #f28a43 !important}.board-nav-button--subcontractors{--board-accent: #a78bfa !important}.board-nav-button--suppliers{--board-accent: #f5c84c !important}.board-nav-button--workflow{--board-accent: #22c55e !important}.board-nav-button--calendar{--board-accent: #0ea5e9 !important}.workspace-frame .board-nav-button>svg{color:var(--board-accent)}.workspace-frame .board-nav-button>div{min-width:0}.workspace-frame .board-nav-button>div strong,.workspace-frame .board-nav-button>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-frame .board-nav-button>div strong{color:inherit;font-size:.78rem}.workspace-frame .board-nav-button>div small{margin-top:3px;color:#93a2af;font-size:.63rem;font-weight:700}.workspace-frame .board-nav-button:hover{color:#fff;background:#202e3a;border-color:#314353}.workspace-frame .board-nav-button:disabled{cursor:not-allowed;opacity:.42}.workspace-frame .board-nav-button.is-selected{color:#fff;background:#263746;border-color:#3b4e5e;border-left-color:var(--board-accent);box-shadow:none}.workspace-frame .board-nav-button.is-selected>svg{color:var(--board-accent)}.workspace-frame .board-nav-button.is-selected>div small{color:#c1ccd5}.workspace-frame .view-tabs .board-count{display:grid;min-width:21px;height:21px;place-items:center;padding:0 4px;color:#fff;font-size:.64rem;background:color-mix(in srgb,var(--board-accent) 72%,#17212b);border-radius:4px}.drawing-dropzone.is-dragging,.pdf-dropzone.is-dragging{color:var(--ink);background:#eaf3ff;border-color:var(--blue);box-shadow:inset 0 0 0 2px #2563eb1f}:root[data-theme=dark] .drawing-dropzone.is-dragging,:root[data-theme=dark] .pdf-dropzone.is-dragging{background:#172d43}@media(max-width:980px){.workspace-frame{display:block;margin-top:0}.board-nav-heading{display:none}.workspace-frame>.view-tabs{position:static;flex-direction:row;gap:0;margin:0 -20px;padding:0 20px;background:var(--panel);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.workspace-frame .board-nav-button{display:inline-flex;width:auto;min-height:52px;padding:0 15px;color:var(--muted);border:0;border-radius:0}.workspace-frame .board-nav-button>div strong{color:inherit}.workspace-frame .board-nav-button>div small{display:none}.workspace-frame .board-nav-button:hover{color:var(--ink);background:var(--panel-soft);border:0}.workspace-frame .board-nav-button.is-selected{color:var(--ink);background:var(--panel);border:0;box-shadow:inset 0 -3px var(--board-accent)}.workspace-content>.workspace-grid,.workspace-content>.subcontractor-module{margin-top:12px}}@media(max-width:700px){.workspace-frame>.view-tabs{position:fixed;z-index:60;inset:auto 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);overflow-x:auto;width:100%;margin:0;padding:0 3px env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -8px 24px #0f172a24}.workspace-frame .board-nav-button{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;min-height:66px;padding:7px 2px 4px;text-align:center}.workspace-frame .board-nav-button>div{width:100%}.workspace-frame .board-nav-button>div strong{font-size:.6rem;white-space:normal;line-height:1.05}.workspace-frame .view-tabs .board-count{position:absolute;top:4px;right:10px;min-width:16px;height:16px;font-size:.55rem}.workspace-frame .board-nav-button.is-selected{box-shadow:inset 0 3px var(--board-accent)}.workspace-content>.workspace-grid,.workspace-content>.subcontractor-module{margin-top:10px}.module-tabs button{gap:4px;min-width:0;padding-inline:3px;font-size:.6rem;line-height:1.1}.module-tabs button svg{flex:0 0 auto}}.home-dashboard{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.home-dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);align-items:center;gap:28px;min-height:145px;padding:26px 28px;color:#fff;background:#17212b;border-left:5px solid #f5c84c}.home-dashboard-header h2{max-width:760px;font-size:1.55rem;line-height:1.22}.home-dashboard-header>div>p:last-child{margin-top:7px;color:#b8c5cf;font-size:.88rem}.home-project-picker{display:grid;gap:7px;padding:12px;background:#202e3a;border:1px solid #354758;border-radius:6px}.home-project-picker span{color:#a9b8c4;font-size:.68rem;font-weight:900;text-transform:uppercase}.home-project-picker select{width:100%;min-height:42px;padding:7px 10px;color:#17212b;font-weight:800;background:#fff;border:1px solid #526577;border-radius:5px}.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.home-metrics article{display:flex;align-items:center;gap:11px;min-width:0;min-height:78px;padding:15px 20px;border-right:1px solid var(--line)}.home-metrics article:last-child{border-right:0}.home-metrics article:nth-child(1) svg{color:#0f8a7d}.home-metrics article:nth-child(2) svg{color:#2563eb}.home-metrics article:nth-child(3) svg{color:#d56b2d}.home-metrics article:nth-child(4) svg{color:#7c5ac7}.home-metrics span,.home-metrics small,.home-metrics strong{display:block;min-width:0}.home-metrics small{color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.home-metrics strong{margin-top:3px;overflow:hidden;font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.today-command{padding:18px 24px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.today-command>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.today-command>header span{color:var(--green-2);font-size:.68rem;font-weight:900;text-transform:uppercase}.today-command>header h3{margin-top:2px;font-size:1.02rem}.today-command>header small{color:var(--muted);font-size:.72rem;font-weight:800;text-align:right}.today-command-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.today-command-grid article{display:flex;align-items:center;gap:9px;min-width:0;min-height:72px;padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.today-command-grid article svg{flex:0 0 auto;color:var(--green-2)}.today-command-grid span,.today-command-grid small,.today-command-grid strong{display:block;min-width:0}.today-command-grid small{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.today-command-grid strong{margin-top:4px;color:var(--ink);font-size:.83rem;line-height:1.25}.today-weather{grid-column:span 1}.bid-command-wizard{display:grid;gap:13px;padding:20px 24px 22px;background:linear-gradient(135deg,#f7fbff,#fff 62%);border-bottom:1px solid var(--line);border-left:4px solid #2563eb}.bid-command-wizard>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:start;gap:18px}.bid-command-wizard h3{margin-top:3px;font-size:1.14rem}.bid-command-wizard>header span{display:block;max-width:820px;margin-top:4px;color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.42}.bid-command-progress{display:grid;gap:6px;justify-items:stretch;padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:7px}.bid-command-progress strong{color:var(--ink);font-size:1.05rem}.bid-command-progress>span{display:block;height:8px;overflow:hidden;background:#e7eef5;border-radius:999px}.bid-command-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#2563eb)}.bid-command-progress small{color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase}.bid-command-primary{display:grid;grid-template-columns:54px minmax(0,1fr) max-content;align-items:center;gap:13px;min-height:96px;padding:14px;background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 65%,#2563eb);border-radius:7px;box-shadow:0 10px 24px #2563eb14}.bid-command-primary-icon{display:grid;width:54px;height:54px;place-items:center;color:#fff;background:#17212b;border-radius:7px}.bid-command-primary strong,.bid-command-primary p,.bid-command-primary small{display:block;min-width:0}.bid-command-primary strong{font-size:.98rem}.bid-command-primary p{margin-top:5px;color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.42}.bid-command-primary small{margin-top:7px;color:#0f766e;font-size:.66rem;font-weight:900;text-transform:uppercase}.bid-command-primary .primary-button{min-height:42px;white-space:nowrap}.bid-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bid-command-stats span{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;min-height:58px;padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.bid-command-stats svg{grid-row:span 2;color:#d56b2d}.bid-command-stats strong,.bid-command-stats small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bid-command-stats strong{color:var(--ink);font-size:.88rem}.bid-command-stats small{color:var(--muted);font-size:.6rem;font-weight:900;text-transform:uppercase}.bid-command-steps{display:grid;grid-template-columns:repeat(7,minmax(114px,1fr));gap:7px;overflow-x:auto}.bid-command-step{display:grid;grid-template-columns:24px 19px minmax(0,1fr);align-items:center;gap:7px;min-width:118px;min-height:58px;padding:8px;color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid #d97706;border-radius:6px}.bid-command-step.is-active{background:#eef6ff;border-color:#8ab9ff;border-left-color:#2563eb}.bid-command-step--ready{border-left-color:#0f766e}.bid-command-step--optional{border-left-color:#64748b}.bid-command-step--blocked{border-left-color:#b42318}.bid-command-step-number{display:grid;width:24px;height:24px;place-items:center;color:#fff;font-size:.68rem;font-weight:950;background:#64748b;border-radius:50%}.bid-command-step--ready .bid-command-step-number{background:#0f766e}.bid-command-step--optional .bid-command-step-number{background:#64748b}.bid-command-step--blocked .bid-command-step-number{background:#b42318}.bid-command-step svg{color:#2563eb}.bid-command-step strong,.bid-command-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bid-command-step strong{font-size:.68rem}.bid-command-step small{margin-top:2px;color:var(--muted);font-size:.58rem;font-weight:900;text-transform:uppercase}.bid-builder-workflow{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-top:4px solid #22c55e;border-radius:7px;box-shadow:var(--shadow)}.bid-builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(135deg,#f0fdf4,#eff6ff 58%,#fff7ed);border-bottom:1px solid var(--line)}.bid-builder-header h2{margin-top:3px;font-size:1.38rem}.bid-builder-header p:last-child{max-width:820px;margin-top:6px;color:var(--muted);font-size:.82rem;font-weight:750;line-height:1.45}.bid-builder-project-picker{display:grid;flex:0 0 min(360px,100%);gap:6px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.bid-builder-project-picker select{width:100%;min-height:42px;padding:8px 10px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;font:inherit;font-size:.82rem;font-weight:850;text-transform:none}.bid-builder-status-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-builder-status-row article{display:grid;align-content:center;gap:3px;min-height:84px;padding:13px 16px;border-right:1px solid var(--line)}.bid-builder-status-row article:last-child{border-right:0}.bid-builder-status-row span,.bid-builder-status-row small{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.bid-builder-status-row strong{min-width:0;overflow-wrap:anywhere;font-size:1.02rem}.bid-builder-phase strong{font-size:1.18rem}.bid-builder-phase--ready strong{color:#0f766e}.bid-builder-phase--blocked strong{color:#b42318}.bid-builder-phase--closed strong{color:#64748b}.bid-builder-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}.bid-builder-progress>span{height:10px;overflow:hidden;background:#e8eef5;border-radius:999px}.bid-builder-progress i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#2563eb,#f59e0b)}.bid-builder-progress strong{color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase}.bid-builder-next-action{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 18px;padding:14px;background:#f8fbff;border:1px solid color-mix(in srgb,var(--line) 62%,#2563eb);border-left:4px solid #2563eb;border-radius:7px}.bid-builder-next-action>svg{color:#2563eb}.bid-builder-next-action span,.bid-builder-next-action strong,.bid-builder-next-action p,.bid-builder-next-action small{display:block;min-width:0;overflow-wrap:anywhere}.bid-builder-next-action span{color:var(--muted);font-size:.62rem;font-weight:950;text-transform:uppercase}.bid-builder-next-action strong{margin-top:2px;font-size:.98rem}.bid-builder-next-action p{margin:5px 0 0;color:var(--muted);font-size:.76rem;font-weight:760;line-height:1.38}.bid-builder-next-action small{margin-top:4px;color:#a15c13;font-size:.68rem;font-weight:800;line-height:1.32}.bid-builder-next-action button{min-height:40px;white-space:nowrap}.bid-builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.bid-builder-stage{display:grid;grid-template-columns:28px 22px minmax(0,1fr);align-items:center;gap:8px;min-height:112px;padding:12px;color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid #d97706;border-radius:6px}.bid-builder-stage:hover{border-color:#2563eb;box-shadow:0 10px 22px #0f172a1a;transform:translateY(-1px)}.bid-builder-stage--ready{border-left-color:#0f766e}.bid-builder-stage--blocked{border-left-color:#b42318}.bid-builder-stage-number{display:grid;width:28px;height:28px;place-items:center;color:#fff;background:#64748b;border-radius:999px;font-size:.72rem;font-weight:950}.bid-builder-stage--ready .bid-builder-stage-number{background:#0f766e}.bid-builder-stage--blocked .bid-builder-stage-number{background:#b42318}.bid-builder-stage>svg{color:#2563eb}.bid-builder-stage strong,.bid-builder-stage small,.bid-builder-stage em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.bid-builder-stage strong{font-size:.78rem;white-space:nowrap}.bid-builder-stage small{margin-top:3px;color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.bid-builder-stage em{grid-column:1 / -1;color:var(--muted);font-size:.68rem;font-style:normal;font-weight:740;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bid-builder-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px;padding:0 18px 18px}.bid-builder-blockers,.bid-builder-close{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:7px}.bid-builder-blockers>header,.bid-builder-close>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 13px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-builder-blockers header span,.bid-builder-close header span{color:var(--muted);font-size:.62rem;font-weight:950;text-transform:uppercase}.bid-builder-blockers h3,.bid-builder-close h3{margin-top:2px;font-size:.9rem}.bid-builder-blockers header>strong{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:#b42318;border-radius:999px;font-size:.82rem}.bid-builder-close header small{color:var(--muted);font-size:.68rem;font-weight:850}.bid-builder-blockers>div{display:grid}.bid-builder-blocker{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:11px 13px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.bid-builder-blocker:last-child{border-bottom:0}.bid-builder-blocker svg{color:#b42318}.bid-builder-blocker strong,.bid-builder-blocker small{display:block;min-width:0;overflow-wrap:anywhere}.bid-builder-blocker strong{font-size:.76rem}.bid-builder-blocker small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.bid-builder-blockers p{display:flex;align-items:center;gap:8px;margin:0;padding:20px 14px;color:#0f766e;font-size:.76rem;font-weight:850}.bid-builder-close{display:grid;align-content:start}.bid-builder-notice{margin:0;padding:10px 13px;color:#0f766e;background:#ecfdf5;border-bottom:1px solid #a7f3d0;font-size:.74rem;font-weight:850}.bid-builder-close-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px}.bid-builder-close-actions button{justify-content:center;min-height:40px}.bid-builder-close dl{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.bid-builder-close dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 13px;border-bottom:1px solid var(--line)}.bid-builder-close dl div:last-child{border-bottom:0}.bid-builder-close dt{color:var(--muted);font-size:.64rem;font-weight:950;text-transform:uppercase}.bid-builder-close dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.76rem;font-weight:850}:root[data-theme=dark] .bid-builder-workflow,:root[data-theme=dark] .bid-builder-status-row article,:root[data-theme=dark] .bid-builder-stage,:root[data-theme=dark] .bid-builder-blockers,:root[data-theme=dark] .bid-builder-close{background:var(--panel)}:root[data-theme=dark] .bid-builder-header{background:linear-gradient(135deg,#123a32,#172b4e 58%,#3b2b12)}:root[data-theme=dark] .bid-builder-status-row,:root[data-theme=dark] .bid-builder-blockers>header,:root[data-theme=dark] .bid-builder-close>header{background:var(--panel-soft)}:root[data-theme=dark] .bid-builder-next-action{background:#152229;border-color:#31558b}:root[data-theme=dark] .bid-builder-progress>span{background:#22313c}:root[data-theme=dark] .bid-builder-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}@media(max-width:1120px){.bid-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-builder-bottom{grid-template-columns:1fr}}@media(max-width:760px){.bid-builder-header{align-items:stretch;flex-direction:column;padding:17px 14px}.bid-builder-project-picker{flex-basis:auto}.bid-builder-status-row{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-builder-status-row article:nth-child(2){border-right:0}.bid-builder-status-row article:nth-child(-n+2){border-bottom:1px solid var(--line)}.bid-builder-progress{grid-template-columns:1fr;padding-inline:14px}.bid-builder-next-action{grid-template-columns:28px minmax(0,1fr);margin:13px}.bid-builder-next-action button{grid-column:1 / -1;justify-content:center;width:100%}.bid-builder-grid,.bid-builder-bottom{padding:0 13px 13px}.bid-builder-grid{grid-template-columns:1fr}.bid-builder-stage{min-height:102px}}@media(max-width:440px){.bid-builder-status-row{grid-template-columns:1fr}.bid-builder-status-row article{border-right:0;border-bottom:1px solid var(--line)}.bid-builder-status-row article:last-child{border-bottom:0}.bid-builder-close-actions{grid-template-columns:1fr}.bid-builder-close dl div{grid-template-columns:1fr;gap:3px}}.bid-calendar-risk{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-top:4px solid #0ea5e9;border-radius:7px;box-shadow:var(--shadow)}.bid-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(135deg,#eff6ff,#f0fdf4 60%,#fff);border-bottom:1px solid var(--line)}.bid-calendar-header h2{margin-top:3px;font-size:1.34rem}.bid-calendar-header p:last-child{max-width:820px;margin-top:6px;color:var(--muted);font-size:.82rem;font-weight:750;line-height:1.45}.bid-calendar-header label{display:grid;flex:0 0 min(360px,100%);gap:6px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.bid-calendar-header select{width:100%;min-height:42px;padding:8px 10px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;font:inherit;font-size:.82rem;font-weight:850;text-transform:none}.bid-calendar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-calendar-summary article{display:grid;align-content:center;gap:3px;min-height:82px;padding:13px 16px;border-right:1px solid var(--line)}.bid-calendar-summary article:last-child{border-right:0}.bid-calendar-summary span,.bid-calendar-summary small{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.bid-calendar-summary strong{min-width:0;overflow-wrap:anywhere;font-size:1.08rem}.bid-calendar-status--ready strong{color:#0f766e}.bid-calendar-status--review strong{color:#b7791f}.bid-calendar-status--blocked strong{color:#b42318}.bid-calendar-actions{display:flex;flex-wrap:wrap;gap:9px;padding:13px 18px;border-bottom:1px solid var(--line)}.bid-calendar-actions button{min-height:40px}.bid-calendar-notice{margin:0;padding:10px 18px;color:#0f766e;background:#ecfdf5;border-bottom:1px solid #a7f3d0;font-size:.74rem;font-weight:850}.bid-calendar-events,.bid-calendar-risk-list,.bid-calendar-addenda{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:7px}.bid-calendar-events{margin:16px 18px}.bid-calendar-events>header,.bid-calendar-risk-list>header,.bid-calendar-addenda>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 13px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-calendar-events header span,.bid-calendar-risk-list header span,.bid-calendar-addenda header span{color:var(--muted);font-size:.62rem;font-weight:950;text-transform:uppercase}.bid-calendar-events h3,.bid-calendar-risk-list h3,.bid-calendar-addenda h3{margin-top:2px;font-size:.9rem}.bid-calendar-events header small,.bid-calendar-addenda header small{color:var(--muted);font-size:.68rem;font-weight:850}.bid-calendar-risk-list header>strong{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:#b42318;border-radius:999px;font-size:.82rem}.bid-calendar-events>div,.bid-calendar-risk-list>div,.bid-calendar-addenda>div{display:grid}.bid-calendar-event{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);border-left:4px solid #64748b}.bid-calendar-event:last-child{border-bottom:0}.bid-calendar-event--ready{border-left-color:#0f766e}.bid-calendar-event--review{border-left-color:#d97706}.bid-calendar-event--blocked{border-left-color:#b42318}.bid-calendar-event>svg{color:#0ea5e9}.bid-calendar-event span,.bid-calendar-event strong,.bid-calendar-event small,.bid-calendar-event em{display:block;min-width:0;overflow-wrap:anywhere}.bid-calendar-event strong{font-size:.82rem}.bid-calendar-event small{margin-top:3px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.bid-calendar-event em{margin-top:4px;color:var(--muted);font-size:.7rem;font-style:normal;line-height:1.35}.bid-calendar-event b{min-width:70px;padding:5px 8px;color:#0f5f4d;background:#dcfce7;border:1px solid #86efac;border-radius:999px;font-size:.68rem;text-align:center;white-space:nowrap}.bid-calendar-event--blocked b{color:#991b1b;background:#fee2e2;border-color:#fecaca}.bid-calendar-event--review b{color:#92400e;background:#fef3c7;border-color:#fde68a}.bid-calendar-lower{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px;padding:0 18px 18px}.bid-calendar-risk-item{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:11px 13px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.bid-calendar-risk-item:last-child{border-bottom:0}.bid-calendar-risk-item--blocked svg{color:#b42318}.bid-calendar-risk-item--review svg{color:#d97706}.bid-calendar-risk-item strong,.bid-calendar-risk-item small{display:block;min-width:0;overflow-wrap:anywhere}.bid-calendar-risk-item strong{font-size:.76rem}.bid-calendar-risk-item small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.bid-calendar-addenda article{display:grid;gap:3px;padding:11px 13px;border-bottom:1px solid var(--line);border-left:4px solid #d97706}.bid-calendar-addenda article:last-child{border-bottom:0}.bid-calendar-addenda article.is-acknowledged{border-left-color:#0f766e}.bid-calendar-addenda strong,.bid-calendar-addenda small,.bid-calendar-addenda em{display:block;min-width:0;overflow-wrap:anywhere}.bid-calendar-addenda article>strong{font-size:.78rem}.bid-calendar-addenda small{color:var(--muted);font-size:.68rem}.bid-calendar-addenda em{color:#9a3412;font-size:.66rem;font-style:normal;font-weight:900;text-transform:uppercase}.bid-calendar-addenda article.is-acknowledged em{color:#0f766e}.bid-calendar-empty{display:flex;align-items:center;gap:8px;margin:0;padding:20px 14px;color:var(--muted);font-size:.76rem;font-weight:850}:root[data-theme=dark] .bid-calendar-risk,:root[data-theme=dark] .bid-calendar-summary article,:root[data-theme=dark] .bid-calendar-events,:root[data-theme=dark] .bid-calendar-risk-list,:root[data-theme=dark] .bid-calendar-addenda{background:var(--panel)}:root[data-theme=dark] .bid-calendar-header{background:linear-gradient(135deg,#172b4e,#123a32 60%,#152229)}:root[data-theme=dark] .bid-calendar-summary,:root[data-theme=dark] .bid-calendar-events>header,:root[data-theme=dark] .bid-calendar-risk-list>header,:root[data-theme=dark] .bid-calendar-addenda>header{background:var(--panel-soft)}:root[data-theme=dark] .bid-calendar-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}@media(max-width:980px){.bid-calendar-lower{grid-template-columns:1fr}}@media(max-width:760px){.bid-calendar-header{align-items:stretch;flex-direction:column;padding:17px 14px}.bid-calendar-header label{flex-basis:auto}.bid-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-calendar-summary article:nth-child(2){border-right:0}.bid-calendar-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}.bid-calendar-actions,.bid-calendar-events,.bid-calendar-lower{margin-inline:13px;padding-inline:0}.bid-calendar-actions{margin:0;padding:12px 13px}.bid-calendar-actions button{flex:1 1 190px;justify-content:center}.bid-calendar-event{grid-template-columns:26px minmax(0,1fr)}.bid-calendar-event b{grid-column:1 / -1;justify-self:start}}@media(max-width:440px){.bid-calendar-summary{grid-template-columns:1fr}.bid-calendar-summary article{border-right:0;border-bottom:1px solid var(--line)}.bid-calendar-summary article:last-child{border-bottom:0}}.document-intake{margin:0;padding:22px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 68%,transparent),var(--panel));border-bottom:1px solid var(--line)}.document-intake-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.document-intake-header h3{margin-top:3px;font-size:1.08rem}.document-intake-header p:last-child{max-width:720px;margin-top:5px;color:var(--muted);font-size:.82rem;line-height:1.45}.document-intake-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;min-width:220px}.document-intake-counts span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 9px;color:#0f766e;font-size:.68rem;font-weight:900;background:#e8f7f4;border:1px solid #bce8e1;border-radius:4px}.document-intake-grid{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(320px,1.12fr);gap:14px}.document-intake-dropzone{display:grid;min-height:240px;padding:24px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center;background:var(--panel);border:2px dashed #8aa0b5;border-radius:7px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.document-intake-dropzone:hover,.document-intake-dropzone.is-dragging{color:#0f766e;background:#ecfdf8;border-color:#0f8a7d;box-shadow:inset 0 0 0 1px #0f8a7d14}.document-intake-dropzone svg{color:#0f8a7d}.document-intake-dropzone strong{color:var(--ink);font-size:.96rem}.document-intake-dropzone span{max-width:360px;font-size:.76rem;line-height:1.45}.document-intake-dropzone button{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:7px;padding:0 12px;color:#fff;font-size:.72rem;font-weight:900;background:#0f766e;border:0;border-radius:5px}.document-intake-meta{display:grid;gap:10px;align-content:start;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:7px}.document-intake-meta-title{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.82rem}.document-intake-review{display:grid;gap:8px;padding:10px;background:color-mix(in srgb,var(--panel-soft) 82%,#0f766e 8%);border:1px solid color-mix(in srgb,var(--line) 76%,#0f766e);border-radius:6px}.document-intake-review header{display:flex;align-items:center;justify-content:space-between;gap:8px}.document-intake-review header strong{font-size:.76rem}.document-intake-review header span{color:#0f766e;font-size:.68rem;font-weight:900}.document-intake-review>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.document-intake-review>div>span{display:grid;gap:2px;min-width:0;padding:7px 8px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left-width:4px;border-radius:5px;font-size:.68rem;font-weight:900;overflow-wrap:anywhere}.document-intake-review b{width:fit-content;padding:2px 5px;font-size:.56rem;line-height:1.1;text-transform:uppercase;border-radius:4px}.document-intake-review small{color:var(--muted);font-size:.62rem;font-weight:800;line-height:1.25}.document-intake-review .is-ready{border-left-color:#0f766e}.document-intake-review .is-ready b{color:#0f766e;background:#dff6ef}.document-intake-review .needs-review{border-left-color:#d97706}.document-intake-review .needs-review b{color:#92400e;background:#fff4d8}.document-intake-evidence{display:grid;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-evidence header{display:flex;align-items:center;justify-content:space-between;gap:8px}.document-intake-evidence header strong{color:var(--ink);font-size:.76rem}.document-intake-evidence header span{padding:3px 6px;font-size:.6rem;font-weight:900;text-transform:uppercase;border-radius:4px}.document-intake-evidence header .is-ready{color:#0f766e;background:#dff6ef}.document-intake-evidence header .needs-review{color:#92400e;background:#fff4d8}.document-intake-evidence-conflicts{display:flex;gap:8px;padding:8px;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:5px}.document-intake-evidence-conflicts svg{flex:none;color:#c2410c}.document-intake-evidence-conflicts span{display:grid;gap:3px}.document-intake-evidence-conflicts strong,.document-intake-evidence-conflicts small{color:inherit;font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.document-intake-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.document-intake-evidence-row{display:grid;gap:2px;min-width:0;padding:7px 8px;background:var(--panel-soft);border:1px solid var(--line);border-left-width:4px;border-radius:5px}.document-intake-evidence-row b{width:fit-content;padding:2px 5px;font-size:.55rem;text-transform:uppercase;border-radius:4px}.document-intake-evidence-row strong{color:var(--ink);font-size:.69rem;overflow-wrap:anywhere}.document-intake-evidence-row small,.document-intake-evidence-row em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:800;line-height:1.28;overflow-wrap:anywhere}.document-intake-evidence-row--ready{border-left-color:#0f766e}.document-intake-evidence-row--ready b{color:#0f766e;background:#dff6ef}.document-intake-evidence-row--review{border-left-color:#d97706}.document-intake-evidence-row--review b{color:#92400e;background:#fff4d8}.document-intake-evidence-row--missing,.document-intake-evidence-row--conflict{border-left-color:#dc2626}.document-intake-evidence-row--missing b,.document-intake-evidence-row--conflict b{color:#991b1b;background:#fee2e2}.document-intake-meta label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.document-intake-meta input:not([type=checkbox]),.document-intake-meta select,.document-intake-meta textarea{min-width:0;min-height:38px;padding:8px 9px;color:var(--ink);font-size:.82rem;font-weight:700;background:var(--field);border:1px solid var(--line);border-radius:5px;text-transform:none}.document-intake-meta textarea{min-height:86px;resize:vertical}.document-intake-meta-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px}.document-intake-date-hints{display:grid;gap:5px;padding:9px 10px;background:var(--panel-soft);border:1px dashed var(--line);border-radius:5px}.document-intake-date-hints span,.document-intake-date-hints strong{min-width:0;overflow-wrap:anywhere;font-size:.69rem;line-height:1.35;text-transform:none}.document-intake-date-hints span{color:var(--muted)}.document-intake-date-hints strong{color:var(--ink)}.document-intake-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;min-height:34px;color:var(--ink)!important;font-size:.74rem!important;text-transform:none!important}.document-intake-check input{width:16px;height:16px}.document-intake-workflow{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:13px;margin-top:13px;padding:13px;color:var(--ink);background:color-mix(in srgb,var(--panel-soft) 70%,#0f766e 6%);border:1px solid color-mix(in srgb,var(--line) 74%,#0f766e);border-radius:7px}.document-intake-workflow>div:first-child{display:grid;align-content:center;gap:4px}.document-intake-workflow strong{font-size:.83rem}.document-intake-workflow span{color:var(--muted);font-size:.74rem;font-weight:800;line-height:1.45}.document-intake-run-options{display:grid;gap:8px;padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-run-options label{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:.74rem;font-weight:900;line-height:1.35}.document-intake-run-options input{width:16px;height:16px;margin-top:1px;accent-color:#0f766e}.document-intake-options-title{color:var(--muted)!important;font-size:.64rem!important;font-weight:900!important;letter-spacing:.02em;text-transform:uppercase}.document-intake-repair{display:grid;gap:11px;margin-top:13px;padding:13px;color:var(--ink);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 84%,#e66a20 10%),var(--panel));border:1px solid color-mix(in srgb,var(--line) 75%,#e66a20);border-radius:7px}.document-intake-repair>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-intake-repair>header>div{display:flex;gap:8px;min-width:0}.document-intake-repair>header svg{flex:none;color:#e66a20}.document-intake-repair strong,.document-intake-repair small,.document-intake-repair span{display:block;min-width:0;overflow-wrap:anywhere}.document-intake-repair small{color:var(--muted);font-size:.7rem;line-height:1.38}.document-intake-repair>header em{min-width:max-content;padding:4px 7px;color:#9a3412;font-size:.66rem;font-style:normal;font-weight:900;background:#ffedd5;border:1px solid #fed7aa;border-radius:4px}.document-intake-repair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.document-intake-repair-grid article{display:grid;gap:4px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-repair-grid article strong{font-size:.78rem}.document-intake-review-actions{display:flex;flex-wrap:wrap;gap:8px}.document-intake-review-actions button{min-height:36px;padding-inline:10px}.secondary-button--warning{color:#92400e;background:#fff7ed;border-color:#fed7aa}.document-intake-blockers{display:grid;gap:7px;padding:10px 12px;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px}.document-intake-blockers strong{display:inline-flex;align-items:center;gap:6px;color:#9a3412}.document-intake-blockers ul{display:grid;gap:3px;margin:0;padding-left:19px;font-size:.72rem}.document-intake-blockers small{color:#9a3412}.document-intake-material-repair{overflow:auto;border:1px solid var(--line);border-radius:6px}.document-intake-material-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.75fr) minmax(82px,.35fr) minmax(72px,.3fr) minmax(130px,.65fr) minmax(140px,.8fr) 34px;gap:8px;align-items:center;min-width:1010px;padding:9px;background:var(--panel);border-bottom:1px solid var(--line)}.document-intake-material-row:last-child{border-bottom:0}.document-intake-material-row--head{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase;background:var(--panel-soft)}.document-intake-material-row input,.document-intake-material-row select{width:100%;min-width:0;min-height:34px;padding:7px 8px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.72rem}.document-intake-material-row small{color:var(--muted);font-size:.67rem}.document-intake-material-row button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#a63733;background:var(--field);border:1px solid var(--line);border-radius:4px}.review-status-select--approved{color:#0f5f4d!important;background:#ecfdf5!important;border-color:#86efac!important}.review-status-select--needs-review{color:#92400e!important;background:#fff7ed!important;border-color:#fed7aa!important}.review-status-select--rejected{color:#991b1b!important;background:#fef2f2!important;border-color:#fecaca!important}.document-intake-material-empty{display:grid;justify-items:start;gap:7px;padding:20px;color:var(--muted);background:var(--panel)}.document-intake-material-empty svg{color:#e66a20}.document-intake-material-empty strong{color:var(--ink)}.document-intake-rfq-preview{display:grid;gap:10px;margin-top:13px;padding:13px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px}.document-intake-rfq-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-intake-rfq-preview>header>div{display:flex;gap:8px}.document-intake-rfq-preview>header svg{color:#0f766e;flex:0 0 auto}.document-intake-rfq-preview strong,.document-intake-rfq-preview small{display:block}.document-intake-rfq-preview small,.document-intake-rfq-preview p{color:var(--muted);font-size:.73rem;line-height:1.42}.document-intake-rfq-preview>header em{min-width:max-content;padding:4px 7px;color:#0f766e;font-size:.66rem;font-style:normal;font-weight:900;background:#e8f7f4;border:1px solid #bce8e1;border-radius:4px}.document-intake-rfq-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:8px;overflow-x:auto}.document-intake-rfq-grid article{display:grid;align-content:start;gap:5px;min-width:170px;padding:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px}.document-intake-rfq-grid article>span{color:#0f766e;font-size:.68rem;font-weight:900}.document-intake-rfq-grid small{display:inline-flex;align-items:center;gap:5px}.document-intake-rfq-grid ul{display:grid;gap:3px;margin:4px 0 0;padding-left:15px;color:var(--muted);font-size:.68rem;line-height:1.3}.document-intake-rfq-grid em{color:var(--ink);font-size:.68rem;font-style:normal;font-weight:800}.document-intake-queue{display:grid;gap:8px;margin-top:13px}.document-intake-file{display:grid;grid-template-columns:34px minmax(180px,1fr) minmax(150px,190px) minmax(160px,190px) minmax(130px,170px) 34px;align-items:center;gap:9px;min-width:0;padding:9px;background:var(--panel);border:1px solid var(--line);border-left:4px solid #2563eb;border-radius:6px}.document-intake-file--estimate{border-left-color:#d56b2d}.document-intake-file--ignore{border-left-color:var(--muted);opacity:.76}.document-intake-route-icon{display:grid;width:30px;height:30px;place-items:center;color:#fff;background:#2563eb;border-radius:5px}.document-intake-file--estimate .document-intake-route-icon{background:#d56b2d}.document-intake-file--ignore .document-intake-route-icon{background:var(--muted)}.document-intake-file-name,.document-intake-file-name strong,.document-intake-file-name small{display:block;min-width:0}.document-intake-file-name strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.document-intake-file-name small{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.35}.document-intake-file select{min-width:0;min-height:34px;padding:6px 8px;color:var(--ink);font-size:.72rem;font-weight:800;background:var(--field);border:1px solid var(--line);border-radius:5px}.document-intake-file>button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--red);background:transparent;border:1px solid color-mix(in srgb,var(--red) 32%,var(--line));border-radius:5px}.document-intake-empty{display:grid;min-height:86px;place-items:center;gap:3px;color:var(--muted);text-align:center;background:var(--panel);border:1px dashed var(--line);border-radius:6px}.document-intake-empty strong{color:var(--ink);font-size:.84rem}.document-intake-empty span{font-size:.72rem}.document-intake-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:12px}.document-intake-actions p{flex:1 1 320px;min-width:0;color:var(--muted);font-size:.77rem;font-weight:800}.document-intake-actions p.is-working{color:#0f766e}.document-intake-next-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.document-intake-next-actions .secondary-button{min-height:36px;padding-inline:11px;font-size:.7rem;white-space:nowrap}.document-intake-activity{display:grid;flex:1 1 100%;gap:10px;width:100%;padding:12px;color:var(--ink);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 82%,#2563eb 8%),var(--panel));border:1px solid color-mix(in srgb,var(--line) 70%,#2563eb);border-left:4px solid #2563eb;border-radius:7px}.document-intake-activity>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-intake-activity>header>div{display:flex;gap:9px;min-width:0}.document-intake-activity svg{flex:0 0 auto;color:#2563eb}.document-intake-activity strong,.document-intake-activity small,.document-intake-activity span,.document-intake-activity p,.document-intake-activity li{min-width:0;overflow-wrap:anywhere}.document-intake-activity strong,.document-intake-activity small{display:block}.document-intake-activity small,.document-intake-activity p,.document-intake-activity li{color:var(--muted);font-size:.72rem;line-height:1.35}.document-intake-activity>header em{min-width:max-content;padding:4px 7px;color:#1d4ed8;font-size:.66rem;font-style:normal;font-weight:900;background:#dbeafe;border:1px solid #bfdbfe;border-radius:4px}.document-intake-activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px}.document-intake-activity-stats span{display:grid;gap:2px;padding:9px;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase;background:var(--panel);border:1px solid var(--line);border-radius:5px}.document-intake-activity-stats b{color:var(--ink);font-size:1rem}.document-intake-activity-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.document-intake-activity-body article{display:grid;align-content:start;gap:6px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-activity-body article>strong{display:inline-flex;align-items:center;gap:6px;font-size:.76rem}.document-intake-activity-body ul{display:grid;gap:4px;margin:0;padding-left:17px}.document-intake-activity-meta,.document-intake-activity-categories{display:flex;flex-wrap:wrap;gap:7px}.document-intake-activity-meta span,.document-intake-activity-categories span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 7px;color:var(--muted);font-size:.68rem;font-weight:850;background:var(--panel);border:1px solid var(--line);border-radius:4px}.document-intake-activity-meta b,.document-intake-activity-categories b{color:var(--ink)}.document-intake-activity-files{padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-activity-files summary{color:var(--ink);font-size:.72rem;font-weight:900;cursor:pointer}.document-intake-activity-files>div{display:grid;gap:6px;margin-top:8px}.document-intake-activity-files span{display:grid;gap:2px;padding:7px 8px;background:var(--panel-soft);border:1px solid var(--line);border-radius:4px;font-size:.72rem}.document-intake-activity-files b{color:#2563eb;font-size:.62rem;text-transform:uppercase}.document-intake-activity-evidence{padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.document-intake-activity-evidence summary{color:var(--ink);font-size:.72rem;font-weight:900;cursor:pointer}.document-intake-activity-evidence>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;margin-top:8px}.document-intake-activity-evidence span{display:grid;gap:2px;padding:7px 8px;border:1px solid var(--line);border-radius:4px}.document-intake-activity-evidence b{font-size:.58rem;text-transform:uppercase}.document-intake-activity-evidence strong{color:var(--ink);font-size:.7rem}.document-intake-rfq-created{display:grid;flex:1 1 100%;gap:10px;width:100%;padding:12px;background:#ecfdf5;border:1px solid #9adfc4;border-left:4px solid #0f766e;border-radius:7px}.document-intake-rfq-created>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.document-intake-rfq-created>header>div{display:flex;align-items:center;gap:9px;min-width:0}.document-intake-rfq-created>header svg{flex:0 0 auto;color:#0f766e}.document-intake-rfq-created span,.document-intake-rfq-created strong,.document-intake-rfq-created small,.document-intake-rfq-created em{display:block}.document-intake-rfq-created small,.document-intake-rfq-created span,.document-intake-rfq-created em{color:#47615c;font-size:.72rem;line-height:1.35}.document-intake-rfq-created em{overflow-wrap:anywhere;font-style:normal;font-weight:800}.document-intake-rfq-created-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.document-intake-rfq-created-grid article{display:grid;gap:4px;padding:10px;background:#fff;border:1px solid #bdebd9;border-radius:6px}.project-readiness{display:grid;gap:13px;padding:18px 24px 22px;background:var(--panel);border-bottom:1px solid var(--line);border-left:4px solid #d97706}.project-readiness--ready{border-left-color:#0f766e}.project-readiness--blocked{border-left-color:#b42318}.project-readiness>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-readiness>header h3{margin-top:3px;font-size:1.08rem}.project-readiness>header span{display:block;margin-top:4px;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.4}.project-readiness>header>strong{display:inline-flex;align-items:center;gap:7px;min-width:max-content;padding:7px 10px;color:#92400e;font-size:.76rem;background:#fff4d8;border:1px solid #f3d08a;border-radius:5px}.project-readiness--ready>header>strong{color:#08756c;background:#e8f7f4;border-color:#bce8e1}.project-readiness--blocked>header>strong{color:#a42f2d;background:#fde6e4;border-color:#f0b8b2}.project-readiness-stages{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;overflow-x:auto}.project-readiness-stage{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:7px;min-width:124px;min-height:58px;padding:9px;color:var(--ink);text-align:left;background:var(--panel-soft);border:1px solid var(--line);border-top:3px solid #d97706;border-radius:6px}.project-readiness-stage--ready{border-top-color:#0f766e}.project-readiness-stage--blocked{border-top-color:#b42318}.project-readiness-stage:hover{background:var(--field)}.project-readiness-stage>svg:first-child{color:#2563eb}.project-readiness-stage>svg:last-child{color:#d97706}.project-readiness-stage--ready>svg:last-child{color:#0f766e}.project-readiness-stage--blocked>svg:last-child{color:#b42318}.project-readiness-stage span{min-width:0}.project-readiness-stage strong,.project-readiness-stage small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-readiness-stage strong{font-size:.72rem}.project-readiness-stage small{margin-top:2px;color:var(--muted);font-size:.61rem;font-weight:850}.project-readiness-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:12px}.project-readiness-actions,.project-readiness-snapshot{overflow:hidden;background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.project-readiness-actions>header,.project-readiness-snapshot>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:45px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.project-readiness-actions>header strong,.project-readiness-snapshot>header strong{font-size:.8rem}.project-readiness-actions>header span,.project-readiness-snapshot>header span{color:var(--muted);font-size:.68rem;font-weight:800}.project-readiness-action{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;padding:11px 12px;background:var(--panel);border-bottom:1px solid var(--line);border-left:3px solid #d97706}.project-readiness-action:last-child{border-bottom:0}.project-readiness-action--blocked{border-left-color:#b42318}.project-readiness-action strong,.project-readiness-action span,.project-readiness-action small{display:block;min-width:0;overflow-wrap:anywhere}.project-readiness-action strong{font-size:.78rem}.project-readiness-action span{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}.project-readiness-action small{margin-top:5px;color:#0f766e;font-size:.62rem;font-weight:900;text-transform:uppercase}.project-readiness-action button{min-height:34px;padding:0 10px;color:#fff;font-size:.68rem;font-weight:900;background:#2563eb;border:0;border-radius:5px;white-space:nowrap}.project-readiness-empty{display:grid;justify-items:center;gap:6px;padding:24px 14px;color:var(--muted);text-align:center}.project-readiness-empty svg{color:#0f766e}.project-readiness-empty strong{color:var(--ink)}.project-readiness-empty span{font-size:.72rem}.project-readiness-snapshot{display:grid;align-content:start}.project-readiness-snapshot>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 12px;border-bottom:1px solid var(--line)}.project-readiness-snapshot>div:last-child{border-bottom:0}.project-readiness-snapshot span{color:var(--muted);font-size:.68rem;font-weight:850}.project-readiness-snapshot strong{font-size:.78rem}.bid-control-center{display:grid;gap:14px;padding:18px 24px 22px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-soft) 84%,#2563eb 7%),var(--panel) 72%);border-bottom:1px solid var(--line);border-left:4px solid #d97706}.bid-control-center--ready{border-left-color:#0f766e}.bid-control-center--blocked{border-left-color:#b42318}.bid-control-center>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bid-control-center h3{margin-top:3px;font-size:1.08rem}.bid-control-center>header span{display:block;max-width:820px;margin-top:4px;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.4}.bid-control-center>header>strong{display:inline-flex;align-items:center;gap:7px;min-width:max-content;padding:7px 10px;color:#92400e;font-size:.76rem;background:#fff4d8;border:1px solid #f3d08a;border-radius:5px}.bid-control-center--ready>header>strong{color:#08756c;background:#e8f7f4;border-color:#bce8e1}.bid-control-center--blocked>header>strong{color:#a42f2d;background:#fde6e4;border-color:#f0b8b2}.bid-control-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:7px}.bid-control-stats span{display:grid;gap:3px;min-width:0;padding:10px 12px;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase;background:var(--panel);border-right:1px solid var(--line)}.bid-control-stats span:last-child{border-right:0}.bid-control-stats b{color:var(--ink);font-size:1rem}.bid-control-next,.bid-control-grid>section{overflow:hidden;background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.bid-control-next>header,.bid-control-grid>section>header{display:flex;align-items:center;gap:8px;min-height:45px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.bid-control-next>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;padding:10px}.bid-control-next-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;min-height:58px;padding:9px 10px;color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid #d97706;border-radius:6px}.bid-control-next-item--blocked{border-left-color:#b42318}.bid-control-next-item--ready{border-left-color:#0f766e}.bid-control-next-item span,.bid-control-next-item strong,.bid-control-next-item small{display:block;min-width:0;overflow-wrap:anywhere}.bid-control-next-item strong{font-size:.76rem}.bid-control-next-item small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.bid-control-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.bid-control-grid--bottom{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.bid-control-card,.bid-control-group,.bid-control-rfq-row{display:grid;grid-template-columns:22px minmax(0,1fr) max-content;align-items:center;gap:9px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--line);border-left:3px solid #d97706}.bid-control-group,.bid-control-rfq-row{grid-template-columns:minmax(0,1fr) max-content}.bid-control-card--ready,.bid-control-group--ready,.bid-control-rfq-row--ready{border-left-color:#0f766e}.bid-control-card--blocked,.bid-control-group--blocked,.bid-control-rfq-row--blocked{border-left-color:#b42318}.bid-control-card:last-child,.bid-control-group:last-child,.bid-control-rfq-row:last-child{border-bottom:0}.bid-control-card strong,.bid-control-card span,.bid-control-card small,.bid-control-group strong,.bid-control-group span,.bid-control-rfq-row strong,.bid-control-rfq-row span{display:block;min-width:0;overflow-wrap:anywhere}.bid-control-card strong,.bid-control-group strong,.bid-control-rfq-row strong{font-size:.78rem}.bid-control-card span,.bid-control-group span,.bid-control-rfq-row span{margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.35}.bid-control-card small{margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.35}.bid-control-card button,.bid-control-group button{min-height:32px;padding:0 9px;color:#fff;font-size:.66rem;font-weight:900;background:#2563eb;border:0;border-radius:5px;white-space:nowrap}.bid-control-group ul{grid-column:1 / -1;display:grid;gap:3px;margin:0;padding-left:17px;color:var(--muted);font-size:.68rem}.bid-control-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;font-size:.62rem;font-weight:900;border-radius:4px;white-space:nowrap}.bid-control-pill--ready{color:#08756c;background:#e8f7f4;border:1px solid #bce8e1}.bid-control-pill--review{color:#92400e;background:#fff4d8;border:1px solid #f3d08a}.bid-control-pill--blocked{color:#a42f2d;background:#fde6e4;border:1px solid #f0b8b2}.bid-control-empty{margin:0;padding:18px 12px;color:var(--muted);font-size:.74rem;font-weight:800}.bid-control-grid .secondary-button{justify-self:start;margin:10px 12px 12px;min-height:36px}.bid-packet-export{display:grid;gap:13px;padding:18px 24px 22px;background:linear-gradient(135deg,#f8fbfc,#fff 64%);border-bottom:1px solid var(--line);border-left:4px solid #d97706}.bid-packet-export--ready{border-left-color:#0f766e}.bid-packet-export>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bid-packet-export h3{margin-top:3px;font-size:1.06rem}.bid-packet-export>header span{display:block;max-width:760px;margin-top:4px;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.4}.bid-packet-export>header>strong{min-width:max-content;padding:7px 10px;color:#92400e;font-size:.72rem;background:#fff4d8;border:1px solid #f3d08a;border-radius:5px}.bid-packet-export--ready>header>strong{color:#08756c;background:#e8f7f4;border-color:#bce8e1}.bid-packet-export-actions{display:flex;flex-wrap:wrap;gap:9px}.bid-packet-export-actions button{min-height:40px;padding-inline:12px}.secondary-button:disabled{cursor:not-allowed;opacity:.46}.bid-packet-export-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:7px}.bid-packet-export-stats span{display:grid;gap:3px;min-width:0;padding:10px 12px;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase;background:var(--panel);border-right:1px solid var(--line)}.bid-packet-export-stats span:last-child{border-right:0}.bid-packet-export-stats strong{color:var(--ink);font-size:.96rem;line-height:1.15;overflow-wrap:anywhere;text-transform:none}.bid-packet-export-notice{margin:0;padding:10px 11px;color:#0f766e;font-size:.76rem;font-weight:850;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:5px}.release-health{display:grid;gap:13px;padding:18px 24px 22px;background:var(--panel);border-bottom:1px solid var(--line);border-left:4px solid #d97706}.release-health--pass{border-left-color:#0f766e}.release-health--fail{border-left-color:#b42318}.release-health>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.release-health h3{margin-top:3px;font-size:1.02rem}.release-health>header span{display:block;margin-top:4px;color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.4}.release-health>header button{min-width:max-content}.release-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.release-health-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;min-width:0;padding:11px;background:var(--panel-soft);border:1px solid var(--line);border-top:3px solid #d97706;border-radius:6px}.release-health-check--pass{border-top-color:#0f766e}.release-health-check--fail{border-top-color:#b42318}.release-health-check>svg{color:#d97706}.release-health-check--pass>svg{color:#0f766e}.release-health-check--fail>svg{color:#b42318}.release-health-check strong,.release-health-check span,.release-health-check small{display:block;min-width:0;overflow-wrap:anywhere}.release-health-check strong{font-size:.76rem}.release-health-check span{margin-top:4px;color:var(--muted);font-size:.68rem;font-weight:780;line-height:1.35}.release-health-check small{margin-top:5px;color:#0f766e;font-size:.62rem;font-weight:900;text-transform:uppercase}.release-health footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.68rem;font-weight:850}.guided-fix-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:18px;background:#0f172a85}.guided-fix{display:grid;gap:0;width:min(640px,100%);max-height:calc(100vh - 36px);overflow:auto;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-top:4px solid #2563eb;border-radius:8px;box-shadow:0 24px 70px #0f172a52}.guided-fix>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.guided-fix>header span{color:#2563eb;font-size:.66rem;font-weight:900;text-transform:uppercase}.guided-fix>header h3{margin-top:3px;font-size:1.08rem}.guided-fix>header p{margin-top:5px;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.4}.guided-fix>header button{min-height:32px;padding:0 10px;color:var(--muted);font-size:.68rem;font-weight:900;background:var(--panel);border:1px solid var(--line);border-radius:5px}.guided-fix-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.guided-fix-fields label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.guided-fix-fields input,.guided-fix-fields select{min-height:42px;padding:8px 10px;color:var(--ink);font-size:.86rem;font-weight:800;background:var(--field);border:1px solid var(--line);border-radius:5px}.guided-fix-fields .span-2,.guided-fix-hint{grid-column:1 / -1}.guided-fix-hint{margin:0;color:var(--muted);font-size:.74rem;font-weight:800}.guided-fix-route{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;margin:18px;padding:14px;color:var(--ink);background:#fff4d8;border:1px solid #f3d08a;border-left:4px solid #d97706;border-radius:6px}.guided-fix-route svg{color:#d97706}.guided-fix-route strong,.guided-fix-route span{display:block}.guided-fix-route span{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.35}.guided-fix-error{margin:0 18px 14px;padding:10px 11px;color:#a42f2d;font-size:.76rem;font-weight:850;background:#fde6e4;border:1px solid #f0b8b2;border-radius:5px}.guided-fix footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 18px;background:var(--panel-soft);border-top:1px solid var(--line)}.home-section{padding:22px 24px 25px;border-bottom:1px solid var(--line)}.home-section:last-child{border-bottom:0}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.home-section-heading span{color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.home-section-heading h3{margin-top:3px;font-size:1.12rem}.home-section-heading>small{color:var(--muted);font-size:.76rem;font-weight:800}.home-section-actions{display:flex;align-items:center;gap:10px}.home-section-actions .project-count{color:var(--muted);font-size:.72rem}.home-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-task{--task-accent: #0f8a7d;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:13px;min-width:0;min-height:126px;padding:17px;color:var(--ink);text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--task-accent);border-radius:6px;box-shadow:0 5px 15px #0f172a0f;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.home-task--documents{--task-accent: #2563eb}.home-task--estimate{--task-accent: #d56b2d}.home-task--subcontractors{--task-accent: #7c5ac7}.home-task--suppliers{--task-accent: #c78a12}.home-task:hover{border-color:var(--task-accent);box-shadow:0 10px 24px #0f172a1c;transform:translateY(-1px)}.home-task:disabled{cursor:not-allowed;opacity:.48;transform:none}.home-task>svg{color:var(--muted)}.home-task-icon{display:grid;width:46px;height:46px;place-items:center;color:#fff;background:var(--task-accent);border-radius:6px}.home-task-copy,.home-task-copy strong,.home-task-copy small,.home-task-copy em{display:block;min-width:0}.home-task-copy strong{font-size:.98rem}.home-task-copy small{max-width:440px;margin-top:5px;color:var(--muted);font-size:.77rem;line-height:1.42}.home-task-copy em{margin-top:9px;color:var(--task-accent);font-size:.68rem;font-style:normal;font-weight:900;text-transform:uppercase}.home-new-project{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;color:#fff;font-weight:900;background:#2563eb;border:0;border-radius:5px;white-space:nowrap}.home-new-project:disabled{cursor:wait;opacity:.68}.home-new-project--refresh{color:var(--ink);background:var(--panel);border:1px solid var(--line)}.home-new-project--refresh:hover:not(:disabled){border-color:#0f8a7d}.home-new-project .is-spinning{animation:bid-refresh-spin .8s linear infinite}.drive-refresh-status{margin:0 0 12px;color:#08756c;font-size:.8rem;font-weight:700}.drive-refresh-status.is-error{color:var(--red)}.project-drive-source{display:flex;flex-wrap:wrap;gap:4px 10px;margin:10px 0 0;font-size:.75rem}.project-drive-source a{color:#1261ae;font-weight:800}.project-drive-source span{color:var(--muted)}.home-portfolio .portfolio-tools{grid-template-columns:minmax(220px,1fr) minmax(150px,210px) 220px;align-items:center;padding:0 0 14px;border:0}.home-project-list{overflow:hidden;border:1px solid var(--line);border-radius:6px}.home-project-entry{display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:center;background:var(--panel);border-bottom:1px solid var(--line)}.home-project-entry:last-child{border-bottom:0}.home-project-entry.is-selected{background:#eef6ff;box-shadow:inset 3px 0 #2563eb}.home-project-select{display:grid;grid-template-columns:minmax(220px,1fr) 100px minmax(120px,150px) 120px 22px;align-items:center;gap:13px;width:100%;min-height:61px;padding:10px 13px;color:var(--ink);text-align:left;background:transparent;border:0}.home-project-entry:hover{background:var(--panel-soft)}.home-project-list span strong,.home-project-list span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-project-list span strong{font-size:.82rem}.home-project-list span small{margin-top:3px;color:var(--muted);font-size:.69rem}.home-project-list em{justify-self:start;padding:4px 7px;color:#08756c;font-size:.66rem;font-style:normal;font-weight:900;background:#e8f7f4;border:1px solid #bce8e1;border-radius:4px}.home-project-select>strong{justify-self:end;font-size:.78rem}.home-project-select>svg{color:var(--muted)}.home-project-readiness{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;justify-self:start;min-width:0;padding:4px 7px;color:#92400e;font-size:.64rem;font-weight:900;background:#fff4d8;border:1px solid #f3d08a;border-radius:4px;white-space:nowrap}.home-project-readiness svg{flex:0 0 auto}.home-project-readiness small{color:inherit!important;font-size:.58rem!important}.home-project-readiness--ready{color:#08756c;background:#e8f7f4;border-color:#bce8e1}.home-project-readiness--blocked{color:#a42f2d;background:#fde6e4;border-color:#f0b8b2}.home-project-delete{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:72px;height:34px;place-self:center;color:var(--red);font-size:.68rem;font-weight:900;background:transparent;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:5px}.home-project-delete:hover:not(:disabled){color:#fff;background:var(--red);border-color:var(--red)}.home-project-delete:disabled{cursor:not-allowed;opacity:.38}.no-project-workspace{display:grid;grid-column:2 / -1;min-height:420px;place-content:center;justify-items:center;padding:28px;color:var(--muted);text-align:center;background:var(--panel);border:1px solid var(--line);border-top:3px solid #2563eb;border-radius:6px;box-shadow:var(--shadow)}.no-project-workspace svg{color:#2563eb}.no-project-workspace h2{margin-top:12px;color:var(--ink);font-size:1.2rem}.no-project-workspace p{max-width:450px;margin-top:7px;line-height:1.45}.no-project-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}:root[data-theme=dark] .home-dashboard,:root[data-theme=dark] .today-command-grid article,:root[data-theme=dark] .bid-command-wizard,:root[data-theme=dark] .bid-command-primary,:root[data-theme=dark] .bid-command-progress,:root[data-theme=dark] .bid-command-stats span,:root[data-theme=dark] .bid-command-step,:root[data-theme=dark] .home-task,:root[data-theme=dark] .home-project-entry{background:var(--panel)}:root[data-theme=dark] .home-project-entry.is-selected{background:#18334a}:root[data-theme=dark] .today-command{background:#111a20}:root[data-theme=dark] .bid-command-step.is-active{background:#18334a;border-color:#2f68a1}:root[data-theme=dark] .bid-command-progress>span{background:#22313c}:root[data-theme=dark] .home-project-list em{color:#8be0d1;background:#173b35;border-color:#2d675f}:root[data-theme=dark] .project-readiness{background:var(--panel)}:root[data-theme=dark] .project-readiness-stage,:root[data-theme=dark] .project-readiness-action,:root[data-theme=dark] .project-readiness-actions>header,:root[data-theme=dark] .project-readiness-snapshot>header{background:#152229}:root[data-theme=dark] .project-readiness>header>strong,:root[data-theme=dark] .home-project-readiness{color:#ffe4a3;background:#413713;border-color:#734919}:root[data-theme=dark] .project-readiness--ready>header>strong,:root[data-theme=dark] .home-project-readiness--ready{color:#8be0d1;background:#123a32;border-color:#286b61}:root[data-theme=dark] .project-readiness--blocked>header>strong,:root[data-theme=dark] .home-project-readiness--blocked{color:#fecaca;background:#4b1f1d;border-color:#7f2f2a}:root[data-theme=dark] .guided-fix-route{background:#413713;border-color:#734919}:root[data-theme=dark] .bid-packet-export{background:linear-gradient(135deg,#111c25 0%,var(--panel) 72%)}:root[data-theme=dark] .bid-control-center{background:linear-gradient(135deg,#111c25 0%,var(--panel) 72%)}:root[data-theme=dark] .bid-control-center>header>strong,:root[data-theme=dark] .bid-control-pill--review{color:#ffe4a3;background:#413713;border-color:#734919}:root[data-theme=dark] .bid-control-center--ready>header>strong,:root[data-theme=dark] .bid-control-pill--ready{color:#8be0d1;background:#123a32;border-color:#286b61}:root[data-theme=dark] .bid-control-center--blocked>header>strong,:root[data-theme=dark] .bid-control-pill--blocked{color:#fecaca;background:#4b1f1d;border-color:#7f2f2a}:root[data-theme=dark] .bid-control-next,:root[data-theme=dark] .bid-control-grid>section{background:#101a20}:root[data-theme=dark] .bid-control-next>header,:root[data-theme=dark] .bid-control-grid>section>header,:root[data-theme=dark] .bid-control-card,:root[data-theme=dark] .bid-control-group,:root[data-theme=dark] .bid-control-rfq-row,:root[data-theme=dark] .bid-control-next-item,:root[data-theme=dark] .bid-control-stats span{background:#152229}:root[data-theme=dark] .bid-packet-export>header>strong{color:#ffe4a3;background:#413713;border-color:#734919}:root[data-theme=dark] .bid-packet-export--ready>header>strong,:root[data-theme=dark] .bid-packet-export-notice{color:#8be0d1;background:#123a32;border-color:#286b61}:root[data-theme=dark] .bid-packet-export-stats span{background:#152229}:root[data-theme=dark] .release-health,:root[data-theme=dark] .release-health-check{background:var(--panel)}:root[data-theme=dark] .release-health-check{background:#152229}:root[data-theme=dark] .document-intake{background:linear-gradient(180deg,#17212b,var(--panel))}:root[data-theme=dark] .document-intake-dropzone:hover,:root[data-theme=dark] .document-intake-dropzone.is-dragging{color:#8be0d1;background:#153b35;border-color:#2d675f}:root[data-theme=dark] .document-intake-counts span{color:#8be0d1;background:#173b35;border-color:#2d675f}:root[data-theme=dark] .document-intake-workflow{background:#111c25;border-color:#244652}:root[data-theme=dark] .document-intake-activity{background:linear-gradient(180deg,#172d43,var(--panel));border-color:#2f5f9c}:root[data-theme=dark] .document-intake-activity>header em{color:#bfdbfe;background:#1e3a5f;border-color:#2f5f9c}:root[data-theme=dark] .document-intake-activity-files b{color:#93c5fd}:root[data-theme=dark] .document-intake-rfq-created{background:#123a32;border-color:#286b61}:root[data-theme=dark] .document-intake-rfq-created-grid article{background:#152229;border-color:#286b61}:root[data-theme=dark] .document-intake-review{background:#112424;border-color:#244652}:root[data-theme=dark] .document-intake-evidence{background:#13202a;border-color:#294054}:root[data-theme=dark] .document-intake-evidence header .is-ready,:root[data-theme=dark] .document-intake-evidence-row--ready b{color:#8be0d1;background:#123a32}:root[data-theme=dark] .document-intake-evidence header .needs-review,:root[data-theme=dark] .document-intake-evidence-row--review b{color:#ffe4a3;background:#413713}:root[data-theme=dark] .document-intake-evidence-row--missing b,:root[data-theme=dark] .document-intake-evidence-row--conflict b{color:#fecaca;background:#4a1717}:root[data-theme=dark] .document-intake-evidence-conflicts{color:#fed7aa;background:#341c0d;border-color:#7c2d12}:root[data-theme=dark] .document-intake-repair{background:#2b2112;border-color:#734919}:root[data-theme=dark] .document-intake-repair-grid article,:root[data-theme=dark] .document-intake-material-row{background:#152229}:root[data-theme=dark] .document-intake-repair>header em{color:#ffe4a3;background:#413713;border-color:#734919}:root[data-theme=dark] .document-intake-review .is-ready b{color:#8be0d1;background:#123a32}:root[data-theme=dark] .document-intake-review .needs-review b{color:#ffe4a3;background:#413713}:root[data-theme=dark] .document-intake-rfq-created small,:root[data-theme=dark] .document-intake-rfq-created span,:root[data-theme=dark] .document-intake-rfq-created em{color:#b9d7d0}@media(max-width:1180px){.home-dashboard-header{grid-template-columns:1fr;gap:18px}.home-metrics,.today-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-weather{grid-column:1 / -1}.home-metrics article:nth-child(2){border-right:0}.home-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.home-portfolio .portfolio-tools{grid-template-columns:1fr 180px 200px}.document-intake-grid{grid-template-columns:1fr}.document-intake-file{grid-template-columns:34px minmax(0,1fr) 34px;align-items:start}.document-intake-file select{grid-column:2 / 3}.document-intake-file>button{grid-column:3 / 4;grid-row:1 / 2}}@media(max-width:760px){.home-dashboard-header{min-height:0;padding:20px 17px;border-left-width:0;border-top:4px solid #f5c84c}.home-dashboard-header h2{font-size:1.22rem}.home-dashboard-header>div>p:last-child{font-size:.8rem}.document-intake{padding:18px 13px}.today-command{padding:16px 13px}.today-command>header{align-items:flex-start;flex-direction:column}.today-command>header small{text-align:left}.today-command-grid{grid-template-columns:1fr}.today-weather{grid-column:auto}.bid-command-wizard{padding:16px 13px}.bid-command-wizard>header{grid-template-columns:1fr}.bid-command-progress{max-width:220px}.bid-command-primary{grid-template-columns:46px minmax(0,1fr)}.bid-command-primary-icon{width:46px;height:46px}.bid-command-primary .primary-button{grid-column:1 / -1;justify-content:center}.bid-command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-command-steps{grid-template-columns:repeat(7,minmax(126px,1fr))}.project-readiness{padding:16px 13px}.project-readiness>header{flex-direction:column}.project-readiness>header>strong{min-width:0;width:fit-content}.project-readiness-stages{grid-template-columns:repeat(7,minmax(128px,1fr))}.project-readiness-body,.project-readiness-action{grid-template-columns:1fr}.project-readiness-action button{justify-self:start}.bid-control-center{padding:16px 13px}.bid-control-center>header{flex-direction:column}.bid-control-center>header>strong{min-width:0;width:fit-content}.bid-control-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-control-stats span:nth-child(2){border-right:0}.bid-control-stats span:nth-child(-n+2){border-bottom:1px solid var(--line)}.bid-control-grid,.bid-control-grid--bottom{grid-template-columns:1fr}.bid-control-card,.bid-control-group,.bid-control-rfq-row{grid-template-columns:minmax(0,1fr)}.bid-control-card>svg{display:none}.bid-control-card button,.bid-control-group button{justify-self:start}.bid-packet-export{padding:16px 13px}.bid-packet-export>header{flex-direction:column}.bid-packet-export>header>strong{min-width:0;width:fit-content}.bid-packet-export-actions button{flex:1 1 210px}.bid-packet-export-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bid-packet-export-stats span:nth-child(2){border-right:0}.bid-packet-export-stats span:nth-child(-n+2){border-bottom:1px solid var(--line)}.release-health{padding:16px 13px}.release-health>header{flex-direction:column}.release-health>header button{min-width:0;width:100%}.release-health-grid{grid-template-columns:1fr}.release-health footer{flex-direction:column}.guided-fix-backdrop{align-items:end;padding:10px}.guided-fix{max-height:calc(100vh - 20px)}.guided-fix>header{flex-direction:column}.guided-fix-fields{grid-template-columns:1fr;padding:14px}.guided-fix footer{align-items:stretch;flex-direction:column-reverse}.guided-fix footer button{justify-content:center;width:100%}.document-intake-header{flex-direction:column}.document-intake-counts{justify-content:flex-start;min-width:0}.document-intake-dropzone{min-height:190px;padding:18px 14px}.document-intake-review>div{grid-template-columns:1fr}.document-intake-evidence-grid,.document-intake-meta-row,.document-intake-workflow,.document-intake-repair-grid{grid-template-columns:1fr}.document-intake-activity>header{flex-direction:column}.document-intake-activity>header em{min-width:0;width:fit-content}.document-intake-activity-body{grid-template-columns:1fr}.document-intake-file{grid-template-columns:30px minmax(0,1fr) 32px;align-items:start}.document-intake-file select{grid-column:2 / 3!important}.document-intake-file>button{grid-column:3 / 4;grid-row:1 / 2}.document-intake-actions{align-items:stretch;flex-direction:column}.document-intake-next-actions{width:100%;flex-direction:column;margin-left:0}.document-intake-next-actions .secondary-button,.document-intake-actions .primary-button{justify-content:center;width:100%}.home-section{padding:18px 13px}.home-task-grid{grid-template-columns:1fr}.home-task{min-height:112px;padding:14px}.home-portfolio .portfolio-tools{grid-template-columns:1fr}.home-project-select{grid-template-columns:minmax(0,1fr) 22px;gap:8px}.home-project-select>em,.home-project-select>strong,.home-project-readiness{display:none!important}.home-section-heading{align-items:flex-start}.home-portfolio .home-section-heading{flex-direction:column}.home-section-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.home-section-actions .project-count{margin-right:auto}.home-new-project{white-space:normal;text-align:left}.home-section-heading>small{display:none}.no-project-workspace{grid-column:1;min-height:260px}}@media(max-width:460px){.home-metrics article{min-height:70px;padding:12px}.home-metrics small{font-size:.58rem}.home-metrics strong{font-size:.9rem}.home-task{grid-template-columns:42px minmax(0,1fr) 18px;gap:10px}.home-task-icon{width:42px;height:42px}.home-task-copy small{font-size:.72rem}.workspace-frame .board-nav-button>div strong{font-size:.55rem}}@media(max-width:360px){.home-section-heading{align-items:stretch;flex-direction:column}.home-section-actions{justify-content:space-between}}.supplier-quotes-module{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-top:3px solid #c78a12;border-radius:7px;box-shadow:var(--shadow)}.supplier-quotes-header,.supplier-editor-title,.supplier-editor-footer,.supplier-contact-log>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.supplier-quotes-header{min-height:82px;padding:18px 20px;border-bottom:1px solid var(--line)}.supplier-quotes-header h2{font-size:1.4rem}.supplier-quotes-header>div>p:last-child{margin-top:4px;color:var(--muted);font-size:.82rem}.supplier-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:3px;color:#0f172a;font-size:.66rem;font-style:normal;font-weight:950;background:#facc15;border-radius:999px}.supplier-quote-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-quote-metrics article{display:flex;align-items:center;gap:10px;min-height:68px;padding:12px 17px;border-right:1px solid var(--line)}.supplier-quote-metrics article:last-child{border-right:0}.supplier-quote-metrics article:nth-child(1) svg{color:#2563eb}.supplier-quote-metrics article:nth-child(2) svg{color:#c78a12}.supplier-quote-metrics article:nth-child(3) svg{color:#0f8a7d}.supplier-quote-metrics article:nth-child(4) svg{color:#7c5ac7}.supplier-quote-metrics small,.supplier-quote-metrics strong{display:block}.supplier-quote-metrics small{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.supplier-quote-metrics strong{margin-top:2px;font-size:1.18rem}.supplier-workspace-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.supplier-workspace-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:5px 10px;color:var(--muted);font-weight:900;background:var(--panel-soft);border:0}.supplier-workspace-tabs button.is-selected{color:var(--ink);background:var(--panel);box-shadow:inset 0 -3px #c78a12}.supplier-quotes-layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:690px}.supplier-directory{min-width:0;background:var(--panel-soft);border-right:1px solid var(--line)}.supplier-filters{display:grid;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.supplier-filters label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-filters input{width:100%;min-width:0;min-height:36px;padding:0;color:var(--ink);background:transparent!important;border:0;outline:0}.supplier-filters select{width:100%;min-height:40px;padding:6px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-list{max-height:780px;overflow:auto}.supplier-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;width:100%;padding:12px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.supplier-list>button:hover,.supplier-list>button.is-selected{background:var(--field)}.supplier-list>button.is-selected{box-shadow:inset 3px 0 #c78a12}.supplier-list>button span{min-width:0}.supplier-list>button strong,.supplier-list>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-list>button strong{font-size:.82rem}.supplier-list>button small{margin-top:3px;color:var(--muted);font-size:.69rem}.supplier-list>button b{grid-column:1 / -1;color:var(--muted);font-size:.65rem;font-weight:800}.supplier-status{align-self:start;padding:3px 6px;font-size:.64rem;font-style:normal;font-weight:900;border:1px solid var(--line);border-radius:4px}.supplier-status--yes{color:#08756c;background:#e8f7f4;border-color:#bce8e1}.supplier-status--no{color:var(--red);background:#fff2ef;border-color:#f0c3ba}.supplier-status--pending{color:#946010;background:#fff8e6;border-color:#efd59c}.supplier-empty{display:grid;justify-items:center;gap:6px;padding:46px 18px;color:var(--muted);text-align:center}.supplier-empty strong{color:var(--ink)}.supplier-empty span{font-size:.75rem}.supplier-quote-editor{min-width:0;background:var(--panel)}.supplier-editor-title{min-height:69px;padding:13px 17px;border-bottom:1px solid var(--line)}.supplier-editor-title>div{display:flex;align-items:center;gap:9px;min-width:0}.supplier-editor-title>div>svg{color:#c78a12}.supplier-editor-title small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.supplier-editor-title h3{margin:2px 0 0;overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.supplier-notice{padding:9px 17px;color:#0e5b50;font-size:.78rem;font-weight:800;background:#dff5ee;border-bottom:1px solid #a9ddd0}.supplier-form-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px;padding:18px;border-bottom:1px solid var(--line)}.supplier-form-grid label,.supplier-timestamps label{display:grid;gap:5px;color:var(--muted);font-size:.71rem;font-weight:900}.supplier-form-grid input,.supplier-form-grid select,.supplier-timestamps input{width:100%;min-height:41px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-form-grid input[readonly]{color:#0f766e;font-size:1rem;font-weight:900}.supplier-quote-items{margin:18px;overflow:hidden;border:1px solid var(--line);border-radius:6px}.supplier-quote-items>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-quote-items>header span{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.supplier-quote-items h4{margin:2px 0 0;font-size:.9rem}.supplier-quote-items>header button{padding:0 10px}.supplier-item-table{overflow-x:auto}.supplier-item-head,.supplier-item-row{display:grid;grid-template-columns:minmax(190px,1.8fr) 90px 82px 110px 110px 34px;align-items:center;gap:8px;min-width:680px;padding:8px 10px}.supplier-item-head{min-height:36px;color:var(--muted);font-size:.61rem;font-weight:900;text-transform:uppercase;background:var(--field);border-bottom:1px solid var(--line)}.supplier-item-row{border-bottom:1px solid var(--line)}.supplier-item-row label{min-width:0}.supplier-item-row label>span{display:none}.supplier-item-row input,.supplier-item-row select{width:100%;min-width:0;min-height:37px;padding:6px 8px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px}.supplier-item-row>strong{font-size:.76rem;text-align:right}.supplier-item-row>button{display:grid;width:31px;height:31px;place-items:center;color:var(--red);background:transparent;border:1px solid var(--line);border-radius:4px}.supplier-items-empty{padding:24px 14px;color:var(--muted);font-size:.75rem;text-align:center}.supplier-quote-items>footer{display:flex;align-items:center;justify-content:flex-end;gap:15px;min-height:48px;padding:9px 12px;background:var(--panel-soft)}.supplier-quote-items>footer span{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.supplier-quote-items>footer strong{font-size:1rem}.supplier-timestamps{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:13px;padding:0 18px 18px;border-bottom:1px solid var(--line)}.supplier-timestamps>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.supplier-timestamps .secondary-button{padding:0 11px;white-space:nowrap}.supplier-contact-log{margin:18px;overflow:hidden;border:1px solid var(--line);border-radius:6px}.supplier-contact-log>header{min-height:63px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-contact-log>header span{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.supplier-contact-log h4{margin:2px 0 0;font-size:.9rem}.supplier-contact-log>header>div:last-child{display:flex;gap:7px}.supplier-contact-log>header button{padding:0 10px}.supplier-activity-list>div{display:grid;grid-template-columns:100px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:46px;padding:7px 10px;border-bottom:1px solid var(--line)}.supplier-activity-list>div:last-child{border-bottom:0}.supplier-activity-list time{color:var(--muted);font-size:.74rem}.supplier-activity-list>p{padding:22px;color:var(--muted);font-size:.78rem;text-align:center}.supplier-activity-list>div>button{display:grid;width:31px;height:31px;place-items:center;color:var(--red);background:transparent;border:1px solid var(--line);border-radius:5px}.activity-type{display:inline-flex;align-items:center;gap:5px;color:#2563eb;font-size:.7rem;font-weight:900}.activity-type--call{color:#0f8a7d}.supplier-editor-footer{min-height:66px;padding:12px 18px;background:var(--panel-soft);border-top:1px solid var(--line)}.supplier-editor-footer>span{color:var(--muted);font-size:.7rem}.supplier-project-dashboard,.supplier-location-directory,.supplier-comparison{min-height:650px;padding:20px}.supplier-project-dashboard>header,.supplier-location-directory>header,.supplier-project-columns>section>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.supplier-project-dashboard>header h3,.supplier-location-directory>header h3{font-size:1.16rem}.supplier-project-dashboard>header>label{display:grid;width:min(430px,45vw);gap:5px;color:var(--muted);font-size:.68rem;font-weight:900}.supplier-project-dashboard>header select{min-height:41px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-project-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.supplier-project-summary article{min-width:0;padding:13px 15px;background:var(--panel-soft);border-right:1px solid var(--line)}.supplier-project-summary article:last-child{border-right:0}.supplier-project-summary small,.supplier-project-summary strong,.supplier-project-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-project-summary small{color:var(--muted);font-size:.63rem;font-weight:900;text-transform:uppercase}.supplier-project-summary strong{margin-top:4px;font-size:.88rem}.supplier-project-summary span{margin-top:3px;color:var(--muted);font-size:.69rem}.supplier-project-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:16px}.supplier-project-filters label{display:grid;gap:5px;min-width:min(190px,100%);color:var(--muted);font-size:.68rem;font-weight:800}.supplier-project-filters select{min-height:41px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-project-filters select:disabled{cursor:not-allowed;opacity:.55}.supplier-project-filters>span{margin-left:auto;padding-bottom:11px;color:var(--muted);font-size:.7rem;font-weight:800}.supplier-project-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.supplier-project-columns>section{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:6px}.supplier-project-columns>section>header{min-height:58px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-project-columns>section>header span{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.supplier-project-columns h4{margin:2px 0 0;font-size:.88rem}.supplier-project-columns>section>header>small{color:var(--muted);font-size:.7rem;font-weight:800}.project-supplier-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;width:100%;min-height:72px;padding:11px 12px;color:var(--ink);text-align:left;background:var(--panel);border:0;border-bottom:1px solid var(--line)}.project-supplier-list>button:last-child{border-bottom:0}.project-supplier-list>button:hover{background:var(--field)}.project-supplier-list>button span{min-width:0}.project-supplier-list>button strong,.project-supplier-list>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-supplier-list>button strong{font-size:.8rem}.project-supplier-list>button small{margin-top:3px;color:var(--muted);font-size:.68rem}.project-supplier-list>button>small{grid-column:1 / -1;margin:0}.project-supplier-list>button em{align-self:start;padding:3px 6px;color:#8a5a0b;font-size:.63rem;font-style:normal;font-weight:900;background:#fff8e6;border:1px solid #efd59c;border-radius:4px}.supplier-location-directory>header>strong{color:var(--muted);font-size:.76rem}.supplier-location-directory>div{display:grid;gap:8px;margin-top:17px}.supplier-location-directory article{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(210px,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:11px 13px;background:var(--panel);border:1px solid var(--line);border-left:3px solid #c78a12;border-radius:6px}.supplier-location-directory article>div strong,.supplier-location-directory article>div small{display:block}.supplier-location-directory article>div small{margin-top:3px;color:var(--muted);font-size:.7rem}.directory-location{display:flex;align-items:center;gap:7px;color:#946010;font-size:.76rem}.supplier-location-directory article>span:nth-child(3){display:grid;gap:4px}.supplier-location-directory a{display:inline-flex;align-items:center;gap:5px;color:#2563eb;font-size:.7rem;font-weight:800;text-decoration:none}.supplier-location-directory article>button{display:inline-flex;align-items:center;gap:5px;min-height:35px;padding:0 9px;color:#fff;font-size:.69rem;font-weight:900;background:#c27a09;border:0;border-radius:5px;white-space:nowrap}.supplier-comparison>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.supplier-comparison>header h3{margin:2px 0 0;font-size:1.16rem}.supplier-comparison>header p:last-child{margin:5px 0 0;color:var(--muted);font-size:.73rem}.supplier-comparison>header>label{display:grid;width:min(430px,45vw);gap:5px;color:var(--muted);font-size:.68rem;font-weight:900}.supplier-comparison>header select{min-height:41px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.quote-comparison-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding:9px 11px;background:var(--panel-soft);border:1px solid var(--line);border-radius:5px}.quote-comparison-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.68rem;font-weight:800}.quote-comparison-legend i{width:12px;height:12px;border:1px solid transparent;border-radius:3px}.quote-comparison-legend .is-lowest{background:#d7f5e5;border-color:#83d1a5}.quote-comparison-legend .is-equal{background:#fff2bd;border-color:#e6c85b}.quote-comparison-legend .is-higher{background:#fde1e1;border-color:#e9a2a2}.quote-comparison-selectors{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quote-comparison-selectors label{display:flex;align-items:center;gap:8px;min-width:190px;padding:9px 11px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;cursor:pointer}.quote-comparison-selectors input{width:17px;height:17px;accent-color:#0f8a7d}.quote-comparison-selectors strong,.quote-comparison-selectors small{display:block}.quote-comparison-selectors strong{font-size:.74rem}.quote-comparison-selectors small{margin-top:2px;color:var(--muted);font-size:.64rem}.quote-comparison-scroll{margin-top:13px;overflow-x:auto;border:1px solid var(--line);border-radius:6px}.quote-comparison-table{width:100%;min-width:720px;border-collapse:collapse}.quote-comparison-table th,.quote-comparison-table td{min-width:180px;padding:11px 12px;text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-comparison-table tr>*:last-child{border-right:0}.quote-comparison-table thead th{color:var(--ink);background:var(--panel-soft)}.quote-comparison-table thead th:first-child,.quote-comparison-table tbody th,.quote-comparison-table tfoot th{min-width:220px}.quote-comparison-table th strong,.quote-comparison-table th small,.quote-price strong,.quote-price span{display:block}.quote-comparison-table th strong{font-size:.76rem}.quote-comparison-table th small{margin-top:3px;color:var(--muted);font-size:.62rem;font-weight:700}.quote-price strong{font-size:.82rem}.quote-price strong small{display:inline;font-size:.62rem}.quote-price span{margin-top:3px;color:var(--muted);font-size:.64rem}.quote-price--lowest{background:#d7f5e5;box-shadow:inset 4px 0 #218556}.quote-price--equal{background:#fff2bd;box-shadow:inset 4px 0 #c4940d}.quote-price--higher{background:#fde1e1;box-shadow:inset 4px 0 #c94848}.quote-price--missing{color:var(--muted);background:var(--panel-soft)}.quote-comparison-table tfoot th,.quote-comparison-table tfoot td{background:var(--panel-soft);border-bottom:0}.quote-comparison-table tfoot td{font-size:.88rem}.supplier-comparison-empty{margin-top:14px;min-height:220px;border:1px dashed var(--line);border-radius:6px}.supplier-import{min-height:650px;padding:20px}.supplier-import>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.supplier-import>header h3{margin:2px 0 0;font-size:1.16rem}.supplier-import>header p:last-child{margin:5px 0 0;color:var(--muted);font-size:.73rem}.supplier-import-badge{padding:5px 8px;color:#075985;font-size:.66rem;font-weight:900;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:4px}.supplier-import-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:15px;margin-top:17px}.supplier-import-layout>aside{min-width:0}.supplier-import-dropzone{display:grid;min-height:230px;padding:22px;place-items:center;align-content:center;color:var(--muted);text-align:center;background:var(--panel-soft);border:2px dashed #8aa0b5;border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.supplier-import-dropzone:hover,.supplier-import-dropzone.is-dragging{color:#0f766e;background:#ecfdf8;border-color:#0f8a7d}.supplier-import-dropzone>svg{color:#0f8a7d}.supplier-import-dropzone strong{margin-top:9px;color:var(--ink);font-size:.84rem}.supplier-import-dropzone span{max-width:230px;margin-top:5px;font-size:.69rem;line-height:1.45}.supplier-import-dropzone button{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:14px;padding:0 11px;color:#fff;font-size:.7rem;font-weight:900;background:#0f766e;border:0;border-radius:5px}.supplier-import-file{display:grid;grid-template-columns:24px minmax(0,1fr) 32px;align-items:center;gap:8px;margin-top:9px;padding:10px;color:#0f766e;background:var(--panel);border:1px solid var(--line);border-radius:5px}.supplier-import-file strong,.supplier-import-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-import-file strong{color:var(--ink);font-size:.71rem}.supplier-import-file small{margin-top:2px;color:var(--muted);font-size:.61rem}.supplier-import-file button{display:grid;width:30px;height:30px;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px}.supplier-import-help{display:grid;gap:4px;margin-top:9px;padding:11px;color:var(--muted);font-size:.66rem;line-height:1.4;background:#fff8e6;border-left:3px solid #c78a12}.supplier-import-help strong{color:#80520b;font-size:.69rem}.supplier-import-review{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:6px}.supplier-import-metadata,.supplier-column-mapping,.supplier-import-preview{border-bottom:1px solid var(--line)}.supplier-import-metadata>header,.supplier-column-mapping>header,.supplier-import-preview>header{min-height:54px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-import-metadata>header span,.supplier-column-mapping>header span,.supplier-import-preview>header span{color:var(--muted);font-size:.61rem;font-weight:900;text-transform:uppercase}.supplier-import-review h4{margin:2px 0 0;font-size:.86rem}.supplier-import-metadata>div{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;padding:12px}.supplier-import-metadata label,.supplier-column-mapping label{display:grid;gap:5px;color:var(--muted);font-size:.66rem;font-weight:900}.supplier-import-metadata input,.supplier-import-metadata select,.supplier-column-mapping select{width:100%;min-width:0;min-height:39px;padding:6px 8px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px}.supplier-column-mapping>div{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:9px;padding:12px}.supplier-column-mapping label{position:relative}.supplier-column-mapping em{position:absolute;top:0;right:0;color:#b45309;font-size:.55rem;font-style:normal;text-transform:uppercase}.supplier-import-preview>header{display:flex;align-items:center;justify-content:space-between}.supplier-import-preview>header>strong{color:#0f766e;font-size:.7rem}.supplier-import-preview>div{max-height:315px;overflow:auto}.supplier-import-preview table{width:100%;min-width:650px;border-collapse:collapse}.supplier-import-preview th,.supplier-import-preview td{padding:9px 10px;font-size:.68rem;text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.supplier-import-preview tr>*:last-child{border-right:0}.supplier-import-preview th{position:sticky;top:0;z-index:1;color:var(--muted);font-size:.61rem;text-transform:uppercase;background:var(--panel-soft)}.supplier-import-preview td:first-child{min-width:230px;font-weight:800}.supplier-import-empty,.supplier-import-progress{display:grid;min-height:220px;place-items:center;align-content:center;color:var(--muted);text-align:center}.supplier-import-empty svg,.supplier-import-progress svg{color:#0f8a7d}.supplier-import-empty strong,.supplier-import-progress strong{margin-top:8px;color:var(--ink);font-size:.83rem}.supplier-import-empty span,.supplier-import-progress span{margin-top:4px;font-size:.68rem}.supplier-import-message{display:flex;align-items:center;gap:7px;margin:11px 12px 0;padding:9px 10px;color:#80520b;font-size:.7rem;font-weight:800;background:#fff8e6;border:1px solid #efd59c;border-radius:4px}.supplier-import-message--complete{color:#0e5b50;background:#dff5ee;border-color:#a9ddd0}.supplier-import-message--error{color:#9f2929;background:#fde8e8;border-color:#efb1b1}.supplier-ocr-import{min-height:610px;padding:20px}.supplier-ocr-import>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.supplier-ocr-import>header h3{margin:3px 0 0;font-size:1.16rem}.supplier-ocr-import>header>span{color:var(--muted);font-size:.7rem;font-weight:800}.supplier-ocr-dropzone{display:grid;min-height:170px;margin-top:18px;padding:18px;place-items:center;align-content:center;gap:5px;color:var(--muted);text-align:center;background:var(--panel-soft);border:2px dashed #8aa0b5;border-radius:6px;cursor:pointer}.supplier-ocr-dropzone:hover,.supplier-ocr-dropzone.is-dragging{background:var(--field);border-color:#0f8a7d}.supplier-ocr-dropzone>svg{color:#0f8a7d}.supplier-ocr-dropzone strong{color:var(--ink);font-size:.82rem}.supplier-ocr-dropzone span{font-size:.7rem}.supplier-ocr-dropzone button{min-height:32px;margin-top:5px;padding:0 12px;color:#fff;font-size:.7rem;font-weight:800;background:#0f766e;border:0;border-radius:5px}.supplier-ocr-file{display:flex;align-items:center;gap:9px;margin-top:12px;padding:8px 10px;color:var(--ink);background:var(--panel-soft);border:1px solid var(--line);border-radius:5px}.supplier-ocr-file strong{min-width:0;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.supplier-ocr-file span{margin-left:auto;color:var(--muted);font-size:.67rem;white-space:nowrap}.supplier-ocr-file button{display:grid;width:29px;height:29px;flex:none;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px}.supplier-ocr-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem}.supplier-ocr-warnings{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;color:#80520b;background:#fff8e6;border:1px solid #efd59c;border-radius:5px}.supplier-ocr-warnings p{margin:0 0 4px;font-size:.7rem}.supplier-ocr-select-all{display:flex;align-items:center;gap:7px;margin-top:15px;color:var(--ink);font-size:.72rem;font-weight:800}.supplier-ocr-table-wrap{max-width:100%;margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:5px}.supplier-ocr-table{width:100%;min-width:1280px;border-collapse:collapse}.supplier-ocr-table th{padding:9px;color:var(--muted);font-size:.67rem;text-align:left;background:var(--panel-soft);white-space:nowrap}.supplier-ocr-table td{padding:7px;border-top:1px solid var(--line)}.supplier-ocr-table input[type=checkbox],.supplier-ocr-select-all input{width:18px;height:18px;margin:0;accent-color:#0f766e}.supplier-ocr-table td:nth-child(2){min-width:100px;color:var(--muted)}.supplier-ocr-table td input:not([type=checkbox]){width:100%;min-width:115px;height:36px;padding:5px 8px;color:var(--ink);font-size:.72rem;background:var(--field);border:1px solid var(--line);border-radius:4px}.supplier-ocr-table td:nth-child(3) input,.supplier-ocr-table td:nth-child(5) input{min-width:170px}.supplier-ocr-import>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.supplier-ocr-import>footer span{color:var(--muted);font-size:.72rem}.supplier-import-review>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:11px 12px;background:var(--panel-soft)}.supplier-import-review>footer>span{color:var(--muted);font-size:.68rem}.project-supplier-matches{margin:0 14px 14px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:6px}.project-supplier-matches>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:51px;padding:9px 10px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.project-supplier-matches>header>div{display:flex;align-items:center;gap:8px;min-width:0}.project-supplier-matches>header>div>svg{color:#c78a12}.project-supplier-matches header strong,.project-supplier-matches header small{display:block}.project-supplier-matches header strong{font-size:.76rem}.project-supplier-matches header small{display:flex;align-items:center;gap:3px;margin-top:2px;color:var(--muted);font-size:.62rem}.project-supplier-matches header button{min-height:31px;padding:0 8px;color:#946010;font-size:.65rem;font-weight:900;background:#fff8e6;border:1px solid #efd59c;border-radius:4px;white-space:nowrap}.project-supplier-matches>div{display:grid}.project-supplier-matches article{padding:9px 10px;border-bottom:1px solid var(--line)}.project-supplier-matches article:last-child{border-bottom:0}.project-supplier-matches article>strong,.project-supplier-matches article>small{display:block}.project-supplier-matches article>strong{font-size:.74rem}.project-supplier-matches article>small{margin-top:2px;color:var(--muted);font-size:.64rem}.project-supplier-matches article>span{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.project-supplier-matches a{display:inline-flex;align-items:center;gap:4px;color:#2563eb;font-size:.64rem;font-weight:800;text-decoration:none}.project-supplier-matches>div>p{padding:14px 10px;color:var(--muted);font-size:.69rem;line-height:1.4}:root[data-theme=dark] .supplier-quotes-module,:root[data-theme=dark] .supplier-quote-editor{background:var(--panel)}:root[data-theme=dark] .supplier-directory,:root[data-theme=dark] .supplier-quote-metrics,:root[data-theme=dark] .supplier-contact-log>header,:root[data-theme=dark] .supplier-editor-footer{background:var(--panel-soft)}:root[data-theme=dark] .supplier-notice{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .supplier-workspace-tabs button,:root[data-theme=dark] .supplier-project-summary article,:root[data-theme=dark] .supplier-project-columns>section>header,:root[data-theme=dark] .project-supplier-matches>header{background:var(--panel-soft)}:root[data-theme=dark] .supplier-workspace-tabs button.is-selected,:root[data-theme=dark] .project-supplier-list>button,:root[data-theme=dark] .supplier-location-directory article{background:var(--panel)}:root[data-theme=dark] .quote-price--lowest{color:#c5f7da;background:#143c2b}:root[data-theme=dark] .quote-price--equal{color:#ffe99b;background:#413713}:root[data-theme=dark] .quote-price--higher{color:#ffd0d0;background:#482020}:root[data-theme=dark] .quote-price--lowest span,:root[data-theme=dark] .quote-price--equal span,:root[data-theme=dark] .quote-price--higher span{color:inherit;opacity:.8}:root[data-theme=dark] .supplier-import-badge{color:#bae6fd;background:#15354a;border-color:#276482}:root[data-theme=dark] .supplier-import-dropzone:hover,:root[data-theme=dark] .supplier-import-dropzone.is-dragging{color:#8ee5d8;background:#153b35}:root[data-theme=dark] .supplier-import-help,:root[data-theme=dark] .supplier-import-message{color:#ffe4a3;background:#413713;border-color:#79651d}:root[data-theme=dark] .supplier-import-help strong{color:#ffe4a3}:root[data-theme=dark] .supplier-import-message--complete{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .supplier-import-message--error{color:#ffd0d0;background:#482020;border-color:#8b4040}@media(max-width:1050px){.supplier-quotes-layout{grid-template-columns:270px minmax(0,1fr)}.supplier-timestamps{grid-template-columns:1fr}.supplier-location-directory article{grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr) minmax(190px,1fr)}.supplier-location-directory article>button{grid-column:1 / -1;justify-self:end}}@media(max-width:760px){.supplier-workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.supplier-ocr-import{padding:14px 14px 92px}.supplier-ocr-import>header{align-items:flex-start;flex-direction:column;gap:5px}.supplier-ocr-table-wrap{overflow:visible;border:0}.supplier-ocr-table{display:block;min-width:0}.supplier-ocr-table thead{display:none}.supplier-ocr-table tbody{display:grid;gap:11px}.supplier-ocr-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px}.supplier-ocr-table td{display:grid;gap:4px;min-width:0!important;padding:0;border:0}.supplier-ocr-table td:before{content:attr(data-label);color:var(--muted);font-size:.66rem;font-weight:800}.supplier-ocr-table td:nth-child(3),.supplier-ocr-table td:nth-child(5),.supplier-ocr-table td:last-child{grid-column:1 / -1}.supplier-ocr-table td input:not([type=checkbox]){width:100%;min-width:0}.supplier-quotes-header{align-items:flex-start;flex-direction:column}.supplier-quotes-header>button{width:100%}.supplier-quote-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-quote-metrics article:nth-child(2){border-right:0}.supplier-quote-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.supplier-quotes-layout{grid-template-columns:1fr}.supplier-directory{border-right:0;border-bottom:1px solid var(--line)}.supplier-list{max-height:260px}.supplier-form-grid{grid-template-columns:1fr;padding:14px}.supplier-quote-items{margin:14px}.supplier-timestamps{padding:0 14px 14px}.supplier-contact-log{margin:14px}.supplier-contact-log>header{align-items:stretch;flex-direction:column}.supplier-contact-log>header>div:last-child{display:grid;grid-template-columns:1fr 1fr}.supplier-editor-footer{align-items:stretch;flex-direction:column}.supplier-editor-footer>button{width:100%}.workspace-frame .board-nav-button>div strong{font-size:.5rem}.supplier-workspace-tabs button{flex-direction:column;gap:3px;min-height:58px;padding:4px;font-size:.64rem}.supplier-project-dashboard,.supplier-location-directory,.supplier-comparison,.supplier-import{min-height:500px;padding:14px}.supplier-project-dashboard>header{align-items:stretch;flex-direction:column}.supplier-project-dashboard>header>label{width:100%}.supplier-project-summary{grid-template-columns:1fr}.supplier-project-summary article{border-right:0;border-bottom:1px solid var(--line)}.supplier-project-summary article:last-child{border-bottom:0}.supplier-project-columns{grid-template-columns:1fr}.supplier-location-directory article{grid-template-columns:1fr}.supplier-location-directory article>button{grid-column:1;justify-self:stretch;justify-content:center}.supplier-comparison>header{align-items:stretch;flex-direction:column}.supplier-comparison>header>label{width:100%}.quote-comparison-selectors{display:grid;grid-template-columns:1fr 1fr}.quote-comparison-selectors label{min-width:0}.supplier-import-layout{grid-template-columns:1fr}.supplier-import-metadata>div{grid-template-columns:1fr 1fr}.supplier-column-mapping>div{grid-template-columns:1fr 1fr}}@media(max-width:460px){.supplier-ocr-table tr{grid-template-columns:1fr}.supplier-ocr-table td:nth-child(n){grid-column:1}.supplier-ocr-import>footer{align-items:stretch;flex-direction:column}.supplier-ocr-import>footer button{width:100%}.supplier-timestamps>div{grid-template-columns:1fr}.supplier-activity-list>div{grid-template-columns:80px minmax(0,1fr) 31px}.supplier-quote-metrics article{min-height:62px;padding:10px}.supplier-workspace-tabs button{font-size:.57rem}.quote-comparison-selectors{grid-template-columns:1fr}.supplier-import-metadata>div,.supplier-column-mapping>div{grid-template-columns:1fr}.supplier-import-review>footer{align-items:stretch;flex-direction:column}.supplier-import-review>footer button{width:100%}}.price-intelligence{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-top:3px solid #2563eb;border-radius:7px;box-shadow:var(--shadow)}.price-intelligence-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px;padding:18px 20px;border-bottom:1px solid var(--line)}.price-intelligence-header h2{font-size:1.42rem}.price-intelligence-header p:last-child{margin-top:5px;max-width:780px;color:var(--muted);font-size:.82rem;line-height:1.45}.price-intelligence-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.price-intelligence-notice{padding:9px 18px;color:#0e5b50;font-size:.78rem;font-weight:850;background:#dff5ee;border-bottom:1px solid #a9ddd0}.price-intelligence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--panel-soft);border-bottom:1px solid var(--line)}.price-intelligence-metrics article{display:flex;align-items:center;gap:10px;min-height:72px;padding:12px 17px;border-right:1px solid var(--line)}.price-intelligence-metrics article:last-child{border-right:0}.price-intelligence-metrics article:nth-child(1) svg{color:#2563eb}.price-intelligence-metrics article:nth-child(2) svg{color:#0f8a7d}.price-intelligence-metrics article:nth-child(3) svg{color:#7c5ac7}.price-intelligence-metrics article:nth-child(4) svg{color:#c94848}.price-intelligence-metrics small,.price-intelligence-metrics strong{display:block}.price-intelligence-metrics small{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.price-intelligence-metrics strong{margin-top:2px;font-size:1.12rem}.price-intelligence-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;padding:16px}.price-intelligence-sidebar,.price-intelligence-main{display:grid;align-content:start;gap:14px;min-width:0}.price-intelligence-card,.price-alert-panel,.price-history-table-wrap{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:6px}.price-intelligence-card>header,.price-alert-panel>header,.price-history-table-wrap>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.price-intelligence-card header span,.price-alert-panel header span,.price-history-table-wrap header span{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.price-intelligence-card h3,.price-alert-panel h3,.price-history-table-wrap h3{margin-top:2px;font-size:.92rem}.price-alert-panel header small,.price-history-table-wrap header small{color:var(--muted);font-size:.68rem;font-weight:800}.price-filter-stack,.price-manual-entry{display:grid;gap:9px}.price-filter-stack{padding:12px}.price-filter-stack label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:5px}.price-filter-stack input{width:100%;min-width:0;height:37px;color:var(--ink);background:transparent;border:0;outline:0}.price-filter-stack select,.price-manual-entry input,.price-manual-entry select{width:100%;min-height:40px;padding:6px 8px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.price-manual-entry{padding-bottom:12px}.price-manual-entry label{display:grid;gap:5px;padding:0 12px;color:var(--muted);font-size:.68rem;font-weight:900}.price-manual-entry .primary-button{justify-content:center;margin:0 12px}.price-manual-two{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;padding:0 12px}.price-manual-two label{padding:0}.price-alert-panel>div{display:grid}.price-alert-panel article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:11px 12px;border-bottom:1px solid var(--line)}.price-alert-panel article:last-child{border-bottom:0}.price-alert-panel article svg{color:#c94848}.price-alert-panel strong,.price-alert-panel small{display:block}.price-alert-panel strong{font-size:.78rem}.price-alert-panel small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.4}.price-alert-panel p{padding:22px;color:var(--muted);font-size:.78rem;text-align:center}.price-history-table-scroll{overflow-x:auto}.price-history-table{width:100%;min-width:980px;border-collapse:collapse}.price-history-table th,.price-history-table td{padding:10px 11px;text-align:left;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.price-history-table tr>*:last-child{border-right:0}.price-history-table thead th{color:var(--muted);font-size:.63rem;font-weight:900;text-transform:uppercase;background:var(--panel-soft)}.price-history-table tbody th{min-width:260px}.price-history-table strong,.price-history-table small{display:block}.price-history-table strong{font-size:.76rem}.price-history-table small{margin-top:3px;color:var(--muted);font-size:.64rem;line-height:1.35}.price-history-table td{font-size:.74rem}.price-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;font-size:.63rem;font-weight:950;border:1px solid var(--line);border-radius:999px}.price-status--high{color:#9f2929;background:#fde8e8;border-color:#efb1b1}.price-status--low{color:#0e5b50;background:#dff5ee;border-color:#a9ddd0}.price-status--normal{color:#2563eb;background:#e8f1ff;border-color:#b8cff7}.price-status--new{color:#80520b;background:#fff8e6;border-color:#efd59c}:root[data-theme=dark] .price-intelligence,:root[data-theme=dark] .price-intelligence-card,:root[data-theme=dark] .price-alert-panel,:root[data-theme=dark] .price-history-table-wrap{background:var(--panel)}:root[data-theme=dark] .price-intelligence-metrics,:root[data-theme=dark] .price-intelligence-card>header,:root[data-theme=dark] .price-alert-panel>header,:root[data-theme=dark] .price-history-table-wrap>header,:root[data-theme=dark] .price-history-table thead th{background:var(--panel-soft)}:root[data-theme=dark] .price-intelligence-notice,:root[data-theme=dark] .price-status--low{color:#b9f2e6;background:#133b35;border-color:#286b61}:root[data-theme=dark] .price-status--high{color:#ffd0d0;background:#482020;border-color:#8b4040}:root[data-theme=dark] .price-status--normal{color:#bfdbfe;background:#172b4e;border-color:#31558b}:root[data-theme=dark] .price-status--new{color:#ffe4a3;background:#413713;border-color:#79651d}@media(max-width:1050px){.price-intelligence-grid{grid-template-columns:280px minmax(0,1fr)}.price-intelligence-header{align-items:flex-start;flex-direction:column}.price-intelligence-actions{justify-content:flex-start}}@media(max-width:760px){.price-intelligence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.price-intelligence-metrics article:nth-child(2){border-right:0}.price-intelligence-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.price-intelligence-grid{grid-template-columns:1fr;padding:12px}.price-intelligence-actions,.price-intelligence-actions button{width:100%}.price-manual-two{grid-template-columns:1fr}}.new-project-location-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,100px);gap:9px}.new-project-location-fields label{min-width:0}.drawing-drop-zone{display:grid;gap:5px;padding:13px;color:var(--ink);background:var(--field);border:1px dashed var(--line);border-radius:5px;cursor:pointer}.drawing-drop-zone>svg{color:var(--green-2)}.drawing-drop-zone strong{font-size:.78rem;overflow-wrap:anywhere}.drawing-drop-zone span{color:var(--muted);font-size:.72rem}.drawing-drop-zone input{width:100%;min-width:0;font-size:.72rem}.project-create-error,.drawing-alignment-error{margin:0;color:#b42318;font-size:.75rem;font-weight:700}.map-panel:has(.map-drawing-toolbar){grid-template-rows:auto auto minmax(640px,1fr)}.map-drawing-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 12px;background:var(--field);border-bottom:1px solid var(--line)}.map-drawing-heading{display:flex;align-items:center;gap:8px;min-width:180px;max-width:100%;margin-right:auto}.map-drawing-heading>svg{flex:none;color:var(--green-2)}.map-drawing-heading span{display:grid;min-width:0}.map-drawing-heading strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.map-drawing-heading small{color:var(--muted);font-size:.67rem}.drawing-reimport{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 9px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;cursor:pointer;font-size:.71rem;font-weight:750}.drawing-reimport input{position:absolute;width:1px;height:1px;opacity:0}.drawing-reimport:focus-within{outline:2px solid var(--blue);outline-offset:2px}.map-drawing-toolbar .secondary-button{min-height:34px;padding:0 9px;font-size:.71rem}.drawing-opacity{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.69rem;font-weight:700}.drawing-opacity input{width:88px;accent-color:var(--green-2)}.drawing-alignment-instruction,.drawing-alignment-error{flex-basis:100%;margin:0}.drawing-alignment-instruction{color:var(--ink);font-size:.73rem;font-weight:700}.bid-drawing-map-image{position:absolute;display:block;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:640px){.map-panel:has(.map-drawing-toolbar){grid-template-rows:auto auto minmax(58vh,1fr)}.map-drawing-toolbar{gap:7px}.map-drawing-heading{flex-basis:100%}.drawing-opacity{order:2}}.supplier-manage,.supplier-rfq{min-height:650px;background:var(--panel)}.supplier-rfq-notifications{display:grid;gap:10px;padding:13px 15px;background:#fff7ed;border-bottom:1px solid #fed7aa}.supplier-rfq-notifications>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.supplier-rfq-notifications>header>div{display:flex;align-items:center;gap:9px;min-width:0}.supplier-rfq-notifications svg{color:#ea580c}.supplier-rfq-notifications>header span,.supplier-rfq-notifications>header strong,.supplier-rfq-notifications>header small{display:block}.supplier-rfq-notifications>header small,.supplier-rfq-notifications>header em{color:#8a4a12;font-size:.7rem;font-style:normal;font-weight:800}.supplier-rfq-notifications>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.supplier-rfq-notifications article{display:grid;gap:3px;padding:9px 10px;background:var(--panel);border:1px solid #fed7aa;border-radius:6px}.supplier-rfq-notifications article strong{font-size:.76rem}.supplier-rfq-notifications article span,.supplier-rfq-notifications article small,.supplier-rfq-notifications article time{color:var(--muted);font-size:.67rem;line-height:1.35;overflow-wrap:anywhere}.supplier-rfq-notifications article time{color:#8a4a12;font-weight:800}.supplier-rfq-review-gate{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;background:#ecfdf5;border-bottom:1px solid #a7f3d0}.supplier-rfq-review-gate--open{background:#fff7ed;border-bottom-color:#fed7aa}.supplier-rfq-review-gate>svg{flex:none;color:#0f766e}.supplier-rfq-review-gate--open>svg{color:#ea580c}.supplier-rfq-review-gate strong,.supplier-rfq-review-gate span{display:block;min-width:0;overflow-wrap:anywhere}.supplier-rfq-review-gate strong{font-size:.76rem}.supplier-rfq-review-gate span{margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.35}.supplier-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;padding:16px 20px;border-bottom:1px solid var(--line)}.supplier-workspace-heading h3{margin:3px 0 0;font-size:1.14rem}.supplier-workspace-heading>div:last-child{display:flex;gap:8px}.supplier-workspace-heading>strong{color:var(--muted);font-size:.74rem}.supplier-workspace-heading button{min-height:36px;padding:0 11px}.supplier-manage-tools{display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-manage-tools>label:first-child{display:flex;align-items:center;gap:8px;width:min(460px,100%);min-height:39px;padding:0 10px;background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-manage-tools>label:first-child svg{flex:none;color:var(--muted)}.supplier-manage-tools input:not([type=checkbox]){width:100%;min-width:0;height:36px;color:var(--ink);background:transparent;border:0;outline:0}.supplier-manage-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}.supplier-manage-state select{width:min(195px,100%);min-height:39px;padding:6px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:5px}.supplier-manage-archived{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}.supplier-manage-archived input,.supplier-rfq input[type=checkbox]{width:17px;height:17px;accent-color:#0f766e}.supplier-manage-tools>strong{margin-left:auto;color:var(--muted);font-size:.72rem;white-space:nowrap}.supplier-manage-table-wrap{max-height:690px;overflow:auto}.supplier-manage-table{width:100%;border-collapse:collapse}.supplier-manage-table th{position:sticky;top:0;z-index:1;padding:10px 12px;color:var(--muted);font-size:.65rem;text-align:left;text-transform:uppercase;background:var(--panel-soft);border-bottom:1px solid var(--line)}.supplier-manage-table td{padding:12px;font-size:.75rem;border-bottom:1px solid var(--line);vertical-align:middle}.supplier-manage-table td strong,.supplier-manage-table td small,.supplier-manage-table td:nth-child(4) span,.supplier-manage-table td:nth-child(4) a{display:block;overflow-wrap:anywhere}.supplier-manage-table td small{margin-top:3px;color:var(--muted);font-size:.67rem}.supplier-manage-table td:nth-child(4)>div{display:grid;gap:3px}.supplier-manage-table a{color:#0b746d;text-decoration:none}.supplier-manage-actions{display:flex;align-items:center;gap:5px}.supplier-manage-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:0 7px;color:var(--ink);font-size:.7rem;font-weight:800;background:var(--field);border:1px solid var(--line);border-radius:4px}.supplier-manage-actions button:last-child{color:var(--red)}.supplier-manage-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:#0e181fad}.supplier-manage-dialog{width:min(640px,100%);max-height:min(90vh,850px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:0 18px 60px #00000040}.supplier-manage-dialog>header,.supplier-manage-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;background:var(--panel-soft)}.supplier-manage-dialog>header{border-bottom:1px solid var(--line)}.supplier-manage-dialog>header h3{margin:3px 0 0;font-size:1.04rem}.supplier-manage-dialog>header button{width:32px;height:32px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:4px}.supplier-manage-dialog>footer{justify-content:flex-end;border-top:1px solid var(--line)}.supplier-manage-dialog>footer button{min-height:36px;padding:0 12px}.supplier-manage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px}.supplier-manage-fields label,.supplier-rfq-filters label,.supplier-rfq-compose>label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.supplier-manage-fields input,.supplier-rfq-filters input,.supplier-rfq-filters select,.supplier-rfq-compose input,.supplier-rfq-compose select,.supplier-rfq-compose textarea{width:100%;min-width:0;min-height:39px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit}.supplier-form-error{padding:0 17px;color:var(--red);font-size:.73rem}.supplier-rfq-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:570px}.supplier-rfq-selector{min-width:0;border-right:1px solid var(--line)}.supplier-rfq-filters{display:grid;grid-template-columns:110px minmax(120px,1fr) minmax(150px,1.2fr);gap:9px;padding:15px}.supplier-rfq-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:6px 15px;color:var(--muted);font-size:.7rem;font-weight:800;background:var(--panel-soft);border-block:1px solid var(--line)}.supplier-rfq-list-head label{display:inline-flex;align-items:center;gap:7px}.supplier-rfq-list-head>span{display:inline-flex;align-items:center;gap:8px}.supplier-rfq-clear{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.supplier-rfq-results .supplier-empty .secondary-button{margin-top:8px}.bid-opportunities{min-width:0;min-height:680px;background:var(--panel);border-top:3px solid #0f766e}.bid-opportunities-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.bid-opportunities-header h2{font-size:1.4rem}.bid-opportunities-header span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}.bid-opportunities-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bid-opportunities-actions button{min-height:40px;padding:0 12px;white-space:nowrap}.bid-opportunities-actions button:disabled{cursor:wait;opacity:.65}.bid-opportunities-refresh-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;width:100%;color:var(--muted);font-size:.72rem}.bid-opportunities-refresh-status span{margin:0}.bid-opportunities-refresh-status [role=status]{color:var(--ink)}.bid-opportunities-actions .is-spinning{animation:bid-refresh-spin .8s linear infinite}@keyframes bid-refresh-spin{to{transform:rotate(360deg)}}.bid-opportunity-form{display:grid;grid-template-columns:1.5fr 1fr 70px 1.5fr auto;align-items:end;gap:9px;padding:14px 20px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-opportunity-form label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.7rem;font-weight:800}.bid-opportunity-form input,.bid-opportunities-filters input,.bid-opportunities-filters select,.bid-opportunity-detail-head select{width:100%;min-width:0;min-height:38px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit}.bid-opportunity-form>span{grid-column:1 / -1;color:#b42318;font-size:.75rem}.bid-opportunities-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);min-height:600px}.bid-opportunities-list{min-width:0;border-right:1px solid var(--line)}.bid-opportunities-filters{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.bid-opportunities-filters label{display:flex;align-items:center;gap:7px;color:var(--muted)}.bid-opportunity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:13px 15px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.bid-opportunity-row:hover,.bid-opportunity-row[aria-pressed=true]{background:var(--panel-soft)}.bid-opportunity-row[aria-pressed=true]{box-shadow:inset 3px 0 #0f766e}.bid-opportunity-row strong,.bid-opportunity-row small{display:block}.bid-opportunity-row strong{font-size:.81rem;line-height:1.35}.bid-opportunity-row small{margin-top:4px;color:var(--muted);font-size:.69rem}.bid-opportunity-row em{color:#0f766e;font-size:.67rem;font-style:normal;font-weight:800}.bid-opportunity-detail{min-width:0;padding:20px}.bid-opportunity-detail-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.bid-opportunity-detail-head h3{margin-top:4px;font-size:1.18rem;line-height:1.3}.bid-opportunity-detail-head select{max-width:130px}.bid-opportunity-facts{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:20px;padding:12px 0;color:var(--muted);font-size:.74rem;border-block:1px solid var(--line)}.bid-opportunity-facts span{display:inline-flex;align-items:center;gap:5px}.bid-opportunity-links{display:grid;gap:10px;margin-top:17px}.bid-opportunity-links a{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#2563eb;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.bid-opportunity-scope{margin:17px 0 0;color:var(--ink);font-size:.82rem;line-height:1.55}.bid-opportunity-submission{margin:14px 0 0;color:var(--ink);font-size:.76rem;line-height:1.5}.bid-opportunity-submission strong{display:block;margin-bottom:5px}.bid-opportunity-contact{margin:9px 0 0;color:var(--muted);font-size:.74rem}.bid-opportunity-caution{max-width:68ch;margin:20px 0;color:var(--muted);font-size:.74rem;line-height:1.5}@media(max-width:950px){.bid-opportunity-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.bid-opportunities-layout{grid-template-columns:1fr}.bid-opportunities-list{border-right:0;border-bottom:1px solid var(--line)}.bid-opportunity-form{grid-template-columns:1fr}.bid-opportunity-detail-head{flex-direction:column}.bid-opportunities-actions{width:100%}.bid-opportunities-actions button{flex:1 1 auto}}.supplier-rfq-results{max-height:570px;overflow:auto}.supplier-rfq-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:11px;min-height:73px;padding:11px 15px;border-bottom:1px solid var(--line);cursor:pointer}.supplier-rfq-row:hover{background:var(--panel-soft)}.supplier-rfq-row>span{display:grid;min-width:0;gap:2px}.supplier-rfq-row strong{font-size:.77rem}.supplier-rfq-row small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}.supplier-rfq-row em{align-self:center;padding:4px 6px;font-size:.62rem;font-style:normal;font-weight:800;white-space:nowrap;border-radius:4px}.supplier-rfq-row em.has-email{color:#11665d;background:#e1f4ee}.supplier-rfq-row em.needs-email{color:#885711;background:#fff2d3}.supplier-rfq-compose{display:grid;align-content:start;gap:12px;min-width:0;padding:16px}.supplier-rfq-compose h4{margin:0;font-size:.88rem}.supplier-rfq-compose textarea{min-height:140px;resize:vertical}.supplier-rfq-employee{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.supplier-rfq-button-row{display:flex;flex-wrap:wrap;gap:8px}.supplier-rfq-button-row button{flex:1 1 180px;justify-content:center}.supplier-rfq-package-builder,.supplier-rfq-blank{display:grid;gap:10px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 86%,#0f766e 14%),var(--panel-soft));border:1px solid var(--line);border-radius:7px}.supplier-rfq-package-builder>header,.supplier-rfq-blank>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.supplier-rfq-package-builder>header div,.supplier-rfq-blank>header div{display:grid;gap:2px}.supplier-rfq-package-builder>header span,.supplier-rfq-blank>header span{color:#0f766e;font-size:.65rem;font-weight:900;text-transform:uppercase}.supplier-rfq-package-builder>header strong,.supplier-rfq-blank>header strong{font-size:.82rem}.supplier-rfq-package-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:7px!important;justify-content:flex-end}.supplier-rfq-package-builder>p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}.supplier-rfq-package{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.supplier-rfq-package>svg{color:#0f766e}.supplier-rfq-package>div:nth-child(2){display:grid;gap:3px;min-width:0}.supplier-rfq-package strong{font-size:.78rem}.supplier-rfq-package small,.supplier-rfq-package em{color:var(--muted);font-size:.68rem;line-height:1.35}.supplier-rfq-package em{color:#a35b12;font-style:normal;font-weight:800}.supplier-rfq-package>div:last-child{display:flex;gap:6px}.supplier-rfq-package a{min-height:34px;padding-inline:9px;text-decoration:none}.supplier-rfq-package a.is-disabled{opacity:.5;pointer-events:none}.supplier-rfq-blank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.supplier-rfq-blank-grid label,.supplier-rfq-manual-lines{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.supplier-rfq-blank-grid input,.supplier-rfq-manual-lines textarea{width:100%;min-width:0;min-height:39px;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit}.supplier-rfq-blank-grid .span-2{grid-column:span 2}.supplier-rfq-manual-lines textarea{min-height:84px;resize:vertical}.supplier-rfq-blank footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:4px}.supplier-rfq-blank footer span{margin-right:auto;color:var(--muted);font-size:.7rem;font-weight:800}.supplier-rfq-blank footer a{min-height:36px;padding-inline:10px;text-decoration:none}.supplier-rfq-blank footer a.is-disabled{opacity:.5;pointer-events:none}.supplier-rfq-test-send{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:10px;background:var(--panel-soft);border:1px dashed var(--line);border-radius:6px}.supplier-rfq-test-send label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.supplier-rfq-test-send a{min-height:39px;padding-inline:12px;text-decoration:none;white-space:nowrap}.supplier-rfq-test-send a.is-disabled{opacity:.5;pointer-events:none}.supplier-rfq-summary{display:flex;gap:16px;padding:10px 0;color:var(--muted);font-size:.72rem;border-bottom:1px solid var(--line)}.supplier-rfq-summary span:first-child{display:inline-flex;align-items:center;gap:5px;color:#0f766e}.supplier-rfq-compose .supplier-notice{padding:9px 10px;border:1px solid #a9ddd0;border-radius:4px}.supplier-rfq-takeoff,.supplier-rfq-folders{display:grid;gap:7px;padding:11px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px}.supplier-rfq-takeoff header,.supplier-rfq-folders header{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:.76rem}.supplier-rfq-takeoff>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:.72rem}.supplier-rfq-takeoff>div span{min-width:0}.supplier-rfq-takeoff strong{display:block;overflow-wrap:anywhere}.supplier-rfq-takeoff small,.supplier-rfq-takeoff p{color:var(--muted);font-size:.68rem;line-height:1.4}.supplier-rfq-takeoff em{color:#0f766e;font-style:normal;font-weight:800;white-space:nowrap}.supplier-rfq-folders code{display:block;padding:6px 7px;overflow-wrap:anywhere;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font-size:.68rem}.supplier-rfq-history{display:grid;gap:0;margin-top:5px}.supplier-rfq-history>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:9px 0;font-size:.7rem;border-bottom:1px solid var(--line)}.supplier-rfq-history>div span{color:var(--muted)}.supplier-rfq-history>div small{grid-column:1 / -1;color:var(--muted)}.supplier-rfq-history>p{color:var(--muted);font-size:.72rem}.supplier-rfq-action{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px;padding:11px 20px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -6px 20px #00000012}.supplier-rfq-action>span{display:grid;gap:3px}.supplier-rfq-action strong{font-size:.82rem}.supplier-rfq-action small{color:var(--muted);font-size:.68rem}.supplier-rfq-action a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:0 14px;text-decoration:none;white-space:nowrap}.supplier-rfq-action a.is-disabled{opacity:.5;pointer-events:none}:root[data-theme=dark] .supplier-rfq-row em.has-email{color:#b9f2e6;background:#133b35}:root[data-theme=dark] .supplier-rfq-row em.needs-email{color:#ffe4a3;background:#413713}:root[data-theme=dark] .supplier-rfq-package-builder,:root[data-theme=dark] .supplier-rfq-blank{background:#122326}:root[data-theme=dark] .supplier-rfq-notifications{background:#2b2112;border-color:#734919}:root[data-theme=dark] .supplier-rfq-notifications article{border-color:#734919}:root[data-theme=dark] .supplier-rfq-review-gate,:root[data-theme=dark] .estimator-review-gate{background:#123a32;border-color:#24594f}:root[data-theme=dark] .supplier-rfq-review-gate--open,:root[data-theme=dark] .estimator-review-gate--open{background:#2b2112;border-color:#734919}@media(max-width:1000px){.supplier-rfq-layout{grid-template-columns:1fr}.supplier-rfq-selector{border-right:0;border-bottom:1px solid var(--line)}.supplier-rfq-results{max-height:450px}}@media(max-width:760px){.supplier-workspace-heading{align-items:flex-start;flex-direction:column;padding:14px}.supplier-manage-tools{flex-wrap:wrap;padding:11px 14px}.supplier-manage-tools>label:first-child{width:100%}.supplier-manage-state{flex:1;min-width:0}.supplier-manage-state select{flex:1;width:100%;min-width:0}.supplier-manage-table thead{display:none}.supplier-manage-table,.supplier-manage-table tbody{display:block}.supplier-manage-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border-bottom:1px solid var(--line)}.supplier-manage-table td{min-width:0;padding:0;border:0}.supplier-manage-table td:before{display:block;margin-bottom:4px;color:var(--muted);content:attr(data-label);font-size:.62rem;font-weight:800;text-transform:uppercase}.supplier-manage-table td:first-child,.supplier-manage-table td:last-child{grid-column:1 / -1}.supplier-rfq-filters{grid-template-columns:110px minmax(0,1fr)}.supplier-rfq-filters label:last-child{grid-column:1 / -1}.supplier-rfq-employee{grid-template-columns:1fr}.supplier-rfq-package{grid-template-columns:22px minmax(0,1fr)}.supplier-rfq-package>div:last-child{grid-column:2;flex-wrap:wrap}.supplier-rfq-blank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-rfq-test-send{grid-template-columns:1fr}.supplier-rfq-test-send a{width:100%}}@media(max-width:460px){.supplier-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-workspace-tabs button{font-size:.68rem}.supplier-workspace-heading>div:last-child{width:100%}.supplier-workspace-heading>div:last-child button{flex:1}.supplier-manage-fields{grid-template-columns:1fr}.supplier-rfq-row{grid-template-columns:20px minmax(0,1fr)}.supplier-rfq-row em{grid-column:2;justify-self:start}.supplier-rfq-package-builder>header,.supplier-rfq-blank>header{align-items:stretch;flex-direction:column}.supplier-rfq-package-actions{justify-content:stretch}.supplier-rfq-package-actions button{flex:1 1 auto;justify-content:center}.supplier-rfq-package>div:last-child .secondary-button,.supplier-rfq-package>div:last-child a{flex:1 1 auto;justify-content:center}.supplier-rfq-blank-grid{grid-template-columns:1fr}.supplier-rfq-blank-grid .span-2{grid-column:auto}.supplier-rfq-blank footer{align-items:stretch;flex-direction:column}.supplier-rfq-blank footer span{margin-right:0}.supplier-rfq-action{align-items:stretch;flex-direction:column;padding:10px 14px}.supplier-rfq-action a{width:100%}}@media(max-width:700px){.supplier-rfq{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.supplier-rfq-action{bottom:calc(66px + env(safe-area-inset-bottom))}}.bobby-workspace{width:min(980px,100%);min-height:600px;margin:18px auto;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;overflow:hidden}.bobby-header{display:flex;align-items:center;gap:15px;padding:22px 25px;border-bottom:1px solid var(--line)}.bobby-heading-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;color:#fff;background:#0f766e;border-radius:6px}.bobby-header>div:nth-child(2){flex:1;min-width:0}.bobby-kicker{color:#0f766e;font-size:.7rem;font-weight:800;text-transform:uppercase}.bobby-header h2{margin:2px 0;font-size:1.45rem}.bobby-header p{color:var(--muted);font-size:.82rem;line-height:1.4}.bobby-state{padding:6px 9px;color:#9a4e1e;background:#fff3e7;border:1px solid #f4cfad;border-radius:4px;font-size:.72rem;font-weight:800;text-align:center}.bobby-state.is-online{color:#0b7165;background:#e7f7f3;border-color:#a9e3d6}.bobby-unavailable{display:flex;align-items:flex-start;flex-direction:column;gap:13px;max-width:560px;margin:80px auto;padding:0 22px}.bobby-unavailable>svg{color:#0f766e}.bobby-unavailable h3{font-size:1.35rem}.bobby-unavailable p{color:var(--muted);line-height:1.55}.bobby-primary{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:8px 13px;color:#fff;background:#2563eb;border:0;border-radius:5px;font-size:.84rem;font-weight:750;text-decoration:none}.bobby-context-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 24px;background:var(--panel-soft);border-bottom:1px solid var(--line);color:var(--muted);font-size:.76rem}.bobby-context-bar>div{display:flex;align-items:center;gap:7px}.bobby-context-bar>div svg{color:#0f766e;flex:none}.bobby-context-bar label{display:inline-flex;align-items:center;gap:8px;max-width:280px;color:var(--ink);font-weight:700;line-height:1.35;cursor:pointer}.bobby-context-bar input[type=checkbox]{flex:0 0 16px;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;accent-color:#0f766e}.bobby-thread{display:flex;flex-direction:column;gap:18px;min-height:330px;max-height:min(50vh,550px);overflow-y:auto;padding:25px}.bobby-empty{margin:auto;max-width:420px;text-align:center}.bobby-empty h3{margin-bottom:8px;font-size:1.2rem}.bobby-empty p{color:var(--muted);font-size:.87rem;line-height:1.5}.bobby-message{max-width:min(660px,90%)}.bobby-message--user{align-self:flex-end;padding:13px 16px;background:var(--field);border:1px solid var(--line);border-radius:6px}.bobby-message>span{display:block;margin-bottom:6px;color:#0f766e;font-size:.72rem;font-weight:800}.bobby-message--user>span{color:var(--muted)}.bobby-message p{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.53;font-size:.9rem}.bobby-save{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 0;color:#0f766e;background:none;border:0;font-size:.77rem;font-weight:800}.bobby-save:disabled{color:var(--muted);cursor:default}.bobby-thinking{color:var(--muted);font-size:.83rem}.bobby-compose{padding:17px 24px 20px;background:var(--panel-soft);border-top:1px solid var(--line)}.bobby-compose>label{display:block;margin-bottom:6px;font-size:.73rem;font-weight:800}.bobby-compose>div{display:flex;align-items:flex-end;gap:8px}.bobby-compose textarea{width:100%;min-height:58px;max-height:180px;padding:10px 12px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;resize:vertical;font:inherit;font-size:.9rem}.bobby-compose button{display:grid;place-items:center;flex:0 0 42px;height:42px;color:#fff;background:#2563eb;border:0;border-radius:5px}.bobby-compose button:disabled{opacity:.5;cursor:not-allowed}.bobby-compose small{display:block;margin-top:7px;color:var(--muted);font-size:.71rem}.bobby-error{margin-bottom:9px;color:#b42318;font-size:.8rem}.bobby-notes{padding:18px 24px;border-top:1px solid var(--line)}.bobby-notes h3{margin-bottom:10px;font-size:.95rem}.bobby-notes article{padding:10px 0;border-top:1px solid var(--line)}.bobby-notes time{color:var(--muted);font-size:.72rem}.bobby-notes p{margin-top:4px;font-size:.83rem;white-space:pre-wrap}@media(max-width:660px){.bobby-workspace{min-height:0;margin:8px 0;border-left:0;border-right:0}.bobby-header{flex-wrap:wrap;padding:15px}.bobby-state{margin-left:63px}.bobby-context-bar,.bobby-thread,.bobby-compose,.bobby-notes{padding-left:15px;padding-right:15px}.bobby-thread{min-height:280px;max-height:45vh}}.no-project-workspace .primary-button{justify-self:center;margin-top:18px}.save-documents-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin-top:14px;color:#0f766e;background:var(--panel);border:1px solid #0f766e;border-radius:5px;font-size:.84rem;font-weight:800}.save-documents-button:hover:not(:disabled){background:var(--field)}.save-documents-button:disabled{opacity:.5;cursor:not-allowed}.save-documents-button+.analyze-button{margin-top:8px}.saved-bid-documents{display:grid;gap:6px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.saved-bid-documents>strong{margin-bottom:4px;font-size:.78rem}.saved-bid-documents button{display:flex;align-items:center;gap:7px;width:100%;min-width:0;padding:9px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:4px;text-align:left}.saved-bid-documents button.saved-documents-load{border-left:3px solid #2563eb}.saved-bid-documents button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem}.saved-bid-documents button small{color:#0f766e;font-size:.7rem;font-weight:800}.scenario-workspace,.production-module{min-width:0;padding:20px;color:var(--ink);background:var(--panel)}.scenario-layout,.production-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:24px;margin-top:18px}.scenario-panel{min-width:0;padding-top:14px;border-top:2px solid var(--line)}.scenario-panel h4,.production-entry-form h3,.production-changes h3{margin:0 0 16px;font-size:.98rem}.scenario-panel>label{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.79rem}.scenario-panel>label strong{color:var(--ink);white-space:nowrap}.scenario-panel input[type=range]{width:100%;margin:18px 0 4px;accent-color:#0f766e}.scenario-scale{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.7rem}.scenario-panel p{color:var(--muted);font-size:.78rem;line-height:1.5}.scenario-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line)}.scenario-comparison>div{display:grid;gap:7px;min-width:0;padding:15px;background:var(--field)}.scenario-comparison span,.production-metrics span{color:var(--muted);font-size:.72rem}.scenario-comparison strong,.production-metrics strong{font-size:1.12rem}.scenario-risk-list{display:grid;gap:10px}.scenario-risk-list label{display:flex;align-items:center;gap:9px;font-size:.82rem}.scenario-risk-list input{width:17px;height:17px;min-height:0;accent-color:#0f766e}.scenario-risk-score{display:flex;justify-content:space-between;margin-top:18px;padding:11px 12px;border-left:3px solid #0f766e;background:var(--field);font-size:.84rem}.scenario-risk-score--moderate{border-color:#b7791f}.scenario-risk-score--high{border-color:#ba443d}.trench-safety-panel{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.trench-safety-table{display:grid;min-width:0;margin-top:12px;border:1px solid var(--line)}.trench-safety-row{display:grid;grid-template-columns:110px 120px minmax(220px,1.4fr) minmax(180px,1fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.76rem}.trench-safety-row:last-child{border-bottom:0}.trench-safety-row--head{min-height:34px;color:#fff;background:#0f766e;font-weight:800}.trench-safety-row p{margin:0;color:var(--ink);line-height:1.35}.trench-safety-row small{color:var(--muted);line-height:1.35}.trench-safety-panel footer{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:var(--muted);font-size:.74rem;line-height:1.45}.production-module{min-height:620px;border:1px solid var(--line);border-top:3px solid #0f766e;border-radius:6px;box-shadow:var(--shadow)}.production-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid var(--line);padding-bottom:17px}.production-header h2{margin:3px 0 4px;font-size:1.2rem}.production-header span,.production-header>strong{color:var(--muted);font-size:.79rem}.production-empty{display:grid;justify-items:start;gap:11px;max-width:550px;padding:45px 4px}.production-empty h3{margin:0;font-size:1.08rem}.production-empty p,.production-empty small,.production-entry-form small{color:var(--muted);font-size:.8rem;line-height:1.5}.production-empty .primary-button{margin-top:8px}.production-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line)}.production-metrics>div{display:grid;gap:5px;padding:14px;background:var(--field)}.production-table-wrap{min-width:0;overflow-x:auto}.production-table{min-width:790px;margin-top:12px;border:1px solid var(--line)}.production-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(5,minmax(88px,1fr));gap:8px;align-items:center;min-height:44px;padding:7px 10px;border-bottom:1px solid var(--line);font-size:.76rem}.production-row:last-child{border-bottom:0}.production-row--head{min-height:34px;color:#fff;background:#0f766e;font-weight:700}.production-row .is-over{color:#ba443d;font-weight:800}.production-entry-form{display:grid;align-content:start;gap:11px;padding-left:22px;border-left:1px solid var(--line)}.production-entry-form label{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:700}.production-entry-form input,.production-entry-form select,.production-entry-form textarea{width:100%;min-width:0;padding:9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit}.production-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-entry-form .primary-button{justify-content:center}.production-changes{margin-top:28px;padding-top:17px;border-top:1px solid var(--line)}.production-changes h3{display:flex;align-items:center;gap:7px}.production-changes>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(130px,1.2fr) minmax(130px,1.6fr) 50px;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.77rem}.production-changes small{color:var(--muted)}.production-changes em{font-style:normal;font-weight:800;color:#a55c11}@media(max-width:1000px){.scenario-layout,.production-layout{grid-template-columns:1fr}.production-entry-form{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}}@media(max-width:700px){.takeoff-module .module-tabs{grid-template-columns:repeat(5,minmax(95px,1fr));overflow-x:auto}.scenario-workspace,.production-module{padding:14px}.production-metrics{grid-template-columns:1fr 1fr}.production-changes>div{grid-template-columns:1fr 1fr}.trench-safety-row{grid-template-columns:1fr;gap:4px}.trench-safety-row--head{display:none}}.production-header label{display:grid;gap:4px;margin-top:9px;color:var(--muted);font-size:.7rem;font-weight:700}.production-header select{max-width:360px;min-width:0;padding:7px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.78rem}.production-layout{grid-template-columns:minmax(0,1fr)}.production-table{min-width:0}.production-row{grid-template-columns:minmax(110px,1.1fr) minmax(145px,1fr) minmax(175px,1.25fr)}.production-row>div{display:grid;gap:4px}.production-row small{color:var(--muted);font-size:.7rem}.production-row-variance{grid-template-columns:1fr 1fr;gap:7px}.production-entry-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.production-entry-form h3,.production-form-pair,.production-entry-form label:has(textarea),.production-entry-form .primary-button,.production-entry-form>small{grid-column:1 / -1}.itb-project-toolbar,.takeoff-project-toolbar,.module-project-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:9px;padding:12px 18px;background:var(--field);border-bottom:1px solid var(--line)}.module-project-toolbar label{display:grid;flex:1 1 300px;min-width:0;gap:5px;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.module-project-toolbar select{width:100%;min-width:0;min-height:41px;padding:7px 9px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.82rem;font-weight:850}.module-project-toolbar .secondary-button{min-height:41px;white-space:nowrap}.module-project-stats{display:flex;flex:2 1 420px;flex-wrap:wrap;gap:6px;min-width:0}.module-project-stats span{display:inline-flex;align-items:center;min-height:31px;max-width:100%;padding:5px 8px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px;font-size:.68rem;font-weight:800}.module-project-stats strong{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.takeoff-easy-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:0 18px 12px;background:var(--field);border-bottom:1px solid var(--line)}.takeoff-easy-steps div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 8px;align-items:center;min-width:0;padding:10px;background:var(--panel);border:1px solid var(--line)}.takeoff-easy-steps strong{display:grid;grid-row:1 / 3;width:30px;height:30px;place-items:center;color:#fff;background:#0f766e;border-radius:999px;font-size:.78rem}.takeoff-easy-steps span{min-width:0;color:var(--ink);font-size:.76rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeoff-easy-steps small{min-width:0;color:var(--muted);font-size:.66rem;line-height:1.25}.estimator-review-gate{display:flex;align-items:flex-start;gap:10px;margin:0 18px 12px;padding:11px 12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px}.estimator-review-gate--open{background:#fff7ed;border-color:#fed7aa}.estimator-review-gate>svg{flex:none;color:#0f766e}.estimator-review-gate--open>svg{color:#ea580c}.estimator-review-gate strong,.estimator-review-gate span{display:block;min-width:0;overflow-wrap:anywhere}.estimator-review-gate strong{font-size:.78rem}.estimator-review-gate span{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.35}.itb-project-toolbar .itb-delete-project{color:#a63733;border-color:#d9aaa6}.itb-project-toolbar .itb-delete-project:hover{color:#fff;background:#a63733;border-color:#a63733}.estimator-review-module{min-width:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-top:3px solid #0f766e;border-radius:6px;box-shadow:var(--shadow)}.estimator-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.estimator-review-header h2{margin:3px 0 4px;font-size:1.2rem}.estimator-review-header span{color:var(--muted);font-size:.78rem}.estimator-review-score{display:grid;justify-items:end;gap:2px;padding:11px 13px;background:var(--field);border:1px solid var(--line);border-radius:6px}.estimator-review-score strong{color:#0f766e;font-size:1.25rem}.estimator-review-score span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.estimator-review-toolbar{border-top:0}.estimator-review-filters{display:flex;flex-wrap:wrap;gap:7px;padding:12px 18px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.estimator-review-filters button{min-height:34px;padding:0 10px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px;font-size:.72rem;font-weight:900}.estimator-review-filters button.is-selected{color:#fff;background:#0f766e;border-color:#0f766e}.estimator-review-filters .estimator-review-clear{margin-left:auto;color:#9b312d;border-color:#e0b0ad}.estimator-review-list{display:grid;gap:12px;padding:16px 18px 20px}.estimator-review-card{display:grid;gap:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-left:4px solid #94a3b8;border-radius:7px}.estimator-review-card--critical{border-left-color:#dc2626}.estimator-review-card--missing{border-left-color:#d97706}.estimator-review-card--normal{border-left-color:#0f766e}.estimator-review-card--approved{border-color:#9bd8c4;border-left-color:#0f766e}.estimator-review-card--rejected{border-color:#e7aaa7;border-left-color:#b83532;opacity:.9}.estimator-review-card--source-check{border-color:#f2cf8b;border-left-color:#d97706}.estimator-review-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.estimator-review-type{display:inline-flex;align-items:center;gap:7px;color:#0f766e;font-size:.68rem;font-weight:900;text-transform:uppercase}.estimator-review-card>header em{color:var(--muted);font-size:.66rem;font-style:normal;font-weight:900;text-transform:uppercase}.estimator-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.55fr);gap:13px;padding:13px 12px}.estimator-review-body strong,.estimator-review-body p,.estimator-review-body small{display:block;min-width:0;overflow-wrap:anywhere}.estimator-review-body strong{font-size:.86rem}.estimator-review-body p{margin:5px 0;color:var(--ink);font-size:.78rem;line-height:1.4}.estimator-review-body small{color:var(--muted);font-size:.68rem;line-height:1.35}.estimator-review-body aside{color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.45}.estimator-review-decision{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 12px}.estimator-review-decision button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 9px;color:var(--muted);background:var(--field);border:1px solid var(--line);border-radius:4px;font-size:.7rem;font-weight:900}.estimator-review-decision button.is-selected{color:#fff;background:#0f766e;border-color:#0f766e}.estimator-review-fields{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:10px;padding:12px;background:var(--panel-soft);border-top:1px solid var(--line)}.estimator-review-fields label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.estimator-review-fields input,.estimator-review-fields textarea{width:100%;min-width:0;min-height:38px;padding:8px 9px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.77rem;text-transform:none}.estimator-review-fields textarea{min-height:72px;resize:vertical}.estimator-review-empty{display:grid;justify-items:start;gap:9px;padding:36px 6px}.estimator-review-empty h3{margin:0;font-size:1rem}.estimator-review-empty p{max-width:520px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}:root[data-theme=dark] .estimator-review-score,:root[data-theme=dark] .estimator-review-card,:root[data-theme=dark] .estimator-review-fields input,:root[data-theme=dark] .estimator-review-fields textarea{background:#152229}.bid-release-center{min-width:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-top:3px solid #e66a20;border-radius:6px;box-shadow:var(--shadow)}.bid-release-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.bid-release-header h2{margin:3px 0 4px;font-size:1.2rem}.bid-release-header span{color:var(--muted);font-size:.78rem}.bid-release-header>strong{padding:7px 10px;border-radius:999px;font-size:.72rem;text-transform:uppercase}.bid-release-header>strong.is-ready{color:#0f5f4d;background:#dcfce7;border:1px solid #86efac}.bid-release-header>strong.is-blocked{color:#9a3412;background:#ffedd5;border:1px solid #fed7aa}.bid-release-toolbar{border-top:0}.bid-release-actions{display:flex;flex-wrap:wrap;gap:9px;padding:13px 18px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.bid-release-actions button{min-height:40px}.bid-release-actions .download-proposal{margin-left:auto}.bid-release-notice{margin:0;padding:10px 18px;color:#0f766e;background:#ecfdf5;border-bottom:1px solid #a7f3d0;font-size:.74rem;font-weight:800}.bid-release-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(230px,.65fr);gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.bid-release-status,.bid-release-summary{min-width:0;padding:13px;background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.bid-release-status{display:flex;align-items:flex-start;gap:10px}.bid-release-status>svg{flex:none}.bid-release-status--ready{background:#ecfdf5;border-color:#a7f3d0}.bid-release-status--ready>svg{color:#0f766e}.bid-release-status--critical{background:#fff7ed;border-color:#fed7aa}.bid-release-status--critical>svg{color:#ea580c}.bid-release-status--warning>svg{color:#d97706}.bid-release-status strong,.bid-release-status span{display:block;min-width:0;overflow-wrap:anywhere}.bid-release-status strong{font-size:.82rem}.bid-release-status span{margin-top:6px;color:var(--muted);font-size:.7rem;line-height:1.38}.bid-release-status b{color:var(--ink)}.bid-release-summary{display:grid;gap:7px}.bid-release-summary h3{margin:0 0 4px;font-size:.86rem}.bid-release-summary div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.7rem}.bid-release-summary strong{color:var(--ink);white-space:nowrap}.bid-release-packages,.bid-release-materials{display:grid;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.bid-release-packages>header,.bid-release-materials>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.bid-release-packages h3,.bid-release-materials h3{margin:3px 0 0;font-size:.96rem}.bid-release-packages>header>span,.bid-release-materials>header>span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.bid-release-packages>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.bid-release-packages article{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;background:var(--panel-soft);border:1px solid var(--line);border-radius:7px}.bid-release-packages article>svg{color:#e66a20}.bid-release-packages strong,.bid-release-packages small{display:block;min-width:0;overflow-wrap:anywhere}.bid-release-packages strong{font-size:.78rem}.bid-release-packages small{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.bid-release-packages a{min-height:34px;padding-inline:9px;text-decoration:none}.bid-release-packages a.is-disabled{opacity:.5;pointer-events:none}.bid-release-material-table{overflow:auto;border:1px solid var(--line);border-radius:7px}.bid-release-material-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(120px,.7fr) minmax(90px,.45fr) minmax(150px,.9fr) minmax(90px,.45fr);gap:9px;align-items:center;min-width:760px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.72rem}.bid-release-material-row:last-child{border-bottom:0}.bid-release-material-row--head{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase;background:var(--panel-soft)}.bid-release-material-row strong,.bid-release-material-row small,.bid-release-material-row span{min-width:0;overflow-wrap:anywhere}.bid-release-material-row small{color:var(--muted)}.bid-release-empty{display:grid;justify-items:start;gap:8px;padding:24px;color:var(--muted);background:var(--panel-soft);border:1px dashed var(--line);border-radius:7px}.bid-release-empty svg{color:#e66a20}.bid-release-empty strong{color:var(--ink)}:root[data-theme=dark] .bid-release-header>strong.is-ready,:root[data-theme=dark] .bid-release-status--ready,:root[data-theme=dark] .bid-release-notice{background:#123a32;border-color:#24594f}:root[data-theme=dark] .bid-release-header>strong.is-blocked,:root[data-theme=dark] .bid-release-status--critical{background:#2b2112;border-color:#734919}@media(max-width:900px){.bid-release-grid{grid-template-columns:1fr}.bid-release-actions .download-proposal{margin-left:0}.bid-release-actions button{flex:1 1 220px;justify-content:center}}@media(max-width:560px){.bid-release-header{align-items:stretch;flex-direction:column;padding:14px}.bid-release-actions,.bid-release-grid,.bid-release-packages,.bid-release-materials{padding-inline:13px}.bid-release-packages article{grid-template-columns:24px minmax(0,1fr)}.bid-release-packages article a{grid-column:1 / -1;justify-content:center}}.project-quick-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;background:var(--field);border:1px solid var(--line);border-radius:5px}.project-quick-views button{min-width:0;min-height:31px;padding:4px;color:var(--muted);background:transparent;border:0;border-radius:3px;font-size:.68rem;font-weight:800}.project-quick-views button.is-selected{color:var(--ink);background:var(--panel);box-shadow:0 1px 3px #0000001f}.project-status-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:3px;font-size:.7rem;font-style:normal;font-weight:800;white-space:nowrap}.project-status-tag--complete{color:#126342!important;background:#d9f2e7}.project-status-tag--pending{color:#815407!important;background:#fff0c5}.project-status-tag--blocked{color:#a42f2d!important;background:#fde6e4}.project-status-tag--active{color:#18568b!important;background:#e1f0fc}.project-status-tag--neutral{color:#4c5c65!important;background:#e8ecef}@media(max-width:700px){.workspace-grid--production .project-panel{display:none}.production-header{flex-wrap:wrap}.production-header select{width:100%;max-width:100%}.production-metrics>div:last-child{grid-column:1 / -1}.production-row{grid-template-columns:minmax(0,1fr);gap:6px}.production-row--head{display:none}.production-row>div{padding-top:4px}.production-row-variance{grid-template-columns:1fr 1fr}.production-entry-form{grid-template-columns:minmax(0,1fr)}.production-entry-form h3,.production-form-pair,.production-entry-form label:has(textarea),.production-entry-form .primary-button,.production-entry-form>small{grid-column:auto}.module-project-toolbar{padding:11px 13px}.module-project-toolbar label,.module-project-stats{flex-basis:100%}.module-project-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.module-project-stats span{justify-content:center}.module-project-toolbar .secondary-button{flex:1 1 auto;justify-content:center}.takeoff-easy-steps{grid-template-columns:1fr;padding:0 13px 11px}.takeoff-easy-steps div{grid-template-columns:28px minmax(0,1fr)}.workspace-grid--itb .itb-module{order:0}.workspace-grid--itb .project-panel{order:1;margin-bottom:130px}.estimator-review-header{align-items:stretch;flex-direction:column;padding:14px}.estimator-review-score{justify-items:start}.estimator-review-filters{padding:10px 13px}.estimator-review-filters .estimator-review-clear{margin-left:0}.estimator-review-list{padding:13px}.estimator-review-body,.estimator-review-fields{grid-template-columns:1fr}.estimator-review-decision button{flex:1 1 140px;justify-content:center}}
