@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";.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}}.dynform{display:flex;flex-direction:column;gap:1rem}.dynform-field{display:flex;flex-direction:column;gap:.35rem}.dynform-label{font-weight:600;font-size:.85rem;color:var(--color-foreground, #111827);display:flex;align-items:center;gap:.4rem}.dynform-req{color:#dc2626;font-weight:700}.dynform-tag{font-size:.65rem;font-weight:500;background:var(--color-muted-bg, #f3f4f6);color:var(--color-muted, #6b7280);padding:.05rem .4rem;border-radius:999px}.dynform-input{border:1px solid var(--color-border, #d1d5db);border-radius:.4rem;padding:.45rem .6rem;font-size:.9rem;background:var(--color-surface, #fff)}.dynform-input:disabled{background:var(--color-muted-bg, #f9fafb);color:var(--color-muted, #6b7280)}.dynform-input-sm{padding:.3rem .4rem;font-size:.82rem}.dynform-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.dynform-row .dynform-input{flex:1 1 140px;min-width:0}.dynform-btn{border:1px solid var(--color-border, #d1d5db);background:var(--color-surface, #fff);border-radius:.4rem;padding:.35rem .7rem;font-size:.82rem;cursor:pointer}.dynform-btn:hover{background:var(--color-muted-bg, #f3f4f6)}.dynform-btn-danger{border-color:#fca5a5;color:#b91c1c;padding:.15rem .5rem}.dynform-table-wrap{overflow-x:auto}.dynform-table{width:100%;border-collapse:collapse;font-size:.85rem}.dynform-table th,.dynform-table td{border:1px solid var(--color-border, #e5e7eb);padding:.3rem .4rem;text-align:left}.dynform-table th{background:var(--color-muted-bg, #f9fafb);font-weight:600;color:var(--color-muted, #4b5563)}.dynform-empty{text-align:center;color:var(--color-muted, #6b7280);font-style:italic;padding:.6rem}.dynform-preview{max-width:220px;max-height:220px;border-radius:.4rem;border:1px solid var(--color-border, #e5e7eb)}.dynform-link{font-size:.85rem;color:#2563eb}.dynform-hint{font-size:.78rem;color:var(--color-muted, #6b7280)}.dynform-error{font-size:.78rem;color:#b91c1c}.qw-stepper{display:flex;align-items:center;gap:0;margin-bottom:2rem;padding:1.5rem 2rem;background:var(--color-surface, #fff);border-bottom:1px solid var(--color-border, #e5e7eb)}.qw-step{display:flex;align-items:center;flex:1}.qw-step__circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;transition:all .2s}.qw-step--done .qw-step__circle{background:var(--color-primary, #2563eb);color:#fff}.qw-step--active .qw-step__circle{background:var(--color-primary, #2563eb);color:#fff;box-shadow:0 0 0 4px #2563eb33}.qw-step--pending .qw-step__circle{background:#f3f4f6;color:#6b7280;border:2px solid #e5e7eb}.qw-step__label{margin-left:.5rem;font-size:.78rem;font-weight:600;color:#374151;white-space:nowrap}.qw-step--pending .qw-step__label{color:#9ca3af}.qw-step__line{flex:1;height:2px;background:#e5e7eb;margin:0 .5rem}.qw-step--done .qw-step__line{background:var(--color-primary, #2563eb)}.qw-body{padding:2rem;max-width:900px;margin:0 auto}.qw-section-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:.25rem}.qw-section-sub{color:#6b7280;font-size:.9rem;margin-bottom:1.5rem}.qw-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:1rem}.qw-tile{padding:1rem;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;text-align:left;background:#fff}.qw-tile:hover{border-color:var(--color-primary, #2563eb);background:#eff6ff}.qw-tile--selected{border-color:var(--color-primary, #2563eb);background:#eff6ff;box-shadow:0 0 0 3px #2563eb26}.qw-tile__name{font-weight:600;font-size:.95rem;color:#111827}.qw-tile__sub{font-size:.78rem;color:#6b7280;margin-top:.2rem}.qw-search{width:100%;padding:.6rem .9rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;margin-bottom:.75rem}.qw-mode-btns{display:flex;gap:.5rem;margin-bottom:1.25rem}.qw-mode-btn{padding:.5rem 1.1rem;border-radius:8px;border:2px solid #e5e7eb;background:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s}.qw-mode-btn--active{border-color:var(--color-primary, #2563eb);background:#eff6ff;color:var(--color-primary, #2563eb)}.qw-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.qw-nav__back{padding:.6rem 1.4rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-weight:600;cursor:pointer}.qw-nav__next{padding:.6rem 1.4rem;border-radius:8px;background:var(--color-primary, #2563eb);color:#fff;font-weight:700;border:none;cursor:pointer;font-size:.95rem}.qw-nav__next:disabled{background:#d1d5db;cursor:not-allowed}.qw-nav__submit{padding:.7rem 2rem;border-radius:8px;background:#16a34a;color:#fff;font-weight:700;border:none;cursor:pointer;font-size:1rem}.qw-nav__submit:disabled{background:#d1d5db;cursor:not-allowed}.qw-totals-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.qw-totals-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.9rem}.qw-totals-row--total{font-weight:700;font-size:1.1rem;border-top:2px solid #e5e7eb;padding-top:.6rem;margin-top:.3rem}.qw-send-card{border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;margin-bottom:1rem}.qw-send-card__title{font-weight:700;margin-bottom:.5rem}.qw-lines-table{width:100%;border-collapse:collapse;font-size:.88rem}.qw-lines-table th{background:#f9fafb;padding:.5rem .75rem;text-align:left;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb}.qw-lines-table td{padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.qw-lines-input{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:.3rem .5rem;font-size:.88rem}.qw-lines-input:focus{outline:none;border-color:var(--color-primary, #2563eb)}.qw-add-line-btn{padding:.5rem 1rem;border:1px dashed #d1d5db;border-radius:8px;background:#fafafa;color:#6b7280;cursor:pointer;font-size:.88rem;margin-top:.5rem}.qw-add-line-btn:hover{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.qw-forfait-box{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.qw-forfait-box label{font-weight:600;font-size:.9rem}.qw-forfait-input{width:180px;padding:.4rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;margin-left:.75rem}.qw-jalon-row{background:#f0fdf4;border-left:3px solid #16a34a;padding:.5rem .75rem;margin:.25rem 0;border-radius:0 6px 6px 0;display:flex;gap:.5rem;align-items:center}.qw-jalon-row input{flex:1;border:none;background:transparent;font-size:.88rem;font-weight:600;color:#166534}.lab-report{max-width:900px;margin:0 auto;font-family:Segoe UI,Arial,sans-serif;color:#111}.lab-report-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:3px solid #1e40af;margin-bottom:1.5rem}.lab-report-header__logo{font-size:1.4rem;font-weight:800;color:#1e40af}.lab-report-header__meta{text-align:right;font-size:.8rem;color:#6b7280}.lab-report-header__meta strong{color:#111;font-size:.95rem}.lab-report-title{font-size:1.2rem;font-weight:700;text-align:center;padding:.75rem 2rem;background:#eff6ff;border-radius:8px;margin-bottom:1.5rem;color:#1e40af}.rpt-section{margin-bottom:2rem;page-break-inside:avoid;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.rpt-section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #e5e7eb}.rpt-section-title{font-weight:700;font-size:1rem;color:#111827}.rpt-section-norme{font-size:.75rem;color:#6b7280;background:#e5e7eb;padding:.15rem .5rem;border-radius:4px}.rpt-section-body{padding:1rem}.rpt-conformity{padding:.2rem .7rem;border-radius:12px;font-size:.78rem;font-weight:700}.rpt-conformity--conforme{background:#dcfce7;color:#166534}.rpt-conformity--non_conforme{background:#fee2e2;color:#991b1b}.rpt-conformity--en_attente{background:#fef9c3;color:#854d0e}.rpt-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}.rpt-table th{background:#f1f5f9;padding:.4rem .75rem;text-align:left;font-weight:600;color:#374151;border:1px solid #e5e7eb}.rpt-table td{padding:.4rem .75rem;border:1px solid #e5e7eb}.rpt-table tr:nth-child(2n) td{background:#f9fafb}.rpt-chart{width:100%;margin:.5rem 0 1rem}.lab-report-footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem 2rem;margin-top:2rem;border-top:2px solid #e5e7eb}.rpt-signature{border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.rpt-signature__label{font-size:.8rem;color:#6b7280;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.rpt-signature__name{font-weight:600;font-size:1rem}.rpt-signature__zone{height:60px;border-bottom:1px dashed #d1d5db;margin-top:1rem}@media print{.no-print{display:none!important}.lab-report{max-width:100%;margin:0}.rpt-section{page-break-inside:avoid;border:1px solid #ccc}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}:root{--color-primary: #c7541a;--color-surface: #ffffff;--color-surface-2: #f8f8f7;--color-border: #e5e3e0;--color-text: #1a1a18;--color-text-muted: #6b6966;--color-success: #1d7a4a;--color-warning: #b45309;--color-danger: #c0392b;--color-info: #1a5276;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--space-page: 2rem;--ds-focus: 0 0 0 2px #fff, 0 0 0 4px rgba(199, 84, 26, .45);--color-bg: #f6f4f0;--color-muted: var(--color-text-muted);--color-accent: var(--color-primary);--color-accent-hover: #a34315;--color-accent-soft: #fff4ed;--color-secondary: #059669;--color-secondary-soft: #ecfdf5;--color-teal: #0d9488;--color-teal-soft: #f0fdfa;--color-ok: var(--color-success);--color-warn: var(--color-warning);--shadow-sm: 0 1px 2px rgba(26, 24, 22, .06);--shadow-md: 0 14px 40px -14px rgba(26, 26, 24, .14);--font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--layout-max-width: 1680px;--layout-padding-x: clamp(.75rem, 2.8vw, 1.5rem);--app-header-sticky-offset: 52px;--layout-footer-dock-reserve: calc(3.5rem + env(safe-area-inset-bottom, 0px)) ;--support-fab-bottom: calc(2.85rem + env(safe-area-inset-bottom, 0px)) }*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);overflow-x:clip}#root{min-height:100vh;min-height:100dvh;width:100%}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}input,select,textarea,button{font:inherit}.container{width:100%;max-width:var(--layout-max-width);margin-left:auto;margin-right:auto;padding-left:max(var(--layout-padding-x),env(safe-area-inset-left,0px));padding-right:max(var(--layout-padding-x),env(safe-area-inset-right,0px));padding-top:1rem;padding-bottom:1rem}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:100%}.app-shell__main{flex:1 1 auto;width:100%;min-width:0}.app-shell__main--footer-dock{padding-bottom:calc(var(--layout-footer-dock-reserve) + .5rem)}.main-content{padding-top:1.25rem;padding-bottom:1rem;min-width:0}.main-content img,.main-content video,.main-content canvas{max-width:100%;height:auto}.page-back-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.page-back-nav__back{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.92rem;color:var(--color-accent);text-decoration:none!important;padding:.4rem .75rem;margin:-.35rem -.45rem;border-radius:var(--radius-md);border:1px solid transparent;transition:background .15s,border-color .15s}.page-back-nav__back:hover{background:var(--color-accent-soft);border-color:#fdba74}.page-back-nav__chevron{font-size:1.05em;line-height:1;opacity:.88}.page-back-nav__extras{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.page-back-nav__extra{font-size:.88rem;font-weight:500;color:var(--color-muted);text-decoration:none!important}.page-back-nav__extra:hover{color:var(--color-accent);text-decoration:underline!important}.page-action-back{font-weight:600}.mails-page{display:flex;flex-direction:column;gap:1.5rem}.mails-page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem}.hub-footnote--switch{margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.hub-footnote__link{font-weight:600;color:var(--color-accent);text-decoration:none!important}.hub-footnote__link:hover{text-decoration:underline!important}.invoice-orders-multiselect{width:100%;min-height:7.5rem;padding:.35rem;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e2e8f0)}.invoice-orders-picker{display:block;max-width:42rem}.invoice-orders-picker__label{display:block;font-size:.85rem;margin-bottom:.35rem;color:var(--color-text-muted, #64748b)}.invoice-orders-picker__list{margin-top:.5rem;max-height:16rem;overflow:auto;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);box-shadow:0 10px 24px #0f172a14}.invoice-orders-picker__option{width:100%;display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .7rem;border:0;border-bottom:1px solid var(--color-border, #e2e8f0);background:transparent;color:var(--color-text, #0f172a);text-align:left;cursor:pointer}.invoice-orders-picker__option:last-child{border-bottom:0}.invoice-orders-picker__option:hover,.invoice-orders-picker__option--selected{background:var(--color-accent-soft, #fff4ed)}.invoice-orders-picker__checkbox{width:1.1rem;height:1.1rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-top:.08rem;border:1px solid var(--color-border, #cbd5e1);border-radius:.25rem;color:var(--color-primary, #c7541a);font-size:.8rem;font-weight:700;background:var(--color-surface, #fff)}.invoice-orders-picker__status{margin-left:.35rem;color:var(--color-text-muted, #64748b);font-size:.85rem}.invoice-orders-picker__empty{margin:0;padding:.75rem;color:var(--color-text-muted, #64748b)}.invoice-orders-picker__summary{margin:-.25rem 0 .75rem;font-size:.88rem;color:var(--color-text-muted, #64748b)}.materiel-planning-toolbar{padding:0;gap:0;overflow:hidden}.materiel-planning-toolbar__block{padding:1rem 1.15rem}.materiel-planning-toolbar__block+.materiel-planning-toolbar__block{border-top:1px solid var(--color-border, #e2e8f0)}.materiel-planning-toolbar__block-head{margin-bottom:.85rem}.materiel-planning-toolbar__block-title{margin:0 0 .25rem;font-size:.92rem;font-weight:700;color:#0f172a}.materiel-planning-toolbar__block-hint{margin:0;font-size:.84rem;line-height:1.45}.materiel-planning-toolbar__row{align-items:flex-end}.materiel-planning-toolbar__month{flex:1 1 320px;min-width:min(100%,280px)}.materiel-planning-toolbar__month-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.materiel-planning-toolbar__month-btn{min-width:2.35rem;padding-inline:.55rem;font-size:1.1rem;line-height:1}.materiel-planning-toolbar__month-input{min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);font:inherit;color:inherit;box-sizing:border-box}.materiel-planning-toolbar__month-input:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.materiel-planning-toolbar__kind{flex:0 1 220px;min-width:min(100%,200px)}.materiel-planning-toolbar__equipment-filter,.materiel-planning-toolbar__equipment-edit{flex:1 1 260px;min-width:min(100%,220px)}.materiel-planning-toolbar__location{flex:1 1 220px;min-width:min(100%,180px)}.materiel-planning-toolbar__text-input{width:100%;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);font:inherit;box-sizing:border-box}.materiel-planning-toolbar__text-input:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.materiel-planning-toolbar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:0 0 auto;padding-bottom:.05rem}.materiel-planning-toolbar__edit-placeholder{margin:0;flex:1 1 240px;font-size:.88rem;align-self:center}.materiel-planning-toolbar__edit-meta{margin:.65rem 0 0;font-size:.82rem}.materiel-planning-toolbar__saved{margin:0 0 .75rem;font-size:.9rem}.materiel-calendar{padding:1rem}.materiel-calendar__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem}.materiel-calendar__head h2{margin:0;text-transform:capitalize}.materiel-calendar__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;font-size:.85rem;color:var(--color-text-muted, #64748b)}.materiel-calendar__dot{width:.7rem;height:.7rem;border-radius:999px;display:inline-block}.materiel-calendar__dot--maintenance,.materiel-calendar__dot--echeance{background:#c7541a}.materiel-calendar__dot--affectation{background:#7c3aed}.materiel-calendar__dot--chantier{background:#2563eb}.materiel-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.materiel-calendar__grid--weekdays{margin-bottom:.35rem;color:var(--color-text-muted, #64748b);font-size:.82rem;text-align:center}.materiel-calendar__day{min-height:8rem;padding:.45rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff)}.materiel-calendar__day--muted{opacity:.48;background:var(--color-surface-2, #f8fafc)}.materiel-calendar__date{margin-bottom:.35rem;font-size:.78rem;font-weight:700;color:var(--color-text-muted, #64748b)}.materiel-calendar__event{display:block;margin-bottom:.35rem;padding:.35rem .45rem;border-radius:var(--radius-sm, 6px);font-size:.78rem;text-decoration:none;color:var(--color-text, #0f172a)}.materiel-calendar__event strong,.materiel-calendar__event span{display:block}.materiel-calendar__event span{margin-top:.12rem;color:var(--color-text-muted, #64748b)}.materiel-calendar__event--maintenance,.materiel-calendar__event--echeance{background:#fff4ed;border-left:3px solid #c7541a}.materiel-calendar__event--affectation{background:#f5f3ff;border-left:3px solid #7c3aed}.materiel-calendar__event--chantier{background:#eff6ff;border-left:3px solid #2563eb}.materiel-calendar__empty{margin:1rem 0 0}@media (max-width: 760px){.materiel-calendar__grid{grid-template-columns:1fr}.materiel-calendar__grid--weekdays,.materiel-calendar__day--muted{display:none}}.module-configuration-page__tabs,.module-configuration-page__entity-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.module-configuration-page__object-picker{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.module-configuration-page__object-picker label{min-width:min(100%,18rem);margin:0}.module-configuration-page__table{width:100%;border-collapse:collapse}.module-configuration-page__table th,.module-configuration-page__table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--color-border, #e2e8f0)}.extrafields-form__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}.app-version-footer{flex-shrink:0;margin-top:auto;padding:.45rem var(--layout-padding-x) .55rem;text-align:center;font-size:.72rem;line-height:1.35;color:var(--color-muted, #64748b);border-top:1px solid var(--color-border, #e2e8f0);background:linear-gradient(180deg,transparent 0%,var(--color-surface-2, #f8fafc) 35%)}.app-version-footer--compact{padding-top:.4rem;padding-bottom:.45rem}.app-version-footer__inner{display:inline-flex;max-width:min(100%,52rem)}.app-version-footer__inner--dock,.app-version-footer__inner--single{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:100%;overflow:hidden}.app-version-footer__dot{flex:0 0 auto;width:.55rem;height:.55rem;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #0f172a1f}.app-version-footer__dot--ok{background:#22c55e}.app-version-footer__dot--error{background:#ef4444}.app-version-footer__dot--pending{background:#94a3b8}.app-version-footer__dock-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.01em;color:var(--color-text);opacity:.88}.app-version-footer--auth{position:fixed;left:0;right:0;bottom:0;z-index:1020;margin-top:0;padding:.5rem max(.75rem,env(safe-area-inset-right,0px)) calc(.55rem + env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));background:#0f172ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top-color:#94a3b847;color:#e2e8f0bf;box-shadow:0 -8px 28px #00000038}.app-version-footer--auth .app-version-footer__dock-text{color:#f1f5f9eb}.app-version-footer--auth .app-version-footer__dot--ok{background:#38bdf8}.app-version-footer--auth .app-version-footer__dot--error{background:#fb7185}.app-version-footer--auth .app-version-footer__dot--pending{background:#94a3b8d9}.app-version-footer__stack{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;text-align:left}.app-version-footer__detail{font-size:.68rem;font-weight:500;line-height:1.35;color:#e2e8f0c7;white-space:normal;word-break:break-word;max-width:min(100%,56rem)}.app-version-footer__demo-hint{font-size:.68rem;font-weight:600;line-height:1.35;color:#fbbf24f2;white-space:normal;word-break:break-word;max-width:min(100%,56rem)}.app-version-footer--auth .app-version-footer__inner--single{align-items:flex-start;justify-content:flex-start;gap:.55rem}.app-version-footer--auth .app-version-footer__dock-text{white-space:normal;overflow:visible;text-overflow:clip}.app-version-footer--dock{position:fixed;left:0;right:0;bottom:0;z-index:1025;margin-top:0;padding:.38rem var(--layout-padding-x) calc(.42rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#eef2f7,#e2e8f0);border-top:1px solid #cbd5e1;box-shadow:0 -4px 18px #0f172a1a}.support-fab{position:fixed;right:max(.65rem,env(safe-area-inset-right,0px));z-index:1040}.support-fab--dock{bottom:var(--support-fab-bottom)}.support-fab--auth{bottom:calc(6.75rem + env(safe-area-inset-bottom,0px))}.support-fab__trigger{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid rgba(15,23,42,.14);background:var(--color-surface);color:var(--color-accent);font-weight:700;font-size:1rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.support-fab__trigger:hover{transform:scale(1.04);box-shadow:0 16px 36px -12px #ea580c59}.support-fab__panel{position:absolute;right:0;bottom:calc(100% + .45rem);width:min(16.5rem,calc(100vw - 1.5rem));padding:.65rem .75rem .7rem;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);text-align:left}.support-fab__panel-title{font-size:.78rem;font-weight:700;color:var(--color-text);margin-bottom:.45rem}.support-fab__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem}.support-fab__links a{color:var(--color-accent);text-decoration:none;word-break:break-word}.support-fab__links a:hover{text-decoration:underline;color:var(--color-accent-hover)}.pdf-layout-editor{margin-top:.75rem;max-width:56rem}.pdf-layout-editor__intro{font-size:.9rem;color:var(--color-muted);line-height:1.5;margin:0 0 1rem}.pdf-layout-editor__section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.pdf-layout-editor__section:last-of-type{border-bottom:none}.pdf-layout-editor__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.pdf-layout-editor__h{font-size:1rem;font-weight:700;margin:0 0 .65rem;color:var(--color-text)}.pdf-layout-editor__check{display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem;font-size:.92rem;cursor:pointer}.pdf-layout-editor__check input{flex-shrink:0}.pdf-layout-editor__field{margin-top:.65rem;max-width:32rem}.pdf-layout-editor__field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.3rem;color:var(--color-muted)}.pdf-layout-editor__hint{font-size:.82rem;color:var(--color-muted);margin:0 0 .65rem;line-height:1.45}.pdf-layout-editor__empty{font-size:.9rem;color:var(--color-muted);margin:0}.pdf-layout-editor__table-wrap{overflow-x:auto}.pdf-layout-editor__table{width:100%;border-collapse:collapse;font-size:.88rem}.pdf-layout-editor__table th,.pdf-layout-editor__table td{padding:.4rem .5rem .4rem 0;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}.pdf-layout-editor__table th{font-weight:600;color:var(--color-muted);font-size:.78rem}.pdf-layout-editor__table .input--table{width:100%;max-width:14rem;margin:0;font-size:.86rem;padding:.35rem .5rem}.pdf-layout-editor__err{margin:.5rem 0 0}.pdf-layout-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.reports-hub{max-width:min(100%,72rem);margin:0 auto}.reports-hub__head{margin-bottom:1rem}.reports-hub__title{margin:.25rem 0 .35rem;font-size:clamp(1.35rem,2.5vw,1.75rem)}.reports-hub__lead{margin:0;color:var(--color-muted);line-height:1.5;max-width:62ch}.reports-hub__tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:.25rem;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border)}.reports-hub__tab{padding:.45rem .85rem;border-radius:8px;font-weight:600;font-size:.88rem;color:var(--color-muted)!important;text-decoration:none!important;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.reports-hub__tab:hover{color:var(--color-accent)!important;background:var(--color-surface)}.reports-hub__tab--active{background:var(--color-surface)!important;color:var(--color-accent)!important;border-color:#ea580c59;box-shadow:var(--shadow-sm)}.reports-hub__panel{min-width:0}.terrain-chantiers-map-wrap{padding:0;overflow:hidden;border-radius:var(--radius-lg)}.terrain-chantiers-map{height:min(52vh,440px);width:100%;z-index:1}.swagger-ui-host{min-height:68vh;padding:0!important;overflow:hidden}.swagger-ui-host .swagger-ui{padding:.35rem .15rem 1rem}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border);padding:1.25rem 1.35rem;margin-bottom:1rem;max-width:100%}.card__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:-.25rem 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.card__header h2,.card__header h3{margin:0;font-size:1.05rem}.btn{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,filter .15s,box-shadow .15s}.btn:focus-visible{outline:none;box-shadow:var(--ds-focus)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #c7541a59}.btn-primary:hover{filter:brightness(.92)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-text-muted)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{filter:brightness(.95)}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}th{background:var(--color-surface-2);font-weight:600}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ds-focus)}.form-group--error input,.form-group--error select,.form-group--error textarea{border-color:var(--color-danger)}.error{color:var(--color-danger);font-size:.875rem;margin-top:.25rem}.client-select-field__search{width:100%;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.client-select-field__search:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ds-focus)}.client-select-field__selected{margin:.35rem 0 0;font-size:.875rem;color:var(--color-text-muted, #64748b)}.client-select-field__list{margin-top:.45rem;max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.client-select-field__option{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .75rem;border:none;border-bottom:1px solid var(--color-border);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.client-select-field__option:last-child{border-bottom:none}.client-select-field__option:hover:not(:disabled){background:var(--color-surface-2, #f8fafc)}.client-select-field__option--selected{background:#eff6ff}.client-select-field__option--selected:hover:not(:disabled){background:#dbeafe}.client-select-field__option-name{font-weight:500}.client-select-field__option-meta{font-size:.8rem;color:var(--color-text-muted, #64748b)}.client-select-field__empty{margin:0;padding:.75rem;font-size:.875rem;color:var(--color-text-muted, #64748b)}.site-select-field__search{width:100%;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.site-select-field__search:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ds-focus)}.site-select-field__selected{margin:.35rem 0 0;font-size:.875rem;color:var(--color-text-muted, #64748b)}.site-select-field__list{margin-top:.45rem;max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.site-select-field__option{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .75rem;border:none;border-bottom:1px solid var(--color-border);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.site-select-field__option:last-child{border-bottom:none}.site-select-field__option:hover:not(:disabled){background:var(--color-surface-2, #f8fafc)}.site-select-field__option--selected{background:#eff6ff}.site-select-field__option--selected:hover:not(:disabled){background:#dbeafe}.site-select-field__option-name{font-weight:500}.site-select-field__option-meta{font-size:.8rem;color:var(--color-text-muted, #64748b)}.site-select-field__empty{margin:0;padding:.75rem;font-size:.875rem;color:var(--color-text-muted, #64748b)}.dossier-tab,.dossier-infos-tab{display:flex;flex-direction:column;gap:1rem;width:100%}.dossier-tab-panel,.dossier-infos-panel{width:100%;max-width:none;padding:1.25rem 1.5rem}.dossier-tab-panel--table{padding:0;overflow:hidden}.dossier-tab-panel__header{padding:1rem 1.5rem .5rem}.dossier-tab-panel__header .ds-form-section__title{margin:0}.dossier-tab-panel__intro{margin:0 0 1rem;font-size:.9rem;color:#64748b;line-height:1.45}.dossier-tab-empty{margin:0;padding:.75rem 1.5rem 1.25rem;color:#64748b}.dossier-tab-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem}.dossier-infos-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem 1.25rem;margin:0}.dossier-infos-grid>div{min-width:0}.dossier-infos-grid dt{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.dossier-infos-grid dd{margin:.2rem 0 0;font-size:.95rem;color:#0f172a;font-weight:500}.dossier-infos-grid dd code{font-size:.9rem}.dossier-infos-notes{white-space:pre-wrap;font-weight:400;line-height:1.45}.dossier-infos-grid__col-4{grid-column:span 4}.dossier-infos-grid__col-6{grid-column:span 6}.dossier-infos-grid__col-12{grid-column:span 12}.dossier-infos-panel .client-select-field,.dossier-infos-panel .form-group{margin-bottom:0}@media (max-width: 960px){.dossier-infos-grid__col-4,.dossier-infos-grid__col-6{grid-column:span 12}}.dossier-new-form{width:100%;max-width:none;padding:1.25rem 1.5rem}.dossier-new-form__intro{margin:0 0 1.25rem;font-size:.9rem;color:var(--color-text-muted, #64748b);line-height:1.45}.dossier-new-form__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem 1.25rem;align-items:start}.dossier-new-form__col-4{grid-column:span 4}.dossier-new-form__col-6{grid-column:span 6}.dossier-new-form__col-8{grid-column:span 8}.dossier-new-form__col-12{grid-column:span 12}.dossier-new-form__grid .form-group,.dossier-new-form__grid .client-select-field,.dossier-new-form__grid .site-select-field{margin-bottom:0}.dossier-new-form .client-select-field__list,.dossier-new-form .site-select-field__list{max-height:180px}.dossier-new-form__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}@media (max-width: 960px){.dossier-new-form__col-4,.dossier-new-form__col-6,.dossier-new-form__col-8{grid-column:span 12}}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{background:var(--color-surface-2);color:var(--color-text-muted);font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.55rem .65rem;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.data-table td{padding:.5rem .65rem;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#f5f4f2}.data-table--compact th,.data-table--compact td{padding:.4rem .5rem;font-size:.875rem}.data-table .table-row-link{cursor:pointer}.data-table__actions{text-align:right;width:1%;white-space:nowrap}.data-table__status{white-space:nowrap;width:1%}.data-table__actions-inner{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;opacity:.45;transition:opacity .15s}.data-table tbody tr:hover .data-table__actions-inner{opacity:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,filter .15s,color .15s}.button:focus-visible{outline:none;box-shadow:var(--ds-focus)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.button--primary:hover:not(:disabled){filter:brightness(.92)}.button--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.button--secondary:hover:not(:disabled){background:var(--color-surface-2)}.button--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.button--danger:hover:not(:disabled){filter:brightness(.95)}.ds-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.125rem;min-height:2.125rem;padding:.35rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:#475569;cursor:pointer;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s,color .12s}.ds-icon-btn svg{display:block;flex-shrink:0}.ds-icon-btn:hover{background:var(--color-surface-2);border-color:#94a3b8;color:#0f172a}.ds-icon-btn:focus-visible{outline:none;box-shadow:var(--ds-focus)}.ds-icon-btn--danger{border-color:#f0c2bc;color:var(--color-danger)}.ds-icon-btn--danger:hover{background:#fdedeb;border-color:var(--color-danger)}.ds-form-section{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.ds-form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.ds-form-section__title{margin:0 0 .9rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:none;letter-spacing:0}.table-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.65rem .85rem;font-size:.85rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);background:var(--color-surface-2)}.table-pagination__nav{display:inline-flex;align-items:center;gap:.25rem}.table-pagination__nav button{min-width:2rem;padding:.3rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font:inherit;color:var(--color-text)}.table-pagination__nav button:hover:not(:disabled){background:#f5f4f2}.table-pagination__nav button:disabled{opacity:.4;cursor:not-allowed}.ds-status-badge{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;line-height:1.2;border-radius:999px;border:1px solid transparent;white-space:nowrap}.ds-status-badge__dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0}.ds-status-badge--sm{font-size:.7rem;padding:.12rem .45rem}.ds-status-badge--md{font-size:.78rem;padding:.22rem .6rem}.ds-status-badge--lg{font-size:.88rem;padding:.35rem .75rem}.ds-status-badge--neutral{background:#f0efec;color:var(--color-text-muted);border-color:var(--color-border)}.ds-status-badge--neutral .ds-status-badge__dot{background:#9c9893}.ds-status-badge--success{background:#e8f5ef;color:var(--color-success);border-color:#b8dcc8}.ds-status-badge--success .ds-status-badge__dot{background:var(--color-success)}.ds-status-badge--warning{background:#fff8eb;color:var(--color-warning);border-color:#f0d7a2}.ds-status-badge--warning .ds-status-badge__dot{background:var(--color-warning)}.ds-status-badge--danger{background:#fdedeb;color:var(--color-danger);border-color:#f0c2bc}.ds-status-badge--danger .ds-status-badge__dot{background:var(--color-danger)}.ds-status-badge--info{background:#e8f1f6;color:var(--color-info);border-color:#b8d0e0}.ds-status-badge--info .ds-status-badge__dot{background:var(--color-info)}.ds-status-badge--primary{background:var(--color-accent-soft);color:var(--color-primary);border-color:#f0c4a8}.ds-status-badge--primary .ds-status-badge__dot{background:var(--color-primary)}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent;line-height:1.2}.status-pill__emoji{font-size:.95rem;line-height:1}.status-pill--slate{background:#f5f5f4;color:#57534e;border-color:#d6d3d1}.status-pill--amber{background:#fffbeb;color:#b45309;border-color:#fcd34d}.status-pill--orange{background:#fff7ed;color:#c2410c;border-color:#fdba74}.status-pill--coral{background:#fff1f2;color:#be123c;border-color:#fda4af}.status-pill--teal{background:#f0fdfa;color:#0f766e;border-color:#5eead4}.status-pill--emerald{background:#ecfdf5;color:#047857;border-color:#6ee7b7}.status-pill--red{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.status-pill--violet{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}.app-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,#f8fafc,#f1f5f9);box-shadow:0 1px 3px #0f172a14;border-bottom:1px solid #cbd5e1}.app-header-inner{position:relative;max-width:var(--layout-max-width);margin:0 auto;padding:.65rem max(var(--layout-padding-x),env(safe-area-inset-right,0px)) .65rem max(var(--layout-padding-x),env(safe-area-inset-left,0px));display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap}.app-header-inner:before{display:none}.app-header-inner>*{position:relative;z-index:1}.app-context-bar{position:sticky;top:var(--app-header-sticky-offset);z-index:998;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;box-shadow:0 4px 12px #0f172a0f}.app-context-bar__inner{max-width:var(--layout-max-width);margin:0 auto;padding:.4rem max(var(--layout-padding-x),env(safe-area-inset-right,0px)) .4rem max(var(--layout-padding-x),env(safe-area-inset-left,0px));display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .65rem}.app-context-bar__inner--minimal{flex-wrap:nowrap;justify-content:flex-start}.app-context-bar__primary{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.app-context-bar__menus{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;min-width:0}.app-context-bar__btn{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font:inherit;font-size:.82rem;font-weight:600;color:#334155;cursor:pointer;transition:background .15s,border-color .15s}.app-context-bar__btn:hover{background:#eff6ff;border-color:#93c5fd}.app-context-bar__link{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--color-accent)!important;text-decoration:none!important;border:1px solid transparent}.app-context-bar__link:hover{background:var(--color-accent-soft);border-color:#fdba74}.app-context-bar__pill{border-color:#e2e8f0;background:#fff;color:#334155!important}.app-context-bar__pill:hover{border-color:#fdba74;color:#9a3412!important}.app-context-bar__sep{width:1px;height:1.25rem;background:#cbd5e1;flex-shrink:0}.app-context-bar__dropdown{position:relative}.app-context-bar__dropdown-trigger{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font:inherit;font-size:.82rem;font-weight:600;color:#334155;cursor:pointer}.app-context-bar__dropdown-trigger:hover{border-color:#fdba74;background:var(--color-accent-soft)}.app-context-bar__caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #64748b;margin-top:2px}.app-context-bar__dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;padding:.35rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a1f;z-index:1002}.app-context-bar__dropdown-item{display:block;padding:.5rem .65rem;border-radius:6px;font-size:.86rem;font-weight:500;color:#334155!important;text-decoration:none!important}.app-context-bar__dropdown-item:hover{background:#f1f5f9;color:#0f172a!important}.public-context-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.35)}.public-context-nav__btn{padding:.4rem .75rem;border-radius:8px;border:1px solid rgba(226,232,240,.4);background:#ffffff1f;color:#e2e8f0;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.public-context-nav__btn:hover{background:#fff3}.public-context-nav__link{font-size:.85rem;font-weight:600;color:#93c5fd!important;text-decoration:none!important}.public-context-nav__link:hover{text-decoration:underline!important;color:#bfdbfe!important}.public-context-nav--light{border-bottom-color:#e2e8f0}.public-context-nav--light .public-context-nav__btn{border-color:#cbd5e1;background:#fff;color:#334155}.public-context-nav--light .public-context-nav__btn:hover{background:#f8fafc}.public-context-nav--light .public-context-nav__link{color:var(--color-accent)!important}.public-context-nav--light .public-context-nav__link:hover{color:var(--color-accent-hover)!important}.app-brand{flex-shrink:0;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:#0f172a!important;text-decoration:none!important;padding:.35rem .5rem;border-radius:8px;transition:background .2s,color .2s}.app-brand--logo{display:inline-flex;align-items:center;padding:.2rem .55rem;line-height:0;background:#fff;border-radius:10px;border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 4px #0f172a0f}.app-brand__logo{height:clamp(28px,4.2vw,36px);width:auto;max-width:min(200px,42vw);object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(15,23,42,.12))}.app-brand:hover{background:#0f172a0f;color:#0f172a!important;text-decoration:none!important}.app-header .app-brand--logo:hover{background:#fafafa;border-color:#ea580c38;color:inherit!important}.app-brand--logo:hover .app-brand__logo{filter:drop-shadow(0 1px 2px rgba(15,23,42,.15))}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:0;border:none;border-radius:10px;background:#ffffff1a;cursor:pointer;transition:background .2s}.nav-burger:hover{background:#ffffff2e}.nav-burger-bar{display:block;width:22px;height:2px;margin:0 auto;background:#e2e8f0;border-radius:1px;transition:transform .25s,opacity .25s}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-shell{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.nav-menu{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .85rem;border:1px solid transparent;border-radius:10px;background:transparent;color:#334155;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.nav-dropdown-trigger:hover{background:#e2e8f0;color:#0f172a}.nav-dropdown--open .nav-dropdown-trigger{background:#fff7ed;color:#9a3412;border-color:#ea580c59}.nav-dropdown--route-active:not(.nav-dropdown--open) .nav-dropdown-trigger{background:#ecfdf5;color:#065f46;border:1px solid rgba(16,185,129,.45)}.nav-dropdown--route-active:not(.nav-dropdown--open) .nav-dropdown-trigger:hover{background:#d1fae5;color:#064e3b}.nav-dropdown-chevron{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;opacity:.85;transition:transform .2s}.nav-dropdown--open .nav-dropdown-chevron{transform:rotate(180deg)}.nav-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;margin:0;padding:.4rem;list-style:none;background:#fff;border-radius:12px;box-shadow:0 12px 40px #0f172a33,0 0 0 1px #94a3b833;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:20}.nav-dropdown--open .nav-dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-link{display:block;padding:.65rem .85rem;border-radius:8px;color:#334155!important;font-size:.9rem;font-weight:500;text-decoration:none!important;transition:background .15s,color .15s}.nav-dropdown-link:hover{background:#f1f5f9;color:#0f172a!important}.nav-dropdown-link--active{background:var(--color-accent-soft)!important;color:#9a3412!important;font-weight:600}.nav-aide-link{flex-shrink:0;font-size:.82rem;font-weight:700;color:#334155!important;text-decoration:none!important;padding:.35rem .55rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;transition:background .15s,color .15s,border-color .15s}.nav-aide-link:hover{background:#fff7ed;color:#9a3412!important;border-color:#ea580c73}.nav-aide-link--active{background:#ffedd5;border-color:#ea580c8c;color:#9a3412!important}.nav-settings-gear{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:8px;color:#475569;flex-shrink:0;text-decoration:none!important;transition:background .15s,color .15s}.nav-settings-gear:hover{background:#e2e8f0;color:#0f172a}.nav-settings-gear--active{background:#dbeafe;color:#1d4ed8}.settings-layout__tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.settings-layout__tab{padding:.45rem .9rem;border-radius:8px;font-weight:600;font-size:.88rem;color:var(--color-muted);text-decoration:none!important;border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #fff)}.settings-layout__tab:hover{border-color:#93c5fd;color:var(--color-accent)}.settings-layout__tab--active{background:var(--color-accent);color:#fff!important;border-color:var(--color-accent)}.settings-security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.25rem;align-items:start}.nav-user{display:flex;align-items:center;gap:.65rem;flex-shrink:0;padding-left:.5rem;border-left:1px solid #cbd5e1}.nav-user-name{font-size:.8rem;color:#64748b;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-role{display:block;font-size:.72rem;opacity:.85;margin-top:2px}.btn-nav-logout{padding:.45rem .85rem;border-radius:8px;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-nav-logout:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}.nav-backdrop{display:none}@media (max-width: 900px){.app-header-inner:before{display:none}.nav-burger{display:flex;background:#0f172a0f;border:1px solid rgba(15,23,42,.1)}.nav-burger:hover{background:#0f172a1a}.nav-burger-bar{background:#334155}.nav-shell{position:fixed;top:0;right:0;width:min(320px,88vw);height:100vh;height:100dvh;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:4.5rem 1rem 1.5rem;background:#f8fafc;box-shadow:-8px 0 32px #0f172a2e;border-left:1px solid #e2e8f0;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;z-index:1001}.nav-shell--open{transform:translate(0)}.nav-menu{flex-direction:column;align-items:stretch;gap:.35rem;width:100%}.nav-dropdown{width:100%}.nav-dropdown-trigger{width:100%;justify-content:space-between;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.nav-dropdown-panel{position:static;opacity:1;visibility:visible;transform:none;display:none;margin-top:.35rem;margin-bottom:.5rem;box-shadow:inset 0 0 0 1px #e2e8f0;background:#fff}.nav-dropdown--open .nav-dropdown-panel{display:block}.nav-dropdown-link{color:#334155!important}.nav-dropdown-link:hover{background:#f1f5f9;color:#0f172a!important}.nav-dropdown-link--active{background:#fff7ed!important;color:#9a3412!important}.nav-user{flex-direction:column;align-items:stretch;border-left:none;border-top:1px solid #e2e8f0;padding:1rem 0 0;margin-top:.75rem}.nav-user-name{max-width:none;white-space:normal}.btn-nav-logout{width:100%}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;border:none;cursor:pointer;animation:navFadeIn .25s ease}}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}@media (min-width: 901px){.nav-dropdown-panel{max-height:min(70vh,420px);overflow-y:auto}}.login-screen{min-height:100vh;min-height:100dvh;position:relative;display:flex;flex-direction:column;overflow-x:hidden}.login-screen-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#070b14;background-image:radial-gradient(ellipse 120% 80% at 10% -10%,rgba(56,189,248,.22) 0%,transparent 55%),radial-gradient(ellipse 90% 70% at 100% 110%,rgba(99,102,241,.2) 0%,transparent 50%),linear-gradient(165deg,#050a12,#0c1424 42%,#0a1628)}.login-screen-geo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.55;background-image:repeating-linear-gradient(-18deg,rgba(148,163,184,.07) 0 1px,transparent 1px 56px),repeating-linear-gradient(72deg,rgba(56,189,248,.06) 0 1px,transparent 1px 72px),linear-gradient(rgba(248,250,252,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(248,250,252,.045) 1px,transparent 1px);background-size:auto,auto,40px 40px,40px 40px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 38%,black 0%,transparent 72%);mask-image:radial-gradient(ellipse 85% 75% at 50% 38%,black 0%,transparent 72%)}.login-screen-main{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2rem);padding-bottom:clamp(7.5rem,18vh,9.5rem)}.login-card{box-sizing:border-box;width:100%;max-width:min(420px,100%);margin-inline:auto;background:#fffffff7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;padding:clamp(1.5rem,4vw,2rem);box-shadow:0 25px 50px -12px #0f172a73,0 0 0 1px #ffffff80 inset}.login-card-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem}.login-card-brand img{height:clamp(40px,10vw,48px);width:auto;max-width:min(200px,55vw);object-fit:contain}.login-card-brand-text{min-width:0}.login-card-kicker{margin:0 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.login-card-header{margin-bottom:1.5rem}.login-card-title{margin:0 0 .35rem;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:#0f172a}.login-card-sub{margin:0;font-size:.9rem;color:#64748b}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-label{font-size:.8rem;font-weight:600;color:#334155}.login-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1.5px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#0f172a;transition:border-color .2s,box-shadow .2s,background .2s}.login-input::placeholder{color:#94a3b8}.login-input:hover:not(:disabled){border-color:#cbd5e1;background:#fff}.login-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e}.login-input:disabled{opacity:.65;cursor:not-allowed}.login-alert{padding:.75rem 1rem;border-radius:12px;font-size:.85rem;line-height:1.45;color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.25rem;min-height:3rem;padding:.75rem 1.25rem;font-size:clamp(.95rem,2.8vw,1.05rem);font-weight:700;color:#fff;background:linear-gradient(165deg,#14b8a6,#0d9488 42%,#0f766e);border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 14px #0d948866,0 1px #ffffff1f inset;transition:transform .15s,box-shadow .2s,filter .2s}.login-submit:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 8px 22px #0f766e73,0 1px #ffffff24 inset;transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.88;cursor:wait;transform:none}.login-spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card{border-radius:16px;padding:1.25rem 1.1rem}.login-submit{min-height:2.875rem;border-radius:14px}.login-card-brand{flex-direction:column;align-items:flex-start}}@media (max-width: 360px){.login-card-title{font-size:1.35rem}.login-input{font-size:16px}}@media (prefers-reduced-motion: reduce){.login-submit:hover:not(:disabled){transform:none}.login-spinner{animation:none;border-top-color:transparent}}.register-screen{min-height:100vh;min-height:100dvh;position:relative;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-x:hidden}.register-screen-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 95% 65% at 8% 18%,rgba(20,184,166,.28) 0%,transparent 52%),radial-gradient(ellipse 85% 55% at 92% 78%,rgba(59,130,246,.32) 0%,transparent 48%),linear-gradient(158deg,#0b1220,#134e4a 38%,#0f172a 72%,#0c1929)}.register-screen-blueprint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),repeating-linear-gradient(-18deg,transparent,transparent 11px,rgba(148,163,184,.06) 11px,rgba(148,163,184,.06) 12px);background-size:28px 28px,28px 28px,auto;-webkit-mask-image:radial-gradient(ellipse 88% 72% at 50% 48%,black 18%,transparent 78%);mask-image:radial-gradient(ellipse 88% 72% at 50% 48%,black 18%,transparent 78%)}.register-screen-tools{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;color:#e2e8f061;display:flex;align-items:center;justify-content:center;mix-blend-mode:screen}.register-tools-svg{width:min(92vw,560px);height:auto;max-height:58vh}.register-screen-content{position:relative;z-index:1;width:100%;max-width:min(1200px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(min(100%,320px),440px);gap:clamp(2rem,5vw,3.5rem);align-items:center}.register-screen-topbar{grid-column:1 / -1;width:100%}.register-screen-topbar .public-context-nav{margin-bottom:.25rem}.register-hero{color:#f8fafc;padding:.5rem 0;min-width:0}.register-hero-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#99f6e4;background:#14b8a638;border:1px solid rgba(45,212,191,.4);padding:.35rem .75rem;border-radius:999px;margin-bottom:1rem}.register-hero-title{margin:0 0 .75rem;font-size:clamp(1.65rem,3.8vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;text-shadow:0 2px 24px rgba(0,0,0,.28)}.register-hero-text{margin:0 0 1.25rem;font-size:1rem;line-height:1.65;color:#cbd5e1;max-width:38ch}.register-hero-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.register-hero-list li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#e2e8f0}.register-hero-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#2dd4bf,#0d9488);flex-shrink:0;box-shadow:0 0 0 3px #2dd4bf38}.register-panel{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%;justify-self:stretch}@media (max-width: 900px){.register-screen-content{grid-template-columns:1fr;max-width:460px}.register-hero{text-align:center;padding-bottom:0}.register-hero-text{max-width:none;margin-left:auto;margin-right:auto}.register-hero-list{align-items:center}.register-hero-list li{justify-content:center}}@media (max-width: 480px){.register-screen{padding:2rem 1rem 1rem;align-items:flex-start}}@media (prefers-reduced-motion: reduce){.register-tools-svg{opacity:.55}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:navFadeIn .2s ease}.modal-box{width:100%;max-width:520px;max-height:min(90vh,720px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000059}.modal-box:has(.catalogue-article-new-form),.modal-box:has(.equipment-create-form){max-width:min(92vw,820px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.modal-title{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a}.modal-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:10px;background:#f1f5f9;color:#475569;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .15s}.modal-close:hover{background:#e2e8f0}.modal-body{padding:1.25rem}.confirm-dialog__message{margin:0 0 1rem;line-height:1.5;color:#334155}.confirm-dialog__error{margin:0 0 1rem}.confirm-dialog__actions{margin-top:.25rem;justify-content:flex-end}.crud-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.btn-sm{padding:.35rem .65rem;font-size:.8rem;border-radius:6px}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-weight:600;font-size:inherit;padding:0;text-decoration:underline}.btn-link:hover{color:var(--color-accent-hover)}.btn-danger-outline{background:#fff;color:#b91c1c;border:1px solid #fecaca}.btn-danger-outline:hover{background:#fef2f2}.nav-app-modes{display:flex;align-items:center;gap:.35rem;flex-shrink:1;flex-wrap:wrap;min-width:0}.nav-mode-link{padding:.4rem .65rem;border-radius:8px;font-size:.8rem;font-weight:600;color:#475569!important;text-decoration:none!important;border:1px solid #cbd5e1;background:#fff;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.nav-mode-link:hover{background:#f8fafc;color:#0f172a!important;border-color:#94a3b8}.nav-mode-link--active{background:#eff6ff!important;border-color:#93c5fd;color:#1d4ed8!important}.nav-mode-link-text-short{display:none}@media (max-width: 520px){.nav-mode-link-text-full{display:none}.nav-mode-link-text-short{display:inline}}.dashboard-home{width:100%;max-width:none}.dashboard-tagline{color:#475569;line-height:1.5;margin-bottom:1.5rem}.dashboard-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.75rem}.dashboard-panel{display:flex;flex-direction:column;gap:.5rem;padding:1.35rem 1.25rem;border-radius:12px;text-decoration:none!important;color:inherit;box-shadow:0 4px 14px #0f172a14;border:1px solid #e2e8f0;transition:transform .15s,box-shadow .15s}.dashboard-panel:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a1f}.dashboard-panel--crm{background:linear-gradient(145deg,#eff6ff,#fff);border-color:#bfdbfe}.dashboard-panel--terrain{background:linear-gradient(145deg,#ecfdf5,#fff);border-color:#a7f3d0}.dashboard-panel--labo{background:linear-gradient(145deg,#fff7ed,#fff);border-color:#fed7aa}.dashboard-panel-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.dashboard-panel strong{font-size:1.15rem;color:#0f172a}.dashboard-panel-hint{font-size:.9rem;color:#64748b;line-height:1.45}.dashboard-shortcuts-title{font-size:.85rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.dashboard-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem}.hub-page{width:100%;max-width:none}.hub-header h1{margin:0 0 .5rem;font-size:1.5rem}.hub-lead{color:#475569;line-height:1.55;margin:0 0 1.25rem}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.hub-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0;text-decoration:none!important;color:inherit;transition:border-color .15s,box-shadow .15s}.hub-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #2563eb1a}.hub-card-title{font-weight:700;font-size:1rem;color:#0f172a}.hub-card-desc{font-size:.85rem;color:#64748b;line-height:1.4}.hub-footnote{margin-top:1.5rem;font-size:.9rem}.hub-grid--terrain .hub-card--terrain{min-height:5.5rem;padding:1.25rem 1.1rem}.terrain-touch .hub-card--terrain,.terrain-touch .hub-card--terrain .hub-card-title{font-size:1.05rem}.terrain-touch .hub-card--terrain{min-height:6.25rem;padding:1.35rem 1.15rem}@media (min-width: 768px){.terrain-touch .hub-grid--terrain{grid-template-columns:repeat(2,1fr)}}.module-shell{margin:0 0 1.25rem;max-width:100%}.module-shell__bar{background:linear-gradient(180deg,#2a4a7c,#1e3a5f);border-bottom:1px solid rgba(15,23,42,.35);padding:.45rem var(--layout-padding-x);box-shadow:inset 0 -1px #ffffff0f}.module-shell__bar-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f8fafce0}.module-shell__body{background:#fff;border-radius:0 0 10px 10px;box-shadow:0 1px 3px #0f172a14;border:1px solid #e2e8f0;border-top:none;overflow:hidden}.module-shell__breadcrumb{padding:.65rem var(--layout-padding-x) 0;font-size:.8rem;color:#64748b}.module-shell__breadcrumb a{color:var(--color-accent);font-weight:500}.module-shell__breadcrumb-current{color:#334155;font-weight:600}.module-shell__breadcrumb-sep{color:#94a3b8;font-weight:400}.module-shell__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:.35rem var(--layout-padding-x) .85rem;border-bottom:1px solid #e2e8f0}.module-shell__title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.module-shell__subtitle{margin:.2rem 0 0;font-size:.85rem;color:#64748b}.module-shell__actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.module-shell__actions .btn,.module-shell__actions a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.module-shell__tabs-accessory{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.45rem var(--layout-padding-x);font-size:.82rem;color:#64748b;background:#eef2f7;border-bottom:1px solid #e2e8f0}.module-shell__tabs-accessory a{font-weight:600;color:var(--color-accent);text-decoration:none!important}.module-shell__tabs-accessory a:hover{text-decoration:underline!important}.back-office-tabs-accessory{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem}.back-office-tabs-accessory__label{font-weight:700;color:#475569;margin-right:.15rem}.back-office-tabs-accessory__sep{color:#94a3b8;-webkit-user-select:none;user-select:none}.module-shell__tabs-wrap{background:linear-gradient(180deg,#faf8f5,#f0fdf4);border-bottom:1px solid var(--color-border);padding:0 .5rem}.module-shell--back-office .module-shell__tabs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.module-shell--back-office .module-shell__tabs{flex-wrap:nowrap;min-height:2.85rem}.module-shell__tabs{display:flex;flex-wrap:wrap;gap:0}.module-shell__tab{display:inline-block;padding:.65rem 1rem;font-size:.88rem;font-weight:600;color:#475569;text-decoration:none!important;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s,background .15s}.module-shell__tab:hover{color:#c2410c;background:#ffffffa6}.module-shell__tab.module-shell__tab--active{color:#9a3412;background:#fff;border-bottom-color:var(--color-accent)}.module-shell__content{padding:1rem var(--layout-padding-x);background:var(--color-bg);min-height:200px}.module-shell__content>.card:first-child{margin-top:0}.module-fiche-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.25rem;margin:0}.module-fiche-grid dt{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.module-fiche-grid dd{margin:.15rem 0 0;font-size:.95rem;color:#0f172a;font-weight:500}.table-row-link{cursor:pointer}.table-row-link:hover td{background:#f1f5f9}.list-filter-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.list-filter-row label{margin:0;min-width:160px}.list-filter-row span.filter-label{display:block;font-size:.85rem;margin-bottom:.25rem;color:#64748b}.app-offline-banner{display:flex;align-items:center;gap:.65rem;padding:.55rem var(--layout-padding-x);background:linear-gradient(90deg,#7c2d12,#9a3412);color:#fff7ed;font-size:.82rem;font-weight:600;justify-content:center;text-align:center;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12)}.app-offline-banner__dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;box-shadow:0 0 0 3px #fbbf2459;flex-shrink:0;animation:pulseDot 1.4s ease-in-out infinite}@keyframes pulseDot{50%{opacity:.55}}.app-sync-banner{padding:.45rem var(--layout-padding-x);background:#fffbeb;color:#92400e;font-size:.8rem;font-weight:600;text-align:center;border-bottom:1px solid #fde68a}.app-toast{position:fixed;bottom:2rem;right:2rem;z-index:10050;display:flex;align-items:center;gap:1rem;min-width:min(22rem,calc(100vw - 2.5rem));max-width:min(32rem,calc(100vw - 2.5rem));padding:1.15rem 1.35rem;border-radius:12px;box-shadow:0 16px 40px #0f172a38;font-size:1.05rem;font-weight:600;line-height:1.45;animation:toastSlideIn .25s ease-out}.app-toast--success{background:#ecfdf5;color:#065f46;border:2px solid #34d399}.app-toast--error{background:#fef2f2;color:#991b1b;border:2px solid #f87171}.app-toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;font-size:1.25rem;font-weight:700;line-height:1}.app-toast--success .app-toast__icon{background:#10b981;color:#fff}.app-toast--error .app-toast__icon{background:#ef4444;color:#fff}.app-toast__message{flex:1}.app-toast__close{flex-shrink:0;border:none;background:transparent;color:inherit;opacity:.65;font-size:1.75rem;line-height:1;padding:0 .15rem;cursor:pointer}.app-toast__close:hover{opacity:1}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.hub-page--v2{width:100%;max-width:none}.hub-header--v2 h1{font-size:clamp(1.65rem,3vw,2rem);letter-spacing:-.03em}.hub-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted)}.hub-grid--v2{gap:1rem}.hub-card--v2{position:relative;display:grid;grid-template-columns:1.75rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:.85rem;row-gap:.35rem;align-items:start;padding:1.25rem 1.15rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(145deg,#fff 0%,var(--color-surface-2) 100%);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s;overflow:hidden}.hub-card--v2 .hub-card-title{grid-column:2;grid-row:1}.hub-card--v2 .hub-card-desc{grid-column:2;grid-row:2}.hub-card--v2:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),#38bdf8);opacity:0;transition:opacity .2s}.hub-card--v2:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#bfdbfe}.hub-card--v2:hover:before{opacity:1}.hub-card-v2__icon{grid-column:1;grid-row:1 / -1;justify-self:center;align-self:start;display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;margin-top:.14rem;flex-shrink:0;color:var(--color-text-muted, #64748b);line-height:0}.hub-card-v2__icon svg{width:100%;height:100%;display:block}.hub-card--terrain.hub-card--v2{background:linear-gradient(145deg,#fff,#ecfdf5 55%,#fff)}.hub-card--terrain.hub-card--v2:hover{border-color:#6ee7b7}.dashboard-home--v2{display:flex;flex-direction:column;gap:1.25rem}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),0 12px 32px -18px #0f172a1f;padding:1.25rem 1.35rem}.dashboard-card--hero{border-left:4px solid var(--color-accent);background:linear-gradient(135deg,#fff,#fff7ed 48%,#ecfdf5)}.dashboard-card--muted{background:var(--color-surface-2);border-style:dashed;box-shadow:none}.dashboard-card--error{border-color:#fecaca;background:#fef2f2;box-shadow:var(--shadow-sm)}.dashboard-card__error-msg{margin:0}.dashboard-card__head{margin:-.15rem 0 1rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.dashboard-card__head .dashboard-section__title{margin:0}.dashboard-card__eyebrow{margin:0 0 .75rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.dashboard-card--hubs .dashboard-split,.dashboard-card.dashboard-section{margin-bottom:0}.dashboard-card--shortcuts .dashboard-shortcuts-title{margin-top:0;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border);font-size:.8rem}.dashboard-home--v2 .dashboard-hero{margin-bottom:0}.dashboard-home--v2 .dashboard-hero h1{margin-top:.35rem;margin-bottom:.5rem;font-size:clamp(1.35rem,2.4vw,1.65rem);letter-spacing:-.02em}.dashboard-home--v2 .dashboard-tagline{max-width:52ch;margin-bottom:0}.dashboard-panel--v2{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto minmax(0,1fr);column-gap:1rem;row-gap:.35rem;align-items:start;padding:1.25rem;border-radius:var(--radius-lg);border-width:1.5px}.dashboard-panel--v2 .dashboard-panel-icon{grid-column:1;grid-row:1 / -1;margin-top:.1rem}.dashboard-panel--v2 .dashboard-panel-label{grid-column:2;grid-row:1}.dashboard-panel--v2 strong{grid-column:2;grid-row:2}.dashboard-panel--v2 .dashboard-panel-hint{grid-column:2;grid-row:3}.dashboard-panel-icon{display:flex;width:2rem;height:2rem;flex-shrink:0;color:var(--color-text-muted, #64748b);line-height:0}.dashboard-panel-icon svg{width:100%;height:100%}.dashboard-loading{margin:0 0 1rem;color:var(--color-muted);font-size:.9rem}.dashboard-section{margin-bottom:1.75rem}.dashboard-section__title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.9rem}.dashboard-kpi{padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);min-height:5.85rem}.dashboard-kpi--accent{border-color:#ea580c73;background:linear-gradient(145deg,#fff7ed,#ecfdf5 55%,#fff)}.dashboard-kpi__head{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:.35rem}.dashboard-kpi__bubble{flex-shrink:0;width:2.15rem;height:2.15rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.12rem;line-height:1;box-shadow:inset 0 1px #ffffffa6}.dashboard-kpi__bubble--orange{background:linear-gradient(145deg,#ffedd5,#fed7aa)}.dashboard-kpi__bubble--emerald{background:linear-gradient(145deg,#d1fae5,#a7f3d0)}.dashboard-kpi__bubble--teal{background:linear-gradient(145deg,#ccfbf1,#99f6e4)}.dashboard-kpi__bubble--amber{background:linear-gradient(145deg,#fef3c7,#fde68a)}.dashboard-kpi__bubble--coral{background:linear-gradient(145deg,#ffe4e6,#fecdd3)}.dashboard-kpi__bubble--violet{background:linear-gradient(145deg,#ede9fe,#ddd6fe)}.dashboard-kpi__bubble--slate{background:linear-gradient(145deg,#f5f5f4,#e7e5e4)}.dashboard-kpi__bubble--rose{background:linear-gradient(145deg,#ffe4e6,#fecdd3)}.dashboard-kpi--tone-orange{border-color:#fb923c59}.dashboard-kpi--tone-emerald{border-color:#10b98159}.dashboard-kpi--tone-teal{border-color:#14b8a659}.dashboard-kpi--tone-amber{border-color:#f59e0b66}.dashboard-kpi--tone-coral{border-color:#fb718573}.dashboard-kpi--tone-violet{border-color:#a78bfa73}.dashboard-kpi--tone-slate{border-color:#d6d3d1}.dashboard-kpi--tone-rose{border-color:#f43f5e59}.dashboard-kpi__label{display:block;flex:1;min-width:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);line-height:1.25}.dashboard-kpi__value{display:block;font-size:1.18rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text)}.dashboard-kpi--tile{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .18s,box-shadow .18s,transform .15s}.dashboard-kpi--tile:hover{border-color:#ea580c66;box-shadow:0 6px 20px #ea580c1a;transform:translateY(-1px)}.dashboard-kpi--tile-open{border-color:var(--color-accent);box-shadow:0 0 0 2px #ea580c26,0 8px 22px #0596691f}.dashboard-kpi__hint{display:block;margin-top:.4rem;font-size:.65rem;font-weight:600;color:var(--color-secondary);text-transform:none;letter-spacing:0}.dashboard-metier-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding:.45rem;background:linear-gradient(135deg,#ecfdf5,#fff7ed);border-radius:var(--radius-md);border:1px solid rgba(234,88,12,.2)}.dashboard-metier-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:10px;border:1px solid transparent;background:#ffffff8c;font:inherit;font-size:.9rem;font-weight:700;color:var(--color-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.dashboard-metier-tab__icon{flex-shrink:0;font-size:1.1rem;line-height:1}.dashboard-metier-tab__text{line-height:1.2}.dashboard-metier-tab:hover{color:var(--color-text);background:#fff;border-color:#05966940}.dashboard-metier-tab--active{color:#9a3412;background:#fff;border-color:#ea580c73;box-shadow:0 2px 10px #ea580c1f}.dashboard-metier-panel{display:flex;flex-direction:column;gap:1rem}.dashboard-metier-subtitle{margin:.25rem 0 0;font-size:.95rem;font-weight:700;color:var(--color-text)}.dashboard-metier-links{margin-top:.25rem}.dashboard-kpi-detail{margin-top:.25rem;padding:1rem 1.15rem}.dashboard-kpi-detail.card{margin-bottom:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.dashboard-kpi-detail__title{margin:0 0 .5rem;font-size:1rem;font-weight:700}.dashboard-kpi-detail__text{margin:0 0 .75rem;font-size:.88rem;line-height:1.5;color:var(--color-muted)}.dashboard-kpi-detail__meta{margin:.75rem 0;font-size:.88rem;line-height:1.45;color:var(--color-text)}.dashboard-kpi-detail__list{margin:0;padding-left:1.15rem;font-size:.88rem;line-height:1.55}.dashboard-kpi-detail__list li{margin-bottom:.35rem}.dashboard-kpi-detail__table{width:100%;border-collapse:collapse;font-size:.88rem}.dashboard-kpi-detail__table td{padding:.4rem .5rem .4rem 0;border-bottom:1px solid var(--color-border)}.dashboard-kpi-detail__num{text-align:right;font-weight:600;white-space:nowrap}.dashboard-kpi-detail__action{margin-top:.75rem}.dashboard-report-links{display:flex;flex-wrap:wrap;gap:.5rem}.dashboard-report-link{display:inline-flex;align-items:center;padding:.5rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;font-size:.88rem;font-weight:600;color:var(--color-text);text-decoration:none;transition:border-color .15s,box-shadow .15s}.dashboard-report-link:hover{border-color:#ea580c73;background:var(--color-accent-soft);color:#9a3412;box-shadow:var(--shadow-sm)}.dashboard-mini-chart{padding:1rem 1.1rem}.dashboard-metier-panel .dashboard-mini-chart.card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#ecfdf5 55%,#fff7ed);box-shadow:0 1px 2px #1c19170d}.report-page{width:100%;max-width:none}.report-page__head h1{margin:.25rem 0 .5rem;font-size:clamp(1.4rem,2.5vw,1.75rem)}.report-page__lead{margin:0 0 1.25rem;color:var(--color-muted);line-height:1.55;max-width:62ch}.report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.report-kpi-grid--2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.report-kpi{padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.report-kpi--accent{border-color:#fcd34d;background:linear-gradient(145deg,#fffbeb,#fff)}.report-kpi__label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:.4rem}.report-kpi__value{font-size:1.2rem;font-weight:700}.report-muted{margin:0;color:var(--color-muted);font-size:.9rem}.report-chart-card h2,.report-delay-card h2{margin-top:0;font-size:1.05rem}.report-bars{display:flex;flex-direction:column;gap:.45rem}.report-bar-row{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.5rem;align-items:center;font-size:.82rem}.report-bar-label{color:var(--color-muted);font-variant-numeric:tabular-nums}.report-bar-track{height:8px;border-radius:4px;background:var(--color-surface-2);overflow:hidden}.report-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#fb923c,var(--color-accent));min-width:2px}.report-bar-fill--soft{background:linear-gradient(90deg,#fdba74,#ea580c)}.report-bar-fill--teal{background:linear-gradient(90deg,#10b981,#34d399)}.report-bar-value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;min-width:5.5rem}.report-status-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.report-status-list li{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--color-border);font-size:.9rem}.report-delay-dl{margin:.75rem 0 0;display:grid;gap:.65rem}.report-delay-dl div{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.report-delay-dl dt{color:var(--color-muted);font-weight:500}.report-delay-dl dd{margin:0;font-weight:700}.entity-meta-card{margin-top:1rem}.entity-meta-card__title{margin-top:0;font-size:1.05rem}.entity-meta-section{margin-bottom:1.25rem}.entity-meta-section__title{margin:0 0 .25rem;font-size:.95rem}.entity-meta-section__hint{margin:0 0 .5rem;font-size:.82rem;color:var(--color-muted);line-height:1.45}.entity-meta-empty{margin:0;font-size:.88rem;color:var(--color-muted)}.entity-meta-rows{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.entity-meta-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.35rem;align-items:center}.entity-meta-k{font-weight:600;font-size:.88rem}.entity-meta-v{font-size:.88rem;color:var(--color-text)}.entity-meta-input{padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.85rem}.entity-meta-input--key{font-weight:600}.entity-meta-remove{white-space:nowrap}.entity-meta-actions{margin-top:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.mission-modal-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.site-missions-subsection__header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.site-missions-subsection__title{margin:0;flex:1;font-size:.95rem;font-weight:600;color:var(--color-text)}.site-missions-subsection__empty{margin:0;font-size:.875rem;color:var(--color-text-muted, #64748b)}.site-missions-layers{margin-top:.35rem}.site-missions-layers__count{margin:0 0 .45rem;font-size:.8rem;color:var(--color-text-muted, #64748b)}.site-missions-layers__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff)}.site-missions-layers__table th.site-missions-layers__num,.site-missions-layers__table td.site-missions-layers__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.site-missions-layers__table td.site-missions-layers__desc{max-width:16rem;white-space:pre-wrap;word-break:break-word;color:var(--color-text);line-height:1.35}.site-missions-layers__thickness{display:inline-block;padding:.1rem .4rem;border-radius:999px;background:var(--color-surface-2, #f1f5f9);font-size:.8125rem;font-weight:600;color:var(--color-text-muted, #475569)}.site-missions-layers__table tbody tr:last-child td{border-bottom:none}@media (max-width: 640px){.entity-meta-row,.report-bar-row{grid-template-columns:1fr}.report-bar-value{text-align:left}}.site-mini-map-card{margin-bottom:1rem}.site-mini-map-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:1rem 1.15rem .75rem;border-bottom:1px solid var(--color-border)}.site-mini-map-card__title{margin:0;font-size:1.05rem;font-weight:700}.site-mini-map-card__link{font-size:.85rem;font-weight:600}.site-mini-map-wrap{height:220px;width:100%}.site-mini-map-leaflet{height:100%;width:100%;border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:0}.client-detail-layout{display:grid;gap:1rem;align-items:start}.client-detail-layout__main,.client-detail-layout__aside{min-width:0}@media (min-width: 960px){.client-detail-layout{grid-template-columns:1fr min(360px,34%)}.client-detail-layout__aside{position:sticky;top:calc(var(--app-header-sticky-offset, 52px) + .75rem);align-self:start}}.client-location-map-card__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.client-location-map-card__address{margin:0 0 .65rem;font-size:.88rem;line-height:1.45;color:var(--color-muted, #64748b)}.client-location-map-card__hint{margin:0 0 .65rem;font-size:.82rem;color:var(--color-muted, #64748b);line-height:1.4}.client-location-map-wrap{height:200px;width:100%;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--color-border, #e2e8f0)}.client-location-map-leaflet{height:100%;width:100%;z-index:0}.client-location-map-card__link{display:inline-block;margin-top:.65rem;font-size:.85rem;font-weight:600}.client-synthese__title{margin:0 0 1rem;font-size:1.15rem;font-weight:700}.client-synthese-kpi{width:100%;border-collapse:collapse;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--color-border, #e2e8f0);margin-bottom:.75rem}.client-synthese-kpi th{text-align:left;padding:.65rem .85rem;font-weight:600;font-size:.88rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#334155;border-bottom:1px solid var(--color-border, #e2e8f0);width:48%}.client-synthese-kpi td{padding:.65rem .85rem;text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--color-border, #e2e8f0);background:#fff}.client-synthese-kpi tr:last-child th,.client-synthese-kpi tr:last-child td{border-bottom:none}.client-synthese-kpi__value{font-weight:600;font-size:.95rem}.client-synthese-kpi__value--accent{color:#b45309;font-size:1.05rem}.client-synthese__note{margin:0 0 1.25rem;font-size:.8rem;color:var(--color-muted, #64748b)}.client-synthese-split{display:grid;gap:1rem}@media (min-width: 640px){.client-synthese-split{grid-template-columns:1fr 1fr;gap:1.25rem}}.client-synthese-split__heading{margin:0 0 .5rem;font-size:.92rem;font-weight:700;color:#334155}.client-synthese-table-wrap{border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e2e8f0);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#fff}.client-synthese-status{width:100%;border-collapse:collapse;font-size:.88rem}.client-synthese-status thead th{text-align:left;padding:.5rem .65rem;background:#1e293b;color:#f8fafc;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.client-synthese-status tbody td{padding:.5rem .65rem;border-top:1px solid #e2e8f0}.client-synthese-status tbody tr:nth-child(2n) td{background:#f8fafc}.client-synthese-status__num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;width:5rem}.client-synthese-status__empty{text-align:center;color:var(--color-muted, #64748b);font-style:italic;padding:.85rem!important}.site-map-panel{padding:0;overflow:hidden}.site-map-panel__head{padding:1.25rem 1.35rem 1rem;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface-2) 0%,#fff 100%)}.site-map-panel__title{margin:0 0 .35rem;font-size:1.2rem;font-weight:700}.site-map-panel__desc{margin:0;font-size:.88rem;color:var(--color-muted);line-height:1.5;max-width:65ch}.site-map-empty{padding:2rem 1.35rem;color:var(--color-muted);font-size:.95rem}.site-map-wrap{height:min(55vh,520px);min-height:320px}.site-map-leaflet{width:100%;height:100%;z-index:1}.design-stack{display:flex;flex-direction:column;gap:1rem}.design-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm)}.design-card--accent{background:linear-gradient(135deg,#eff6ff,#fff 70%);border-color:#bfdbfe}.design-card__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.design-card__muted{margin:0 0 1rem;font-size:.88rem;color:var(--color-muted);line-height:1.5}.granulo-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.granulo-table{margin:0;font-size:.9rem}.granulo-table th{background:var(--color-surface-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.granulo-table__input{width:100%;border:none;padding:.4rem .5rem;background:transparent;font:inherit}.granulo-table__input:focus{outline:2px solid rgba(37,99,235,.35);border-radius:4px}.granulo-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem 1rem;margin:0}.granulo-kpis dt{margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.granulo-kpis dd{margin:.2rem 0 0;font-size:1.15rem;font-weight:700;color:var(--color-text)}.granulo-chart-box{margin-top:.5rem}.activity-table-wrap{overflow-x:auto}.activity-table{font-size:.88rem}.activity-table__date{white-space:nowrap;color:var(--color-muted);font-variant-numeric:tabular-nums}.activity-code{font-size:.78rem;background:var(--color-surface-2);padding:.15rem .4rem;border-radius:6px}.report-review-pill{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.report-review-pill--draft{background:#f1f5f9;color:#475569}.report-review-pill--pending_review{background:#fef3c7;color:#b45309}.report-review-pill--approved{background:#d1fae5;color:#047857}.list-table-toolbar{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.15rem;margin-bottom:1rem;max-width:100%}.list-table-toolbar__row{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:flex-end}.list-table-toolbar__field{display:flex;flex-direction:column;gap:.3rem;margin:0;min-width:0}.list-table-toolbar__field .filter-label,.list-table-toolbar__extra .filter-label{display:block;font-size:.85rem;margin-bottom:0;color:#64748b;font-weight:500}.list-table-toolbar__field:has(select),.list-table-toolbar__extra label:has(select){position:relative}.list-table-toolbar__field:has(select):after,.list-table-toolbar__extra label:has(select):after{content:"";position:absolute;right:.65rem;bottom:.72rem;width:1rem;height:1rem;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat}.list-table-toolbar__field select,.list-table-toolbar__extra select{width:100%;min-height:2.35rem;padding:.45rem 2rem .45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background-color:var(--color-surface, #fff);font:inherit;color:inherit;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.list-table-toolbar__field select:focus,.list-table-toolbar__extra select:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.list-table-toolbar__search{flex:1 1 260px;min-width:min(100%,200px)}.list-table-toolbar__search-input-wrap{position:relative;display:flex;align-items:center}.list-table-toolbar__search-input{width:100%;min-height:2.35rem;padding:.45rem 2.1rem .45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);font:inherit}.list-table-toolbar__search-input:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.list-table-toolbar__search-clear{position:absolute;right:.25rem;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:none;border-radius:4px;background:transparent;color:#64748b;font-size:1.15rem;line-height:1;cursor:pointer}.list-table-toolbar__search-clear:hover{background:#f1f5f9;color:#334155}.list-table-toolbar__status{flex:0 1 180px}.list-table-toolbar__extra{flex:0 1 240px;min-width:min(100%,200px)}.list-table-toolbar__extra label{display:flex;flex-direction:column;gap:.3rem;margin:0;width:100%}.list-table-toolbar__columns{position:relative;flex:0 0 auto;margin:0;align-self:flex-end}.list-table-toolbar__columns>summary{list-style:none;display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:.4rem .85rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border);background:var(--color-surface, #fff);font-size:.875rem;font-weight:600;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.list-table-toolbar__columns>summary::-webkit-details-marker{display:none}.list-table-toolbar__columns>summary:hover{background:#f8fafc}.list-table-toolbar__columns[open]>summary{border-color:#93c5fd;background:#eff6ff}.list-table-toolbar__columns-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#e2e8f0;font-size:.75rem;font-weight:700;line-height:1}.list-table-toolbar__columns-panel{position:absolute;right:0;z-index:30;margin-top:.35rem;padding:.75rem 1rem;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-card);min-width:min(22rem,calc(100vw - 2rem));max-width:min(28rem,calc(100vw - 2rem));max-height:min(18rem,50vh);overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.45rem .85rem}.list-table-toolbar__column-option{display:flex;align-items:flex-start;gap:.45rem;margin:0;font-size:.85rem;line-height:1.35;cursor:pointer}.list-table-toolbar__column-option input{margin-top:.15rem;flex-shrink:0}.list-table-toolbar__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.list-table-toolbar__footer-label{font-size:.82rem;font-weight:600;color:#64748b}.list-table-toolbar__chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.2rem .25rem .2rem .6rem;border-radius:999px;font-size:.82rem;font-weight:500;background:#f1f5f9;border:1px solid var(--color-border);color:#334155}.list-table-toolbar__chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-table-toolbar__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:999px;background:transparent;color:#64748b;font-size:1rem;line-height:1;cursor:pointer;flex-shrink:0}.list-table-toolbar__chip-remove:hover{background:#e2e8f0;color:#0f172a}@media (max-width: 639px){.list-table-toolbar__search,.list-table-toolbar__status,.list-table-toolbar__extra{flex:1 1 100%}.list-table-toolbar__columns{width:100%}.list-table-toolbar__columns>summary{width:100%;justify-content:space-between}.list-table-toolbar__columns-panel{left:0;right:0;min-width:0;max-width:none}}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;padding:.75rem}@supports selector(:has(table)){.main-content .card:has(table),.module-shell__content .card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.main-content .card:has(table) table,.module-shell__content .card:has(table) table{width:100%;min-width:max(100%,40rem)}}@media (max-width: 900px){:root{--app-header-sticky-offset: 56px}}@media (max-width: 640px){.main-content{padding-top:.85rem}.app-context-bar__inner--minimal{flex-wrap:wrap}.app-context-bar__primary{width:100%;justify-content:flex-start}.dashboard-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,124px),1fr))}.dashboard-split{grid-template-columns:1fr}.dashboard-shortcuts .btn{flex:1 1 auto;text-align:center;justify-content:center}.dashboard-metier-tabs{flex-direction:row;flex-wrap:wrap}.dashboard-metier-tab{flex:1 1 auto;min-width:0;justify-content:center}.hub-grid{grid-template-columns:1fr}.hub-header h1{font-size:clamp(1.15rem,6vw,1.5rem)}.module-shell__title{font-size:clamp(1.05rem,5vw,1.35rem)}.module-shell__header{flex-direction:column;align-items:stretch}.module-shell__actions{width:100%;justify-content:flex-start}.module-shell__actions .btn{flex:1 1 auto;min-height:2.5rem;justify-content:center}.report-kpi-grid,.report-kpi-grid--2{grid-template-columns:1fr}.report-page__lead{max-width:none}.card{padding:1rem;overflow-x:auto}.modal-body{padding:1rem;max-height:min(70vh,520px);overflow-y:auto}}@media (max-width: 480px){:root{--layout-padding-x: .65rem}.btn{padding:.55rem .85rem;min-height:44px}.btn-sm{min-height:40px;padding:.4rem .6rem}.main-content table th,.main-content table td,.module-shell__content table th,.module-shell__content table td{padding:.4rem .45rem;font-size:.88rem}.crud-actions:not(.pagination-bar){flex-direction:column;align-items:stretch}.crud-actions:not(.pagination-bar) .btn{width:100%;justify-content:center}}.quote-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.75rem;margin-bottom:.75rem}.quote-form-travel-hint{grid-column:1 / -1;font-size:.85rem;margin:0;color:var(--color-muted, #64748b)}.quote-form-checkbox-row{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem}.quote-devis-header{margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.quote-editor-page__form{padding-bottom:calc(var(--layout-footer-dock-reserve, 3.5rem) + 8.5rem)}.quote-editor-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.quote-editor-tabs__btn{padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.quote-editor-tabs__btn:hover{border-color:var(--color-primary);background:var(--color-accent-soft, #fff4ed)}.quote-editor-tabs__btn--active{border-color:var(--color-primary);background:var(--color-accent-soft, #fff4ed);color:var(--color-text);box-shadow:0 0 0 1px #c7541a33}.quote-editor-sticky-footer{position:fixed;left:0;right:0;bottom:var(--layout-footer-dock-reserve, 3.5rem);z-index:1020;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.25rem;padding:.65rem max(var(--layout-padding-x),.75rem) calc(.65rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 95%,#f0ede8);box-shadow:0 -4px 20px #1a181614;max-width:100vw;box-sizing:border-box}@media (max-width: 640px){.quote-editor-page__form{padding-bottom:calc(var(--layout-footer-dock-reserve, 3.5rem) + 12.5rem)}.quote-editor-sticky-footer__actions,.quote-editor-sticky-footer__actions .btn{width:100%}}@media (min-width: 900px){.quote-editor-sticky-footer{left:max(0px,calc(50% - var(--layout-max-width) / 2));right:max(0px,calc(50% - var(--layout-max-width) / 2));max-width:var(--layout-max-width)}}.quote-editor-sticky-footer__totals{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;min-width:min(100%,16rem)}.quote-editor-sticky-footer__row{display:flex;justify-content:space-between;gap:1rem;color:var(--color-text-muted)}.quote-editor-sticky-footer__row--ttc{margin-top:.2rem;padding-top:.35rem;border-top:1px solid var(--color-border);font-size:.95rem;color:var(--color-text)}.quote-editor-sticky-footer__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.quote-contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f172a59;display:flex;justify-content:flex-end;align-items:stretch}.quote-contact-slide{width:min(100%,26rem);max-width:100%;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-8px 0 32px #0000001f;padding:1.1rem 1.2rem;overflow-y:auto}.quote-lines-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.25rem}.quote-lines-toolbar h4{margin:0}.quote-lines-toolbar__btns{display:flex;flex-wrap:wrap;gap:.5rem}.quote-lines-table-wrap{overflow-x:auto;margin-top:.5rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff)}.quote-lines-table{width:100%;border-collapse:collapse;font-size:.88rem}.quote-lines-table th,.quote-lines-table td{padding:.4rem .45rem;border-bottom:1px solid var(--color-border, #e2e8f0);vertical-align:middle}.quote-lines-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted, #64748b);background:var(--color-surface-2, #f8fafc)}.quote-lines-table__desc{width:100%;min-width:160px}.quote-lines-table__num{width:4.5rem;max-width:100%}.quote-lines-table__total{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.catalog-picker-list{display:flex;flex-direction:column;gap:.35rem;max-height:min(60vh,360px);overflow-y:auto}.catalog-picker-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:.55rem .65rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);cursor:pointer;transition:border-color .15s,background .15s}.catalog-picker-row:hover{border-color:#93c5fd;background:#f8fafc}.catalog-picker-row__name{font-weight:600;color:var(--color-text, #0f172a)}.catalog-picker-row__meta{font-size:.8rem;color:var(--color-muted, #64748b)}.commercial-catalog-form{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem}.commercial-catalog-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.commercial-catalog-form label:has(textarea),.commercial-catalog-form label:has(input[type=checkbox]){grid-column:1 / -1}.commercial-catalog-table{width:100%;border-collapse:collapse;font-size:.88rem}.commercial-catalog-table th,.commercial-catalog-table td{padding:.5rem .45rem;border-bottom:1px solid var(--color-border, #e2e8f0);vertical-align:top}.commercial-catalog-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted, #64748b)}.text-muted{color:var(--color-muted, #64748b)}.catalogue-tree{list-style:none;margin:0;padding:0;border:1px solid var(--color-border, #e2e8f0);border-radius:8px;background:var(--color-surface, #fff)}.catalogue-tree__famille{list-style:none;border-bottom:1px solid var(--color-border, #e2e8f0)}.catalogue-tree__famille:last-child{border-bottom:none}.catalogue-tree__famille-head{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.55rem .75rem;background:var(--color-surface-alt, #f8fafc);border:none;cursor:pointer;font:inherit;color:var(--color-text, #0f172a)}.catalogue-tree__toggle-inline{display:inline-block;width:1.1rem;color:var(--color-muted, #64748b)}.catalogue-tree__articles{list-style:none;margin:0;padding:.25rem 0 .5rem .5rem}.catalogue-tree__article{list-style:none;border-left:2px solid var(--color-border, #e2e8f0);margin:.15rem 0 .15rem .35rem;padding-left:.35rem}.catalogue-tree__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.catalogue-tree__toggle{width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;cursor:pointer;color:var(--color-muted, #64748b);line-height:1}.catalogue-tree__toggle--spacer{display:inline-block;visibility:hidden;pointer-events:none}.catalogue-tree__select-article{border:none;background:transparent;font:inherit;text-align:left;cursor:pointer;padding:.15rem 0;color:var(--color-link, #2563eb)}.catalogue-tree__select-article:hover{text-decoration:underline}a.catalogue-tree__link-article{text-decoration:none}a.catalogue-tree__link-article:hover{text-decoration:underline}.catalogue-tree__code{font-weight:600;font-size:.85rem;margin-right:.35rem}.catalogue-tree__label{font-size:.9rem}.catalogue-tree__meta{font-size:.78rem;color:var(--color-muted, #64748b)}.catalogue-tree__meta--norm{flex:1 1 100%;margin-left:1.85rem}.catalogue-tree__nested{list-style:none;margin:.25rem 0 0 1.5rem;padding:0}.catalogue-tree__fam-pkg{list-style:none;margin:.35rem 0}.catalogue-tree__fam-pkg-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted, #64748b);display:block;margin-bottom:.2rem}.catalogue-tree__leaf--package{font-size:.85rem;margin:.15rem 0;padding-left:.5rem}.selecteur-article__help{margin:0 0 .75rem;font-size:.9rem}.selecteur-article__tree{max-height:min(60vh,480px);overflow:auto;margin-bottom:.75rem}.selecteur-article__selected{padding:.65rem .75rem;border-radius:6px;background:var(--color-surface-alt, #f8fafc);border:1px solid var(--color-border, #e2e8f0);margin-bottom:.75rem}.selecteur-article__actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.dossier-badge{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:4px;background:var(--color-surface-alt, #f1f5f9);color:var(--color-text, #0f172a)}.dossier-badge--brouillon{background:#f1f5f9;color:#64748b}.dossier-badge--cours{background:#dbeafe;color:#1d4ed8}.dossier-badge--cloture{background:#dcfce7;color:#166534}.dossier-badge--archive{background:#e2e8f0;color:#475569}.list-table-toolbar__date-row{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:flex-end;width:100%;margin-bottom:.15rem}.list-table-toolbar__date-row label{display:flex;flex-direction:column;gap:.3rem;margin:0;min-width:min(100%,10.5rem)}.list-table-toolbar__date-row input[type=date]{width:100%;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);font:inherit;box-sizing:border-box}.list-table-toolbar__date-row input[type=date]:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.dossiers-grid--cards{display:none}@media (max-width: 767px){.dossiers-table-desktop{display:none!important}.dossiers-grid--cards{display:grid;grid-template-columns:1fr;gap:.75rem}}@media (max-width: 767px){.module-shell__tabs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.module-shell__tabs{flex-wrap:nowrap;width:max-content;min-width:100%}.module-shell__tab{flex-shrink:0;white-space:nowrap}.reports-hub__tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.35rem;padding-bottom:.35rem}.reports-hub__tab{flex:0 0 auto;white-space:nowrap}.module-shell__breadcrumb{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%;padding-bottom:.35rem;white-space:nowrap}}@media (max-width: 640px){.settings-layout__tabs{flex-wrap:nowrap;overflow-x:auto;gap:.4rem;padding-bottom:.3rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.settings-layout__tab{flex:0 0 auto;white-space:nowrap}}.commercial-catalog-page__toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;width:100%}.commercial-catalog-page__toolbar input[type=search]{flex:1 1 12rem;width:100%;max-width:28rem;min-width:0}@media (max-width: 560px){.commercial-catalog-form{grid-template-columns:1fr}}.article-fiche__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.code-badge{display:inline-block;font-size:.88rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;font-family:ui-monospace,Cascadia Code,monospace}.status-pill{display:inline-block;font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.status-pill--ok{background:#dcfce7;color:#14532d;border:1px solid #86efac}.status-pill--muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.fiche-article{display:flex;flex-direction:column;gap:1rem;max-width:100%}.fiche-article__summary-title,.fiche-article__h2{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;color:#0f172a}.fiche-article__h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600;color:#334155}.fiche-article__dl{margin:0}.fiche-article__amount{font-variant-numeric:tabular-nums;font-weight:600}.fiche-article__family-code{font-weight:600;color:#0f172a}.fiche-article__id-line{margin:.75rem 0 0;font-size:.8rem}.fiche-article__normes{margin-top:1rem;padding-top:.75rem;border-top:1px dashed #e2e8f0}.fiche-article__normes-text{margin:.35rem 0 0;font-size:.9rem;color:#334155;white-space:pre-wrap}.fiche-article__body{margin:0;white-space:pre-wrap;line-height:1.55;color:#334155}.fiche-article__section{margin:0}.fiche-article__forfait-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.fiche-article__forfait{border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .85rem;background:#fafbfc}.fiche-article__forfait-head{font-size:.95rem}.fiche-article__forfait-desc{margin:.35rem 0 0;font-size:.85rem;line-height:1.45}.fiche-article__pkg-list{margin:.5rem 0 0 .5rem;padding:0;list-style:disc;color:#334155;font-size:.88rem;line-height:1.45}.fiche-article__pkg-meta{display:block;margin-top:.15rem;font-size:.8rem}.fiche-article__back{margin:.5rem 0 0}.fiche-article__tables-empty{margin:0;font-size:.9rem;line-height:1.5}.article-composition{display:flex;flex-direction:column;gap:1rem;width:100%}.article-composition__reorder-hint{margin-left:.75rem;font-size:.82rem}.article-composition__unite{margin-left:.35rem;font-size:.82rem}.article-composition__col-amount{text-align:right;white-space:nowrap}.article-composition__col-qty{text-align:right;width:5.5rem}.article-composition__col-center{text-align:center;width:5rem}.article-composition__col-actions,.article-composition__col-order{white-space:nowrap}.article-composition__col-order .btn+.btn{margin-left:.2rem}.article-composition__qty-input{width:4rem;text-align:right}.article-composition__row-error{display:block;font-size:.75rem;margin-top:.2rem}.article-composition-add{margin-bottom:0;padding:.85rem 1.15rem 1rem}.article-composition-add__head{margin-bottom:.65rem}.article-composition-add__title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-muted, #64748b)}.article-composition-add__row{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(5.5rem,6.5rem) auto auto;align-items:end;gap:.65rem 1rem;width:100%}.article-composition-add__article{grid-column:1;flex:none;min-width:0;max-width:none;width:100%}.article-composition-add__picker-wrap{position:relative}.article-composition-add__qty{grid-column:2;flex:none;min-width:0;margin:0}.article-composition-add__qty-input{width:100%;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.9rem;text-align:right}.article-composition-add__qty-input:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.article-composition-add__optional{grid-column:3;display:inline-flex;align-items:center;gap:.4rem;margin:0;min-height:2.35rem;padding-bottom:.1rem;font-size:.85rem;color:#64748b;white-space:nowrap;cursor:pointer;align-self:end}.article-composition-add__optional input{margin:0}.article-composition-add__submit{grid-column:4;align-self:end;justify-self:end}.article-composition-add__error{margin:.65rem 0 0;font-size:.82rem}.article-composition-picker{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:30;margin:.25rem 0 0;padding:0;list-style:none;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 16px #0000001f;max-height:240px;overflow-y:auto}.article-composition-picker li+li{border-top:1px solid var(--color-border)}.article-composition-picker button{display:flex;gap:.5rem;align-items:baseline;width:100%;padding:.45rem .75rem;border:none;background:transparent;text-align:left;font:inherit;font-size:.85rem;cursor:pointer;color:inherit}.article-composition-picker button:hover,.article-composition-picker button:focus-visible{background:var(--color-surface)}.article-composition-picker code{flex-shrink:0;font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 720px){.article-composition-add__row{grid-template-columns:1fr 1fr}.article-composition-add__article{grid-column:1 / -1}.article-composition-add__optional{grid-column:1;justify-self:start}.article-composition-add__submit{grid-column:2;justify-self:end}}.article-actions-panel{display:flex;flex-direction:column;gap:1rem;width:100%}.article-actions-section{display:flex;flex-direction:column;gap:.85rem}.article-actions-section__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.article-actions-section__header .ds-form-section__title{margin:0;flex:1 1 auto}.article-actions-section__table{margin:0}.article-actions-type-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0;vertical-align:middle;margin-right:.15rem}.article-actions-type-dot--technicien{background:#f59e0b}.article-actions-type-dot--ingenieur{background:#3b82f6}.article-actions-type-dot--labo{background:#10b981}.article-actions-type-dot--materiel{background:#8b5cf6}.article-actions-add{margin:0;padding:.75rem 1rem .85rem}.article-actions-add--nested{background:var(--color-surface-2, #f8fafc)}.article-actions-add__head{margin-bottom:.55rem}.article-actions-add__title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-muted, #64748b)}.article-actions-form__row{display:grid;align-items:end;gap:.65rem 1rem;width:100%}.article-actions-form__row--action{grid-template-columns:minmax(10rem,1.1fr) minmax(10rem,1.3fr) minmax(4.5rem,5rem) minmax(4rem,4.5rem) auto}.article-actions-form__row--equipment{grid-template-columns:minmax(14rem,1.5fr) minmax(4.5rem,5rem) minmax(10rem,1fr) auto}.article-actions-form__row--measure{grid-template-columns:minmax(10rem,1.2fr) minmax(8rem,9rem) minmax(5rem,6rem) minmax(4rem,4.5rem) auto auto}.article-actions-form__row--measure-extra{display:grid;grid-template-columns:minmax(5rem,5.5rem) minmax(5rem,5.5rem) minmax(12rem,1fr) minmax(12rem,1.5fr);align-items:end;gap:.65rem 1rem;margin-top:.65rem;padding-top:.65rem;border-top:1px dashed var(--color-border, #e2e8f0)}.article-actions-form__input,.article-actions-form__select{width:100%;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.9rem;background:var(--color-bg, #fff)}.article-actions-form__input:focus,.article-actions-form__select:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.article-actions-form__input--number{text-align:right}.article-actions-form__optional{display:inline-flex;align-items:center;gap:.4rem;min-height:2.35rem;margin:0;font-size:.85rem;color:#64748b;white-space:nowrap;cursor:pointer;align-self:end}.article-actions-form__optional input{margin:0}.article-actions-form__actions{display:flex;flex-wrap:wrap;gap:.35rem;align-self:end;justify-self:end}.article-actions-form__error{margin:.55rem 0 0;font-size:.82rem}.article-actions-cell-muted{font-size:.82rem;color:var(--color-text-muted, #64748b)}.article-actions-cell-amount{text-align:right;white-space:nowrap}.article-actions-cell-actions{display:flex;gap:.25rem;justify-content:flex-end;white-space:nowrap}.article-actions-row--editing td{padding:.65rem .75rem;background:var(--color-surface-2, #f8fafc)}.article-actions-measure{margin-top:.25rem;padding-top:.85rem;border-top:1px solid var(--color-border, #e2e8f0)}.article-actions-measure__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem}.article-actions-measure-loading{margin:.5rem 0 0;font-size:.82rem}.article-actions-measure-name{font-size:.85rem}.article-actions-measure-unit{margin-left:.35rem;font-size:.78rem}.article-actions-measure-help{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.article-actions-form__row--action,.article-actions-form__row--equipment,.article-actions-form__row--measure{grid-template-columns:1fr 1fr}.article-actions-form__libelle,.article-actions-form__description,.article-actions-form__equipment,.article-actions-form__field-name,.article-actions-form__select-options,.article-actions-form__help{grid-column:1 / -1}.article-actions-form__actions{grid-column:1 / -1;justify-self:start}.article-actions-form__row--measure-extra{grid-template-columns:1fr 1fr}.article-actions-form__help{grid-column:1 / -1}}.article-edit{display:flex;flex-direction:column;gap:1rem;width:100%}.article-edit__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.75rem 1.25rem;margin:0}.article-edit__meta>div{min-width:0}.article-edit__meta dt{margin:0 0 .2rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.03em}.article-edit__meta dd{margin:0;font-size:.92rem}.article-edit__family-code{font-weight:600}.article-edit__form-panel{padding:1.25rem 1.5rem}.article-edit__saved{margin:0;font-size:.88rem}.article-edit__actions{position:sticky;bottom:0;z-index:2;margin-bottom:-.25rem;padding-bottom:.25rem;background:var(--color-surface, #fff)}.article-fiche-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.article-fiche-tabs__btn{padding:.5rem .8rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);color:var(--color-text, #0f172a);font-weight:600;cursor:pointer}.article-fiche-tabs__btn:hover,.article-fiche-tabs__btn--active{border-color:var(--color-primary, #c7541a);background:var(--color-accent-soft, #fff4ed)}.module-shell--article-wide .module-shell__content{padding-left:max(var(--layout-padding-x),1.25rem);padding-right:max(var(--layout-padding-x),1.25rem)}.module-shell--article-wide .module-fiche-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.catalogue-liste{display:flex;flex-direction:column;gap:.75rem}.catalogue-liste .list-table-toolbar{margin-bottom:0}.catalogue-liste__toolbar.list-table-toolbar .list-table-toolbar__row{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(13rem,1.6fr) minmax(10rem,auto);align-items:end;gap:.75rem 1rem}.catalogue-liste__toolbar--table.list-table-toolbar .list-table-toolbar__row{grid-template-columns:minmax(14rem,2fr) minmax(13rem,1.6fr) minmax(10rem,auto) auto}.catalogue-liste__toolbar .list-table-toolbar__search{grid-column:1;flex:none;min-width:0;max-width:none;width:100%}.catalogue-liste__toolbar .list-table-toolbar__extra{display:contents}.catalogue-liste__famille-field{grid-column:2;margin:0;min-width:0;width:100%;display:flex;flex-direction:column;gap:.3rem;position:relative}.catalogue-liste__famille-field:after{content:"";position:absolute;right:.65rem;bottom:.72rem;width:1rem;height:1rem;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat}.catalogue-liste__famille-field select{width:100%;min-height:2.35rem;padding:.45rem 2rem .45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background-color:var(--color-surface, #fff);font:inherit;color:inherit;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.catalogue-liste__famille-field select:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.catalogue-liste__inactif-field{grid-column:3;margin:0;min-width:0;display:flex;flex-direction:column;gap:.3rem}.catalogue-liste__inactif-control{display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:0 .15rem;font-size:.9rem;-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap}.catalogue-liste__inactif-control input{margin:0;flex-shrink:0}.catalogue-liste__toolbar .list-table-toolbar__columns{grid-column:4;align-self:end;margin-left:0;justify-self:end}@media (max-width: 900px){.catalogue-liste__toolbar.list-table-toolbar .list-table-toolbar__row,.catalogue-liste__toolbar--table.list-table-toolbar .list-table-toolbar__row{grid-template-columns:1fr 1fr}.catalogue-liste__toolbar .list-table-toolbar__search{grid-column:1 / -1}.catalogue-liste__famille-field{grid-column:1}.catalogue-liste__inactif-field{grid-column:2}.catalogue-liste__toolbar .list-table-toolbar__columns{grid-column:1 / -1;justify-self:start}}.catalogue-liste__famille-section,.catalogue-liste__active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;width:100%}.catalogue-liste__famille-chips{display:flex;flex-wrap:wrap;gap:.4rem;flex:1 1 auto;min-width:0}.catalogue-liste__chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .75rem;font-size:.78rem;font-weight:500;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.catalogue-liste__chip:hover{background:#f8fafc;border-color:#cbd5e1}.catalogue-liste__chip--active{color:#fff;background:var(--catalogue-chip-color, #111827);border-color:var(--catalogue-chip-color, #111827)}.catalogue-liste__chip--active.catalogue-liste__chip--neutral{--catalogue-chip-color: #111827}.catalogue-liste__chip-dot{width:8px;height:8px;border-radius:50%;background:var(--catalogue-chip-dot, #9ca3af);flex-shrink:0}.catalogue-liste__chip--active .catalogue-liste__chip-dot{background:#fff}.catalogue-liste__legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:#64748b;margin:0 0 .75rem;padding:.4rem .65rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.catalogue-liste__legend-item{display:inline-flex;align-items:center;gap:.25rem}.catalogue-liste__view-toggle{display:inline-flex;flex-wrap:wrap;gap:.2rem;padding:.2rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;width:fit-content}.catalogue-liste__view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:600;padding:.4rem .85rem;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.catalogue-liste__view-btn:hover{color:#334155;background:#ffffffa6}.catalogue-liste__view-btn--active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a14}.catalogue-article-new-form__section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.catalogue-article-new-form__section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.catalogue-article-new-form__section-title{margin:0 0 .75rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.catalogue-article-new-form__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.85rem 1rem}.catalogue-article-new-form__checkbox{flex-direction:row!important;align-items:center;gap:.5rem;min-height:2.35rem}.catalogue-article-new-form__checkbox-field{justify-content:flex-start}.catalogue-article-new-form__checkbox-control{display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;font-weight:400;color:#334155;cursor:pointer}.catalogue-article-new-form__checkbox-control input,.catalogue-article-new-form__checkbox input{margin:0}.catalogue-article-new-form__actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.catalogue-article-new-form__grid label{display:flex;flex-direction:column;gap:.3rem;margin:0;font-size:.85rem;font-weight:600;color:#334155}.catalogue-article-new-form__grid input,.catalogue-article-new-form__grid select,.catalogue-article-new-form__grid textarea{font-weight:400;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);font:inherit;box-sizing:border-box;width:100%}.catalogue-article-new-form__grid textarea{min-height:auto;resize:vertical}.catalogue-article-new-form__col-3{grid-column:span 3}.catalogue-article-new-form__col-4{grid-column:span 4}.catalogue-article-new-form__col-8{grid-column:span 8}.catalogue-article-new-form__col-12{grid-column:span 12}@media (max-width: 640px){.catalogue-article-new-form__col-3,.catalogue-article-new-form__col-4,.catalogue-article-new-form__col-8{grid-column:span 12}}.catalogue-prolab-liste__hint{font-size:.86rem;line-height:1.45;margin:0 0 .75rem;max-width:64ch}.catalogue-prolab-liste__ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.catalogue-prolab-card__details{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);overflow:hidden}.catalogue-prolab-card__summary{list-style:none;cursor:pointer;padding:.65rem .85rem;display:flex;flex-direction:column;gap:.35rem;background:var(--color-surface-2, #f8fafc)}.catalogue-prolab-card__summary::-webkit-details-marker{display:none}.catalogue-prolab-card__row1{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;font-size:.8rem}.catalogue-prolab-card__fam-code{font-weight:700;color:var(--color-primary, #c7541a)}.catalogue-prolab-card__row2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem}.catalogue-prolab-card__code{font-size:.8rem;color:#475569;background:#e2e8f0;padding:.1rem .4rem;border-radius:4px}.catalogue-prolab-card__title{font-size:.95rem;font-weight:600;color:#0f172a}.catalogue-prolab-card__row3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.86rem}.catalogue-prolab-card__fiche{margin-left:auto;font-weight:600;font-size:.85rem}.catalogue-prolab-card__body{padding:.75rem .9rem .9rem;border-top:1px solid var(--color-border, #e2e8f0);font-size:.88rem;line-height:1.45}.catalogue-prolab-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));gap:.5rem .75rem;margin:0 0 .75rem}.catalogue-prolab-dl dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 .1rem}.catalogue-prolab-dl dd{margin:0;font-weight:500}.catalogue-prolab-texts{display:flex;flex-direction:column;gap:.75rem}.catalogue-prolab-block__h{margin:0 0 .25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.catalogue-prolab-block__p--tech{font-family:ui-monospace,monospace;font-size:.82rem;white-space:pre-wrap}.catalogue-prolab-normes{margin:.5rem 0 0;font-size:.86rem;color:#334155}.catalogue-prolab-tag{display:inline-block;font-size:.7rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;border:1px solid transparent}.catalogue-prolab-tag--a{background:#fff4ed;color:#9a3412;border-color:#fdba74}.catalogue-prolab-tag--b{background:#f0fdfa;color:#0f766e;border-color:#5eead4}.catalogue-prolab-tag--c{background:#f8fafc;color:#334155;border-color:#cbd5e1}.catalogue-prolab-tag--d{background:#f5f3ff;color:#5b21b6;border-color:#c4b5fd}.fiche-article__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem}.fiche-article__body--tech{font-family:ui-monospace,monospace;font-size:.9rem;white-space:pre-wrap;line-height:1.5}.module-shell--materiel-hub .module-shell__content{display:flex;flex-direction:column;gap:1rem}.materiel-hub-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}.materiel-hub-choice{display:flex;flex-direction:column;gap:.85rem;min-height:11.5rem;padding:1.35rem 1.25rem 1.15rem;border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border, #e2e8f0);background:linear-gradient(160deg,#fff 0%,var(--color-surface-2, #f8fafc) 100%);box-shadow:var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .08));text-decoration:none!important;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}.materiel-hub-choice:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:.85}.materiel-hub-choice--equipements:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.materiel-hub-choice--planning:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.materiel-hub-choice--stocks:before{background:linear-gradient(90deg,#10b981,#34d399)}.materiel-hub-choice:hover{transform:translateY(-4px);box-shadow:var(--shadow-md, 0 8px 24px rgba(15, 23, 42, .12));border-color:#bfdbfe}.materiel-hub-choice__icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:12px;flex-shrink:0}.materiel-hub-choice--equipements .materiel-hub-choice__icon{background:#f5f3ff;color:#7c3aed}.materiel-hub-choice--planning .materiel-hub-choice__icon{background:#eff6ff;color:#2563eb}.materiel-hub-choice--stocks .materiel-hub-choice__icon{background:#ecfdf5;color:#059669}.materiel-hub-choice__icon svg{width:1.45rem;height:1.45rem;display:block}.materiel-hub-choice__body{display:flex;flex-direction:column;gap:.4rem;flex:1 1 auto}.materiel-hub-choice__title{font-size:1.05rem;font-weight:700;color:#0f172a;line-height:1.25}.materiel-hub-choice__desc{font-size:.88rem;line-height:1.45;color:#64748b}.materiel-hub-choice__cta{margin-top:auto;font-size:.85rem;font-weight:600;color:var(--color-primary, #c7541a)}.materiel-hub-footnote{margin:0;font-size:.88rem;line-height:1.45}.materiel-hub-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding-top:.25rem;font-size:.88rem}.materiel-equipments-toolbar{margin-bottom:1rem}.materiel-equipments-toolbar.list-table-toolbar .list-table-toolbar__row{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(11rem,1fr);align-items:end;gap:.75rem 1rem}.materiel-equipments-toolbar .list-table-toolbar__search{grid-column:1;flex:none;min-width:0;max-width:none;width:100%}.materiel-equipments-toolbar .list-table-toolbar__status{grid-column:2;flex:none;min-width:0;max-width:none;width:100%}.materiel-equipments-table__actions{white-space:nowrap;text-align:right}.materiel-equipments-table__actions .btn+.btn{margin-left:.35rem}@media (max-width: 640px){.materiel-equipments-toolbar.list-table-toolbar .list-table-toolbar__row{grid-template-columns:1fr}.materiel-equipments-toolbar .list-table-toolbar__search,.materiel-equipments-toolbar .list-table-toolbar__status{grid-column:1 / -1}}.equipment-create-form__intro{margin:0 0 1rem;font-size:.88rem;line-height:1.45}.equipment-create-form__types-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.equipment-create-form__types-head .catalogue-article-new-form__section-title{margin:0}.equipment-create-form__types-hint{margin:0 0 .75rem;font-size:.82rem;line-height:1.4}.equipment-create-form__search{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .65rem;max-width:22rem;font-size:.85rem;font-weight:600;color:#334155}.equipment-create-form__search input{font-weight:400;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);font-size:.9rem}.equipment-create-form__search input:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.equipment-create-form__types-panel{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface-2, #f8fafc);max-height:220px;overflow:hidden}.equipment-create-form__types-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.equipment-create-form__types-list li+li{border-top:1px solid var(--color-border, #e2e8f0)}.equipment-create-form__type-option{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .75rem;margin:0;font-size:.88rem;font-weight:400;color:#334155;cursor:pointer;transition:background .12s ease}.equipment-create-form__type-option:hover{background:#fff}.equipment-create-form__type-option input{margin:.15rem 0 0;flex-shrink:0}.equipment-create-form__types-empty{margin:0;padding:.85rem .75rem;font-size:.85rem}.equipment-create-form__location-field{grid-column:span 5}.equipment-create-form__purchase-date-field{grid-column:8 / span 3}.equipment-create-form__location-field,.equipment-create-form__purchase-date-field{gap:.55rem}.equipment-create-form__field-label{display:block;line-height:1.35}@media (max-width: 640px){.equipment-create-form__location-field,.equipment-create-form__purchase-date-field{grid-column:span 12}}.equipment-edit-form__saved{margin:.75rem 0 0;font-size:.9rem}.equipment-suivi{gap:1rem}.equipment-suivi__section{padding:1.25rem 1.5rem}.equipment-suivi__head{margin-bottom:1rem}.equipment-suivi__hint{margin:.35rem 0 0;font-size:.86rem;line-height:1.45}.equipment-suivi__form{margin-bottom:1rem;padding:0;box-shadow:none;border:none}.equipment-suivi__form-submit{align-self:flex-end;padding-bottom:.05rem}.equipment-suivi__table td{vertical-align:middle}.equipment-suivi__cell-input{width:100%;min-width:7rem;margin:0}.equipment-suivi__field-grow{flex:1 1 12rem;min-width:10rem}.equipment-suivi__actions{display:flex;flex-wrap:wrap;gap:.35rem;white-space:nowrap}@media (max-width: 960px){.materiel-hub-choices{grid-template-columns:1fr}}@media (min-width: 961px) and (max-width: 1180px){.materiel-hub-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.materiel-hub-choice{min-height:12.5rem}}.module-shell--equipment-fiche .module-shell__content{display:flex;flex-direction:column;gap:1rem}.equipment-fiche-tabs{margin-bottom:.25rem}.equipment-fiche__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.equipment-fiche{display:flex;flex-direction:column;gap:1rem;width:100%}.equipment-fiche__summary,.equipment-fiche__section{padding:1.25rem 1.5rem}.equipment-fiche__section-title{margin:0 0 1rem;font-size:1rem;font-weight:700}.equipment-fiche__grid{margin-bottom:.75rem}.equipment-fiche__id-line{margin:0;font-size:.82rem}.equipment-fiche__tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.equipment-fiche__empty{margin:0;font-size:.88rem}.equipment-fiche__notes-cell{max-width:16rem;font-size:.85rem;color:var(--color-text-muted, #64748b)}.equipment-calibration-add{margin:0;padding:.85rem 1rem 1rem}.equipment-calibration-add__head{margin-bottom:.65rem}.equipment-calibration-add__title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-muted, #64748b)}.equipment-calibration-add__row{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(9rem,1fr) minmax(10rem,1.2fr) minmax(11rem,1fr) auto;align-items:end;gap:.65rem 1rem}.equipment-calibration-add__submit{align-self:end;justify-self:end}.equipment-calibration-add__notes{display:flex;flex-direction:column;gap:.3rem;margin:.75rem 0 0;font-size:.85rem;font-weight:600;color:#334155}.equipment-calibration-add__notes textarea{font-weight:400;min-height:auto;padding:.45rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);font-size:.9rem;resize:vertical}.equipment-calibration-add__notes textarea:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:#93c5fd}.equipment-calibration-add__error{margin:.55rem 0 0;font-size:.82rem}@media (max-width: 900px){.equipment-calibration-add__row{grid-template-columns:1fr 1fr}.equipment-calibration-add__submit{grid-column:1 / -1;justify-self:start}}
