/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/quill/dist/quill.snow.css?ngGlobalStyle ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor > *{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li > .ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked] > .ql-ui,.ql-editor li[data-list=unchecked] > .ql-ui{color:#777}.ql-editor li[data-list=bullet] > .ql-ui:before{content:'\2022'}.ql-editor li[data-list=checked] > .ql-ui:before{content:'\2611'}.ql-editor li[data-list=unchecked] > .ql-ui:before{content:'\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered] > .ql-ui:before{content:counter(list-0, decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before{content:counter(list-1, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before{content:counter(list-2, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before{content:counter(list-3, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before{content:counter(list-4, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before{content:counter(list-5, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before{content:counter(list-6, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before{content:counter(list-7, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before{content:counter(list-8, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before{content:counter(list-9, decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl > .ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,0.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:'';display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label::before,.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label::before,.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow + .ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]::before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}

/*# sourceMappingURL=quill.snow.css.map*/
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************/
/* src/css/layers.css */
.marker-icon {
  background-color: #ffffff;
  border: 1px solid #3388ff;
  border-radius: 50%;
  margin: -8px 0 0 -8px !important;
  width: 14px !important;
  height: 14px !important;
  outline: 0;
  transition: opacity ease 0.3s;
}
.marker-icon-middle {
  opacity: 0.7;
  margin: -6px 0 0 -6px !important;
  width: 10px !important;
  height: 10px !important;
}
.leaflet-pm-draggable {
  cursor: move !important;
}
.cursor-marker {
  cursor: crosshair;
  pointer-events: none;
  opacity: 0;
}
.cursor-marker.visible {
  opacity: 1 !important;
}
.geoman-draw-cursor {
  cursor: crosshair;
}
.geoman-draw-cursor .leaflet-interactive {
  cursor: crosshair;
}
.rect-style-marker,
.rect-start-marker {
  opacity: 0;
}
.rect-style-marker.visible,
.rect-start-marker.visible {
  opacity: 1 !important;
}
.vertexmarker-disabled {
  opacity: 0.7;
}
.pm-text-marker {
  width: 0;
  height: 0;
}
.pm-textarea {
  box-sizing: content-box;
  background-color: #fff;
  color: #000;
  resize: none;
  border: none;
  outline: 0;
  cursor: pointer;
  border-radius: 3px;
  padding-left: 7px;
  padding-bottom: 0;
  padding-top: 4px;
}
.leaflet-pm-draggable .pm-textarea {
  cursor: move;
}
.pm-textarea:focus,
.pm-textarea:focus-within,
.pm-textarea:focus-visible,
.pm-textarea:active {
  border: 2px solid #000;
  outline: 0;
}
.pm-textarea.pm-disabled {
  border: none;
  -webkit-user-select: none;
          user-select: none;
}
.pm-textarea.pm-hasfocus {
  cursor: auto;
}
.leaflet-pm-touch-hint {
  position: absolute;
  top: var(--pm-touch-hint-top, 10px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  padding: 8px 16px;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  font-size: 14px;
  pointer-events: none;
}

/* src/css/controls.css */
.leaflet-pm-toolbar {
}
.leaflet-pm-toolbar .leaflet-buttons-control-button {
  padding: 5px;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}
.leaflet-pm-toolbar .leaflet-pm-actions-container a.leaflet-pm-action:first-child:not(.pos-right),
.leaflet-pm-toolbar .leaflet-pm-actions-container a.leaflet-pm-action:last-child.pos-right {
  border-radius: 0;
}
.leaflet-pm-toolbar .button-container a.leaflet-buttons-control-button {
  border-radius: 0;
}
.leaflet-pm-toolbar .button-container:last-child a.leaflet-buttons-control-button {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.leaflet-pm-toolbar .button-container:first-child a.leaflet-buttons-control-button {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.leaflet-pm-toolbar .button-container:last-child a.leaflet-buttons-control-button {
  border-bottom: none;
}
.leaflet-pm-toolbar .control-fa-icon {
  font-size: 19px;
  line-height: 24px;
}
.leaflet-pm-toolbar .control-icon {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.leaflet-pm-toolbar .leaflet-pm-icon-marker {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Marker</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d="M15.5,24.8782959 C15.2909201,24.8772219 15.1744857,24.8467817 14.6590866,24.2354163 C10.2196955,19.4118054 8,15.5014392 8,12.5043177 C8,8.35979746 11.3578644,5 15.5,5 C19.6421356,5 23,8.35979746 23,12.5043177 C23,17 18.2878217,21.9268378 16.3336601,24.2440186 C15.8224622,24.8501802 15.7090799,24.8793699 15.5,24.8782959 Z M15.5,15.5326948 C17.275201,15.5326948 18.7142857,14.1180004 18.7142857,12.3728864 C18.7142857,10.6277723 17.275201,9.21307792 15.5,9.21307792 C13.724799,9.21307792 12.2857143,10.6277723 12.2857143,12.3728864 C12.2857143,14.1180004 13.724799,15.5326948 15.5,15.5326948 Z" id="path-1"></path>%0A    </defs>%0A    <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">%0A        <g id="Atoms/Icons/Tools/Marker" transform="translate(-3.000000, -3.000000)">%0A            <mask id="mask-2" fill="white">%0A                <use xlink:href="%23path-1"></use>%0A            </mask>%0A            <use id="Mask" fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23path-1"></use>%0A        </g>%0A    </g>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-polygon {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A  <defs>%0A    <path id="polygon-a" d="M19.4206892,9.16509725 C19.1523681,8.66992914 19,8.10275831 19,7.5 C19,5.56700338 20.5670034,4 22.5,4 C24.4329966,4 26,5.56700338 26,7.5 C26,9.26323595 24.6961471,10.7219407 23,10.9645556 L23,19.0354444 C24.6961471,19.2780593 26,20.736764 26,22.5 C26,24.4329966 24.4329966,26 22.5,26 C20.736764,26 19.2780593,24.6961471 19.0354444,23 L10.9645556,23 C10.7219407,24.6961471 9.26323595,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.5670034 5.56700338,19 7.5,19 C8.10275831,19 8.66992914,19.1523681 9.16509725,19.4206892 L19.4206892,9.16509725 Z M20.8349073,10.5793063 L10.5793108,20.8349027 C10.6086731,20.8890888 10.6366469,20.9441372 10.6631844,21 L19.3368156,21 C19.6825775,20.272154 20.272154,19.6825775 21,19.3368156 L21,10.6631844 C20.9441372,10.6366469 20.8890888,10.6086731 20.8349027,10.5793108 Z M22.5,9 C23.3284271,9 24,8.32842712 24,7.5 C24,6.67157288 23.3284271,6 22.5,6 C21.6715729,6 21,6.67157288 21,7.5 C21,8.32842712 21.6715729,9 22.5,9 Z M22.5,24 C23.3284271,24 24,23.3284271 24,22.5 C24,21.6715729 23.3284271,21 22.5,21 C21.6715729,21 21,21.6715729 21,22.5 C21,23.3284271 21.6715729,24 22.5,24 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z"/>%0A  </defs>%0A  <g fill="none" fill-rule="evenodd" transform="translate(-3 -3)">%0A    <mask id="polygon-b" fill="%23fff">%0A      <use xlink:href="%23polygon-a"/>%0A    </mask>%0A    <use fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23polygon-a"/>%0A    <g fill="%235B5B5B" mask="url(%23polygon-b)">%0A      <rect width="30" height="30"/>%0A    </g>%0A  </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-polyline {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A  <defs>%0A    <path id="line-a" d="M9.16509725,19.4206892 L18.4206892,10.1650973 C18.1523681,9.66992914 18,9.10275831 18,8.5 C18,6.56700338 19.5670034,5 21.5,5 C23.4329966,5 25,6.56700338 25,8.5 C25,10.4329966 23.4329966,12 21.5,12 C20.8972417,12 20.3300709,11.8476319 19.8349027,11.5793108 L10.5793108,20.8349027 C10.8476319,21.3300709 11,21.8972417 11,22.5 C11,24.4329966 9.43299662,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.5670034 5.56700338,19 7.5,19 C8.10275831,19 8.66992914,19.1523681 9.16509725,19.4206892 Z M21.5,10 C22.3284271,10 23,9.32842712 23,8.5 C23,7.67157288 22.3284271,7 21.5,7 C20.6715729,7 20,7.67157288 20,8.5 C20,9.32842712 20.6715729,10 21.5,10 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z"/>%0A  </defs>%0A  <g fill="none" fill-rule="evenodd" transform="translate(-3 -3)">%0A    <mask id="line-b" fill="%23fff">%0A      <use xlink:href="%23line-a"/>%0A    </mask>%0A    <use fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23line-a"/>%0A    <g fill="%235B5B5B" mask="url(%23line-b)">%0A      <rect width="30" height="30"/>%0A    </g>%0A  </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-circle {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Circle</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d="M18.2897751,6.78602275 C18.8924131,6.29464981 19.661797,6 20.5,6 C22.4329966,6 24,7.56700338 24,9.5 C24,10.338203 23.7053502,11.1075869 23.2139772,11.7102249 C23.719599,12.8712053 24,14.1528571 24,15.5 C24,20.7467051 19.7467051,25 14.5,25 C9.25329488,25 5,20.7467051 5,15.5 C5,10.2532949 9.25329488,6 14.5,6 C15.8471429,6 17.1287947,6.28040098 18.2897751,6.78602275 Z M17.1504228,8.4817586 C16.3263581,8.17039236 15.4330777,8 14.5,8 C10.3578644,8 7,11.3578644 7,15.5 C7,19.6421356 10.3578644,23 14.5,23 C18.6421356,23 22,19.6421356 22,15.5 C22,14.5669223 21.8296076,13.6736419 21.5182414,12.8495772 C21.1960383,12.9473968 20.8541622,13 20.5,13 C18.5670034,13 17,11.4329966 17,9.5 C17,9.14583778 17.0526032,8.80396169 17.1504228,8.4817586 Z M14.5,17 C13.6715729,17 13,16.3284271 13,15.5 C13,14.6715729 13.6715729,14 14.5,14 C15.3284271,14 16,14.6715729 16,15.5 C16,16.3284271 15.3284271,17 14.5,17 Z M20.5,11 C21.3284271,11 22,10.3284271 22,9.5 C22,8.67157288 21.3284271,8 20.5,8 C19.6715729,8 19,8.67157288 19,9.5 C19,10.3284271 19.6715729,11 20.5,11 Z" id="path-1"></path>%0A    </defs>%0A    <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">%0A        <g id="Atoms/Icons/Tools/Circle" transform="translate(-3.000000, -3.000000)">%0A            <mask id="mask-2" fill="white">%0A                <use xlink:href="%23path-1"></use>%0A            </mask>%0A            <use id="Mask" fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23path-1"></use>%0A            <g id="Atoms/Color/Grey" mask="url(%23mask-2)" fill="%235B5B5B">%0A                <rect id="Rectangle" x="0" y="0" width="30" height="30"></rect>%0A            </g>%0A        </g>%0A    </g>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-circle-marker {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A%0A<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" stroke="%235B5B5B" stroke-width="8"%0A     fill="none">%0A<circle cx="50" cy="50" r="35"/>%0A  <circle cx="50" cy="50" r="3" fill="%235B5B5B"/>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-rectangle {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A  <defs>%0A    <path id="rectangle-a" d="M23,10.9645556 L23,19.0354444 C24.6961471,19.2780593 26,20.736764 26,22.5 C26,24.4329966 24.4329966,26 22.5,26 C20.736764,26 19.2780593,24.6961471 19.0354444,23 L10.9645556,23 C10.7219407,24.6961471 9.26323595,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.736764 5.30385293,19.2780593 7,19.0354444 L7,10.9645556 C5.30385293,10.7219407 4,9.26323595 4,7.5 C4,5.56700338 5.56700338,4 7.5,4 C9.26323595,4 10.7219407,5.30385293 10.9645556,7 L19.0354444,7 C19.2780593,5.30385293 20.736764,4 22.5,4 C24.4329966,4 26,5.56700338 26,7.5 C26,9.26323595 24.6961471,10.7219407 23,10.9645556 Z M21,10.6631844 C20.272154,10.3174225 19.6825775,9.72784598 19.3368156,9 L10.6631844,9 C10.3174225,9.72784598 9.72784598,10.3174225 9,10.6631844 L9,19.3368156 C9.72784598,19.6825775 10.3174225,20.272154 10.6631844,21 L19.3368156,21 C19.6825775,20.272154 20.272154,19.6825775 21,19.3368156 L21,10.6631844 Z M7.5,9 C8.32842712,9 9,8.32842712 9,7.5 C9,6.67157288 8.32842712,6 7.5,6 C6.67157288,6 6,6.67157288 6,7.5 C6,8.32842712 6.67157288,9 7.5,9 Z M22.5,9 C23.3284271,9 24,8.32842712 24,7.5 C24,6.67157288 23.3284271,6 22.5,6 C21.6715729,6 21,6.67157288 21,7.5 C21,8.32842712 21.6715729,9 22.5,9 Z M22.5,24 C23.3284271,24 24,23.3284271 24,22.5 C24,21.6715729 23.3284271,21 22.5,21 C21.6715729,21 21,21.6715729 21,22.5 C21,23.3284271 21.6715729,24 22.5,24 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z"/>%0A  </defs>%0A  <g fill="none" fill-rule="evenodd" transform="translate(-3 -3)">%0A    <mask id="rectangle-b" fill="%23fff">%0A      <use xlink:href="%23rectangle-a"/>%0A    </mask>%0A    <use fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23rectangle-a"/>%0A    <g fill="%235B5B5B" mask="url(%23rectangle-b)">%0A      <rect width="30" height="30"/>%0A    </g>%0A  </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-delete {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Eraser</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d="M17.7874219,18.4812552 L11.6480079,13.3498184 L6.40466009,19.3816001 L10.5539156,22.9884929 L13.86934,22.9884929 L17.7874219,18.4812552 Z M16.5074252,22.9884929 L26.0000002,22.9884929 L26.0000002,24.9884929 L10.0000002,24.9884929 L9.80708313,24.9884929 L5.09254204,20.8910192 C4.25891285,20.1663564 4.17057814,18.9031112 4.89524093,18.069482 L16.0482444,5.23941916 C16.7729072,4.40578998 18.0361525,4.31745526 18.8697816,5.04211806 L24.9074583,10.2905903 C25.7410875,11.0152531 25.8294222,12.2784983 25.1047594,13.1121275 L16.5074252,22.9884929 Z" id="path-1"></path>%0A    </defs>%0A    <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">%0A        <g id="Atoms/Icons/Tools/Eraser" transform="translate(-3.000000, -3.000000)">%0A            <mask id="mask-2" fill="white">%0A                <use xlink:href="%23path-1"></use>%0A            </mask>%0A            <use id="Combined-Shape" fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23path-1"></use>%0A        </g>%0A    </g>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-edit {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A  <defs>%0A    <path id="edit_anchor-a" d="M13.5,11 C11.5670034,11 10,9.43299662 10,7.5 C10,5.56700338 11.5670034,4 13.5,4 C15.4329966,4 17,5.56700338 17,7.5 C17,9.43299662 15.4329966,11 13.5,11 Z M13.5,9 C14.3284271,9 15,8.32842712 15,7.5 C15,6.67157288 14.3284271,6 13.5,6 C12.6715729,6 12,6.67157288 12,7.5 C12,8.32842712 12.6715729,9 13.5,9 Z M12.0002889,7.52973893 C12.0125983,8.16273672 12.4170197,8.6996643 12.9807111,8.90767966 L3,15 L3,13 L12.0002889,7.52973893 Z M14.2172722,6.18228472 L19.453125,3 L22.6589355,3 L14.989102,7.68173885 C14.9962971,7.62216459 15,7.56151472 15,7.5 C15,6.93138381 14.6836098,6.4366645 14.2172722,6.18228472 Z M23.4434042,19.2851736 L20.1282799,19.2851736 L21.8729983,23.5349525 C21.9945296,23.8295773 21.8556546,24.1599209 21.5778734,24.2849208 L20.0414675,24.9545142 C19.7550613,25.0795141 19.4338738,24.9366704 19.3123426,24.6509518 L17.6544367,20.6154541 L14.9461873,23.4010151 C14.5852811,23.7721711 14,23.4860463 14,22.9992653 L14,9.57183533 C14,9.05933561 14.6225311,8.809492 14.946156,9.17008555 L23.8340292,18.3120179 C24.1925291,18.6613615 23.9279979,19.2851736 23.4434042,19.2851736 Z"/>%0A  </defs>%0A  <g fill="none" fill-rule="evenodd" transform="translate(-3 -3)">%0A    <mask id="edit_anchor-b" fill="%23fff">%0A      <use xlink:href="%23edit_anchor-a"/>%0A    </mask>%0A    <use fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23edit_anchor-a"/>%0A    <g fill="%235B5B5B" mask="url(%23edit_anchor-b)">%0A      <rect width="30" height="30"/>%0A    </g>%0A  </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-drag {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A  <defs>%0A    <path id="move-a" d="M21,14 L21,10 L27,15 L21,20 L21,16 L16,16 L16,21 L20,21 L15,27 L10,21 L14,21 L14,16 L9,16 L9,20 L3,15 L9,10 L9,14 L14,14 L14,9 L10,9 L15,3 L20,9 L16,9 L16,14 L21,14 Z"/>%0A  </defs>%0A  <g fill="none" fill-rule="evenodd" transform="translate(-3 -3)">%0A    <mask id="move-b" fill="%23fff">%0A      <use xlink:href="%23move-a"/>%0A    </mask>%0A    <use fill="%23D8D8D8" xlink:href="%23move-a"/>%0A    <g fill="%235B5B5B" mask="url(%23move-b)">%0A      <rect width="30" height="30"/>%0A    </g>%0A  </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-cut {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Scissors</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d="M12.9691574,13.4939435 L21.0317032,5.54167013 L23.4649499,5.67722957 L17.0470713,14.5106816 L27.5660336,17.1333535 L25.7891944,18.8012588 L14.5854951,17.8987506 L13.6487955,19.188007 C13.794639,19.2650958 13.9367985,19.3534417 14.0741377,19.4532245 C15.6379648,20.5894114 15.9846357,22.7782052 14.8484488,24.3420324 C13.7122619,25.9058595 11.5234681,26.2525304 9.95964096,25.1163435 C8.39581384,23.9801565 8.04914296,21.7913627 9.18532986,20.2275356 C9.74587276,19.4560145 10.5626188,18.9807475 11.4341218,18.8336407 L12.6805656,17.1180579 L12.5239724,16.3747216 L11.9506932,15.3012391 L9.89310646,14.7882251 C9.13093796,15.2357261 8.19977854,15.3966447 7.27445355,15.1659352 C5.39887519,14.698301 4.25751094,12.7987519 4.72514515,10.9231736 C5.19277935,9.04759519 7.09232846,7.90623094 8.96790682,8.37386515 C10.8434852,8.84149935 11.9848494,10.7410485 11.5172152,12.6166268 C11.4761464,12.7813449 11.4240335,12.9404001 11.3618627,13.0931999 L12.9691574,13.4939435 Z M7.75829735,13.2253438 C8.56211664,13.4257584 9.37620912,12.9366023 9.57662378,12.132783 C9.77703844,11.3289637 9.28788233,10.5148713 8.48406303,10.3144566 C7.68024373,10.1140419 6.86615126,10.603198 6.6657366,11.4070173 C6.46532194,12.2108366 6.95447805,13.0249291 7.75829735,13.2253438 Z M10.8033639,21.4031061 C10.3164266,22.0733177 10.4649998,23.0113722 11.1352115,23.4983095 C11.8054231,23.9852467 12.7434776,23.8366735 13.2304148,23.1664619 C13.7173521,22.4962502 13.5687788,21.5581957 12.8985672,21.0712585 C12.2283556,20.5843212 11.2903011,20.7328945 10.8033639,21.4031061 Z" id="path-1"></path>%0A    </defs>%0A    <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">%0A        <g id="Atoms/Icons/Tools/Scissors" transform="translate(-3.000000, -3.000000)">%0A            <mask id="mask-2" fill="white">%0A                <use xlink:href="%23path-1"></use>%0A            </mask>%0A            <use id="Mask" fill="%235B5B5B" fill-rule="nonzero" transform="translate(16.093194, 15.663351) rotate(-32.000000) translate(-16.093194, -15.663351) " xlink:href="%23path-1"></use>%0A        </g>%0A    </g>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-snapping {
  background-image: url('data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <!-- Generator: Sketch 57.1 (83088) - https://sketch.com -->%0A    <title>Atoms/Icons/Tools/Magnet</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d="M21.9994759,10.9428183 L21.9999985,16.3710417 C22,16.6872007 22,17.0058278 22,17.3269411 C22,21.5646545 18.6421356,25 14.5,25 C10.3578644,25 7,21.5646545 7,17.3269411 L7.00087508,10.9907507 L11.0022808,10.9984125 C11.0017033,11.6980114 11.001247,12.4168248 11.0008992,13.1554887 L11,17.3269411 C11,19.3756809 12.5876841,21 14.5,21 C16.4123159,21 18,19.3756809 18,17.3269411 C18,15.0702032 17.9995696,12.9619668 17.998539,10.9910032 L21.9994759,10.9428183 Z M10,7 C10.5522847,7 11,7.44771525 11,8 L11,10 L7,10 L7,8 C7,7.44771525 7.44771525,7 8,7 L10,7 Z M21,7 C21.5522847,7 22,7.44771525 22,8 L22,10 L18,10 L18,8 C18,7.44771525 18.4477153,7 19,7 L21,7 Z" id="path-1"></path>%0A    </defs>%0A    <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">%0A        <g id="Atoms/Icons/Tools/Magnet" transform="translate(-3.000000, -3.000000)">%0A            <mask id="mask-2" fill="white">%0A                <use xlink:href="%23path-1"></use>%0A            </mask>%0A            <use id="Mask" fill="%235B5B5B" fill-rule="nonzero" transform="translate(14.500000, 16.000000) rotate(45.000000) translate(-14.500000, -16.000000) " xlink:href="%23path-1"></use>%0A        </g>%0A    </g>%0A</svg>');
}
.leaflet-pm-toolbar .leaflet-pm-icon-rotate {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">%0A    <defs>%0A        <path id="rotate" d="M21.2,5.8c-0.1-0.2-0.2-0.3-0.3-0.5l-0.1-0.2c-0.1-0.2-0.2-0.3-0.3-0.5l-0.1-0.2c-0.1-0.2-0.2-0.3-0.4-0.5l-0.2-0.3l2.8-3.1L18,0.6l-4.6,0.1l0.5,4.5l0.5,4.5l3.2-3.6v0.1l0.1,0.2c0.1,0.1,0.1,0.2,0.2,0.2l0.1,0.2C18,7,18,7.1,18.1,7.2c0.3,0.7,0.6,1.4,0.7,2.1c0.2,1.4,0,2.9-0.6,4.2L18,13.9L17.9,14l-0.3,0.5l-0.1,0.2c-0.2,0.2-0.4,0.5-0.6,0.7c-0.5,0.5-1.1,1-1.7,1.3c-0.6,0.4-1.3,0.6-2.1,0.8c-0.7,0.1-1.5,0.2-2.2,0.1c-0.8-0.1-1.5-0.3-2.2-0.5c-0.7-0.3-1.3-0.7-1.9-1.2l-0.4-0.4l-0.2-0.3L6,15c-0.1-0.1-0.2-0.2-0.2-0.3l-0.3-0.4l-0.1-0.1l-0.2-0.4c0-0.1-0.1-0.1-0.1-0.2l-0.3-0.5l-0.1-0.2c-0.1-0.3-0.2-0.6-0.3-0.9c-0.2-0.8-0.3-1.6-0.3-2.4c0-0.2,0-0.3,0-0.5V8.9c0-0.2,0-0.3,0.1-0.4l0.1-0.6l0.2-0.6c0.3-0.8,0.7-1.5,1.2-2.2c0.5-0.7,1.1-1.3,1.8-1.8c0.2-0.1,0.3-0.4,0.1-0.6C7.5,2.6,7.4,2.5,7.3,2.5H7.1L7,2.6C6.1,3,5.4,3.6,4.7,4.2C4,4.9,3.5,5.7,3,6.6c-0.9,1.8-1.2,3.8-0.8,5.8c0.1,0.5,0.2,0.9,0.3,1.4l0.3,0.8C2.9,14.7,3,14.8,3,15l0.2,0.4c0,0.1,0.1,0.2,0.1,0.2l0.3,0.5c0.1,0.2,0.2,0.3,0.3,0.5l0.1,0.2c0.1,0.1,0.2,0.3,0.3,0.4L5,17.8c0.7,0.7,1.6,1.3,2.5,1.8c0.9,0.5,1.9,0.8,3,0.9c0.5,0.1,1,0.1,1.5,0.1c0.6,0,1.1,0,1.6-0.1c1-0.2,2.1-0.5,3-1l0.2-0.1c0.2-0.1,0.3-0.2,0.5-0.3l0.7-0.4c0.2-0.1,0.3-0.2,0.4-0.3l0.2-0.2c0.2-0.1,0.4-0.3,0.5-0.5l0.1-0.1c0.3-0.3,0.7-0.7,0.9-1l0.6-0.9l0.4-0.6c1-1.9,1.4-4.1,1.1-6.2C22,7.8,21.7,6.7,21.2,5.8z"/>%0A    </defs>%0A    <g fill="none" fill-rule="evenodd" transform="translate(0 2)">%0A        <mask id="rotate-b" fill="%23fff">%0A            <use xlink:href="%23rotate"/>%0A        </mask>%0A        <use fill="%235B5B5B" fill-rule="nonzero" xlink:href="%23rotate"/>%0A        <g fill="%235B5B5B" mask="url(%23rotate-b)">%0A            <rect width="30" height="30"/>%0A        </g>%0A    </g>%0A</svg>%0A');
}
.leaflet-pm-toolbar .leaflet-pm-icon-text {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">%0A  <title>Text</title>%0A  <g id="Ebene_2" data-name="Ebene 2">%0A    <polyline points="19.64 7.27 19.64 4 12 4 12 20 15.91 20 8.09 20 12 20 12 4 4.36 4 4.36 7.27" fill="none" stroke="%235b5b5b" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5px"/>%0A  </g>%0A</svg>');
}
.leaflet-buttons-control-button:hover,
.leaflet-buttons-control-button:focus {
  cursor: pointer;
  background-color: #f4f4f4;
}
.active > .leaflet-buttons-control-button {
  box-shadow: inset 0 -1px 5px 2px rgba(81, 77, 77, 0.31);
}
.leaflet-buttons-control-text-hide {
  display: none;
}
.button-container {
  position: relative;
}
.button-container .leaflet-pm-actions-container {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
  white-space: nowrap;
  direction: ltr;
}
.leaflet-right .leaflet-pm-toolbar .button-container .leaflet-pm-actions-container {
  right: 100%;
  left: auto;
}
.button-container.active .leaflet-pm-actions-container {
  display: block;
}
.button-container .leaflet-pm-actions-container:not(.pos-right) a.leaflet-pm-action:last-child {
  border-radius: 0 3px 3px 0;
  border-right: 0;
}
.button-container .leaflet-pm-actions-container.pos-right a.leaflet-pm-action:first-child {
  border-radius: 3px 0 0 3px;
}
.button-container .leaflet-pm-actions-container.pos-right a.leaflet-pm-action:last-child {
  border-right: 0;
}
.button-container .leaflet-pm-actions-container .leaflet-pm-action {
  padding: 0 10px;
  background-color: #666;
  color: #fff;
  display: inline-block;
  width: auto;
  border-right: 1px solid #eee;
  -webkit-user-select: none;
          user-select: none;
  border-bottom: none;
  height: 29px;
  line-height: 29px;
  vertical-align: middle;
}
.leaflet-pm-toolbar .button-container:first-child.pos-right.active a.leaflet-buttons-control-button {
  border-top-left-radius: 0;
}
.leaflet-pm-toolbar .button-container:first-child.active:not(.pos-right) a.leaflet-buttons-control-button {
  border-top-right-radius: 0;
}
.button-container .leaflet-pm-actions-container .leaflet-pm-action:hover,
.button-container .leaflet-pm-actions-container .leaflet-pm-action:focus {
  cursor: pointer;
  background-color: #777;
}
.button-container .leaflet-pm-actions-container .leaflet-pm-action.active-action {
  background-color: #8e8e8e;
}
.leaflet-pm-toolbar.activeChild {
  z-index: 801;
}
.leaflet-buttons-control-button.pm-disabled {
  background-color: #f4f4f4;
}
.leaflet-buttons-control-button.pm-disabled > .control-icon {
  filter: opacity(0.6);
}
.button-container .leaflet-pm-actions-container .pm-action-button-mode.control-icon {
  filter: brightness(0) invert(1);
  width: 18px;
}
/*# sourceMappingURL=leaflet-geoman.css.map */

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/primeicons/primeicons.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url('primeicons.eot');
    src: url('primeicons.eot?#iefix') format('embedded-opentype'), url('primeicons.woff2') format('woff2'), url('primeicons.woff') format('woff'), url('primeicons.ttf') format('truetype'), url('primeicons.svg?#primeicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    animation-delay: -1ms;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* You can add global styles to this file, and also import other style files */
/* Creating layer for conflict between tailwind and primeng */
/* Charte iD.LYS : police DIN Pro + variables CSS */
/* ===========================================================================
   Charte iD.LYS — variables CSS de Planify (thème clair)
   Source : design system iD.LYS (tokens.json). Utiliser ces variables plutôt
   que des couleurs en dur dans les composants.
   =========================================================================== */
@font-face {
  font-family: "DIN Pro";
  src: url("/fonts/DINPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DIN Pro";
  src: url("/fonts/DINPro-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DIN Pro";
  src: url("/fonts/DINPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  /* Typographie */
  --id-font: "DIN Pro", "Archivo", -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  /* Surfaces */
  --id-bg: #f7f6f4; /* fond de page (crème) */
  --id-panel: #ffffff; /* cartes, panneaux, navigation */
  --id-sunken: #f9f9f8; /* survol, fonds en retrait */
  --id-line: #eceae7; /* bordures */
  --id-rule: #e9e8e5; /* filets, pistes vides */
  /* Textes */
  --id-ink: #1b1b1c; /* titres, valeurs */
  --id-text: #4a4a4f; /* texte courant */
  --id-muted: #6e6e77; /* méta, libellés */
  /* Action — rouge iD.LYS */
  --id-red: #df0f3c;
  --id-red-rgb: 223, 15, 60;
  --id-red-text: #b81031; /* survol, texte rouge sur blanc */
  --id-red-veil: #faf3f4; /* sélection, navigation active */
  /* Entités du groupe (erpSource) */
  --id-controles: #157ec2; /* nrj */
  --id-controles-text: #0a6aa0;
  --id-controles-veil: #e8f2f9;
  --id-thermique: #4b8d70; /* abm */
  --id-thermique-text: #3a6e56;
  --id-thermique-veil: #eaf3ef;
  --id-bb: #b3b712;
  --id-bb-text: #6b6d0e;
  --id-bb-veil: #f4f5dc;
  --id-fluides: #aaaf17; /* if */
  --id-fluides-text: #6d7010;
  --id-fluides-veil: #f3f4dd;
  --id-solutions: #ec7737;
  --id-passeurs: #9e7e5f;
  /* États */
  --id-ok: #4b8d70;
  --id-ok-text: #2f6a50; /* texte vert lisible sur blanc */
  --id-ok-veil: #eaf3ef;
  --id-info: #157ec2;
  --id-info-text: #0a6aa0;
  --id-info-veil: #e8f2f9;
  --id-gap: #7b4fb3; /* créneaux creux / libres */
  --id-gap-text: #5d3690;
  --id-gap-veil: #f3eefa;
  --id-warn: #ec7737;
  --id-warn-text: #b04f14;
  --id-warn-veil: #fdf2eb;
  /* Taux de charge (page Charge) — le rouge reste réservé à l'action :
     la surcharge passe en orange plein */
  --id-load-low: var(--id-sunken);
  --id-load-low-text: var(--id-muted);
  --id-load-good: var(--id-ok-veil);
  --id-load-good-text: var(--id-ok-text);
  --id-load-high: var(--id-warn-veil);
  --id-load-high-text: var(--id-warn-text);
  --id-load-over: var(--id-warn);
  --id-load-over-text: #ffffff;
  /* Formes */
  --id-r-btn: 6px;
  --id-r-item: 8px;
  --id-r-card: 12px;
  --id-shadow: 0 18px 40px rgb(27 27 28 / 8%);
  --id-shadow-pop: 0 24px 60px rgb(27 27 28 / 14%);
  /* Navigation */
  --id-nav-w: 240px;
  --id-rail-w: 72px;
  --id-header-h: 72px;
  /* ---------------------------------------------------------------------
     Alias des anciennes variables (thèmes PrimeNG < 18) encore lues par les
     composants : ils basculent ainsi sur la charte sans réécriture immédiate.
     --------------------------------------------------------------------- */
  --text-color: var(--id-text);
  --text-color-secondary: var(--id-muted);
  --primary-color: var(--id-red);
  --primary-color-rgb: var(--id-red-rgb);
  --primary-color-transparent: rgb(223 15 60 / 12%);
  --surface-ground: var(--id-bg);
  --surface-section: var(--id-panel);
  --surface-card: var(--id-panel);
  --surface-0: #ffffff;
  --surface-100: #f1f0ed;
  --surface-200: #eceae7;
  --surface-300: #dcdad5;
  --surface-400: #9a9aa0;
  --surface-border: var(--id-line);
  --surface-border-rgb: 236, 234, 231;
  --surface-hover: var(--id-sunken);
}

/* ===========================================================================
   Charte iD.LYS — petits composants partagés (classes globales `id-*`)
   Boutons, surtitre, puce à trois barres, pastilles, bouton icône.
   =========================================================================== */
/* Boutons : majuscules trackées, coins 6 px, survol -2 px */
.id-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 16px;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: var(--id-r-btn);
  background: transparent;
  color: var(--id-ink);
  font-family: var(--id-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.id-btn .pi {
  font-size: 12px;
}
.id-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.id-btn--red {
  background: var(--id-red);
  color: #fff;
}
.id-btn--red:hover:not(:disabled) {
  background: var(--id-red-text);
  transform: translateY(-2px);
}
.id-btn--line {
  border-color: var(--id-line);
}
.id-btn--line:hover:not(:disabled) {
  border-color: var(--id-red);
  color: var(--id-red-text);
}
.id-btn--ghost {
  color: var(--id-red-text);
}
.id-btn--ghost:hover:not(:disabled) {
  background: var(--id-red-veil);
}
.id-btn--sm {
  height: 32px;
  padding: 0 12px;
  font-size: 11px;
}
.id-btn--lg {
  height: 44px;
  padding: 0 18px;
  font-size: 13px;
}
.id-btn--block {
  width: 100%;
}

/* Bouton icône discret */
.id-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: var(--id-r-btn);
  background: transparent;
  color: var(--id-muted);
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.id-icon-btn:hover {
  background: var(--id-sunken);
  color: var(--id-ink);
}
.id-icon-btn .pi {
  font-size: 13px;
}

/* Surtitre : majuscules trackées, termes séparés par « · » */
.id-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--id-muted);
}
.id-eyebrow--red {
  color: var(--id-red-text);
}

/* Puce de marque : les trois barres du monogramme */
.id-tick {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
}
.id-tick i {
  display: block;
  width: 3px;
  border-radius: 2px;
  background: var(--id-red);
}
.id-tick i:nth-child(1) {
  height: 6px;
}
.id-tick i:nth-child(2) {
  height: 11px;
}
.id-tick i:nth-child(3) {
  height: 8px;
}

/* Pastilles d'état et étiquettes */
.id-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 2px 7px;
  box-sizing: border-box;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  white-space: nowrap;
  color: var(--id-muted);
  background: var(--id-sunken);
  box-shadow: inset 0 0 0 1px var(--id-line);
}
.id-pill .pi {
  font-size: 10px;
}
.id-pill--label {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.id-pill--ok {
  color: var(--id-thermique-text);
  background: var(--id-thermique-veil);
  box-shadow: none;
}
.id-pill--red {
  color: var(--id-red-text);
  background: var(--id-red-veil);
  box-shadow: none;
}
.id-pill--warn {
  color: var(--id-warn-text);
  background: var(--id-warn-veil);
  box-shadow: none;
}
.id-pill--ink {
  color: #fff;
  background: var(--id-ink);
  box-shadow: none;
}
.id-pill--controles {
  color: var(--id-controles-text);
  background: var(--id-controles-veil);
  box-shadow: none;
}
.id-pill--thermique {
  color: var(--id-thermique-text);
  background: var(--id-thermique-veil);
  box-shadow: none;
}

/* Bouton filaire « enclenché » (ex. filtres ouverts) */
.id-btn--line.is-active {
  border-color: var(--id-ink);
  background: var(--id-ink);
  color: #fff;
}
.id-btn--line.is-active:hover:not(:disabled) {
  border-color: var(--id-ink);
  color: #fff;
}

.id-icon-btn--lg {
  width: 44px;
  height: 44px;
  border: 1px solid var(--id-line);
}
.id-icon-btn--lg .pi {
  font-size: 14px;
}

/* Texte réservé aux lecteurs d'écran */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===========================================================================
   Charte iD.LYS — gabarit des pages (en-tête) et des pages liste
   (sélecteur de société, barre de filtres, pastilles, tableau).
   =========================================================================== */
/* Page pleine hauteur : en-tête puis contenu */
.id-page {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
}

/* En-tête de page : surtitre + titre à gauche, actions à droite */
.id-page-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.id-page-header__titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.id-page-header__titles h1 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0.015em;
  color: var(--id-ink);
}
.id-page-header__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Sélecteur segmenté (société, vue) */
.id-segmented {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--id-r-item);
  background: var(--id-panel);
  border: 1px solid var(--id-line);
}
.id-segmented__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--id-r-btn);
  background: transparent;
  color: var(--id-muted);
  font-family: var(--id-font);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.id-segmented__item b {
  font-weight: 700;
  color: inherit;
}
.id-segmented__item:hover {
  color: var(--id-ink);
}
.id-segmented__item.is-active {
  background: var(--id-ink);
  color: #fff;
}

/* Variante compacte (barres d'outils) */
.id-segmented--sm {
  padding: 2px;
}
.id-segmented--sm .id-segmented__item {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
}

/* Pastille de couleur d'une société */
.id-entity-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--id-muted);
}
.id-entity-dot[data-erp=abm] {
  background: var(--id-thermique);
}
.id-entity-dot[data-erp=nrj] {
  background: var(--id-controles);
}
.id-entity-dot[data-erp=bb] {
  background: var(--id-bb);
}
.id-entity-dot[data-erp=if] {
  background: var(--id-fluides);
}

/* Barre de filtres avancés (dépliable) */
.id-filters-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: var(--id-r-card);
  background: var(--id-panel);
  border: 1px solid var(--id-line);
}
.id-filters-bar .p-select {
  min-width: 200px;
}

/* Pastilles de filtre (capsules) */
.id-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.id-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--id-line);
  border-radius: 999px;
  background: var(--id-panel);
  color: var(--id-text);
  font-family: var(--id-font);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.id-chip b {
  font-weight: 700;
  color: var(--id-ink);
}
.id-chip:hover {
  border-color: var(--id-muted);
}
.id-chip.is-active {
  background: var(--id-ink);
  border-color: var(--id-ink);
  color: #fff;
}
.id-chip.is-active b {
  color: #fff;
}

/* Carte qui porte un tableau : remplit la hauteur, le tableau défile */
.id-table-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--id-r-card);
  background: var(--id-panel);
  border: 1px solid var(--id-line);
}
.id-table-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--id-line);
}
.id-table-card__count {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--id-muted);
  white-space: nowrap;
}
.id-table-card > p-table,
.id-table-card > .p-datatable {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* Tableau PrimeNG aux couleurs de la charte (styleClass="id-table") */
.p-datatable.id-table {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  font-size: 14px;
}
.p-datatable.id-table .p-datatable-table-container {
  flex: 1 1 auto;
  min-height: 0;
}
.p-datatable.id-table .p-datatable-thead > tr > th {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 12px 16px;
  border-color: var(--id-line);
}
.p-datatable.id-table .p-datatable-thead > tr.id-table__filters > th {
  padding: 8px 16px 10px;
  background: var(--id-panel);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.p-datatable.id-table .p-datatable-thead > tr.id-table__filters > th .p-inputtext,
.p-datatable.id-table .p-datatable-thead > tr.id-table__filters > th .p-select {
  width: 100%;
  height: 34px;
  font-size: 13px;
}
.p-datatable.id-table .p-datatable-thead > tr.id-table__filters > th .p-inputtext {
  padding: 0 10px;
}
.p-datatable.id-table .p-datatable-thead > tr.id-table__filters > th .p-select-label {
  padding-block: 6px;
  font-size: 13px;
}
.p-datatable.id-table .p-datatable-tbody > tr > td {
  padding: 12px 16px;
  border-color: var(--id-line);
  color: var(--id-text);
  vertical-align: middle;
}
.p-datatable.id-table .p-datatable-tbody > tr {
  cursor: pointer;
}
.p-datatable.id-table .p-datatable-paginator-bottom {
  border-top: 1px solid var(--id-line);
  border-bottom: 0;
}
.p-datatable.id-table .p-paginator {
  background: transparent;
  padding: 8px 12px;
}

/* Cellules de liste : valeur principale + méta en dessous */
.id-ref {
  font-size: 13px;
  font-weight: 500;
  color: var(--id-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.id-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.id-cell__main {
  font-weight: 700;
  color: var(--id-ink);
}
.id-cell__sub {
  font-size: 12px;
  color: var(--id-muted);
}

/* Statut libre (couleur fournie par l'ERP) : pastille + libellé encre */
.id-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--id-ink);
  white-space: nowrap;
}
.id-status__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--id-muted);
  flex-shrink: 0;
}

/* Actions de ligne : boutons icônes alignés à droite */
.id-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

/* État vide d'un tableau */
.id-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 48px 16px;
  text-align: center;
  color: var(--id-muted);
}
.id-empty .pi {
  font-size: 24px;
  color: var(--id-red);
}
.id-empty b {
  font-size: 16px;
  color: var(--id-ink);
}
.id-empty p {
  margin: 0;
  font-size: 13px;
}

/* Titre de carte (écrans d'administration) : surtitre + titre 20 */
.id-card-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.id-card-title h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--id-ink);
}

/* Carte principale d'une page à en-tête : remplit la hauteur restante */
.p-card.id-page-card {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

/* Chargement d'un tableau : voile clair plutôt que gris foncé */
.p-datatable .p-datatable-mask {
  background: rgba(255, 255, 255, 0.65);
}

/* ===========================================================================
   Charte iD.LYS — FullCalendar (calendrier, sélecteurs de créneaux, tournées)
   =========================================================================== */
:root {
  --fc-border-color: var(--id-line);
  --fc-page-bg-color: var(--id-panel);
  --fc-neutral-bg-color: var(--id-sunken);
  --fc-today-bg-color: var(--id-red-veil);
  --fc-now-indicator-color: var(--id-red);
  --fc-highlight-color: rgb(223 15 60 / 10%);
  --fc-non-business-color: rgb(233 232 229 / 45%);
  --fc-button-text-color: var(--id-ink);
  --fc-button-bg-color: var(--id-panel);
  --fc-button-border-color: var(--id-line);
  --fc-button-hover-bg-color: var(--id-sunken);
  --fc-button-hover-border-color: var(--id-muted);
  --fc-button-active-bg-color: var(--id-ink);
  --fc-button-active-border-color: var(--id-ink);
  --fc-event-text-color: #fff;
  --fc-list-event-hover-bg-color: var(--id-sunken);
}

.fc {
  font-family: var(--id-font);
}
.fc .fc-button {
  font-family: var(--id-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: var(--id-r-btn);
  box-shadow: none !important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  color: #fff;
}
.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number {
  color: var(--id-ink);
  text-decoration: none;
}
.fc .fc-timegrid-slot-label-cushion,
.fc .fc-timegrid-axis-cushion {
  color: var(--id-muted);
}

/* ---------------------------------------------------------------------------
   Calendrier de planning (calendrier principal, étape « Créneau »)
   À poser sur le conteneur de <full-calendar> : class="id-calendar".
   Rendu des RDV : core/tools/calendar-event-render.ts
   --------------------------------------------------------------------------- */
.id-calendar {
  /* Créneaux plus compacts sur les petits écrans */
  /* Optimiser l'affichage en mode mois */
}
.id-calendar .fc {
  height: 100%;
  width: 100%;
}
.id-calendar .fc-theme-standard {
  /* Styles personnalisés pour le contenu des événements */
  /* Fond clair : pas d'ombre portée blanche sur le texte encre */
  /* Réduire la hauteur de l'en-tête des jours */
  /* Mise en évidence du jour actuel dans l'en-tête */
  /* Mise en évidence du jour du week-end */
  /* Améliorer la lisibilité des axes temporels */
  /* Grille de fond plus visible */
  /* Amélioration des colonnes de jours */
  /* Colonnes de weekend légèrement différentes */
}
.id-calendar .fc-theme-standard td,
.id-calendar .fc-theme-standard th {
  border-color: var(--id-line);
}
.id-calendar .fc-theme-standard .fc-timegrid-slot {
  height: 50px !important; /* Hauteur augmentée pour une meilleure lisibilité */
}
.id-calendar .fc-theme-standard .fc-timegrid-slot.fc-timegrid-slot-minor {
  border-top-style: dotted;
  border-top-color: var(--id-line);
}
.id-calendar .fc-theme-standard .fc-timegrid-now-indicator-line {
  border-color: var(--id-red);
  border-width: 2px;
}
.id-calendar .fc-theme-standard .fc-timegrid-now-indicator-arrow {
  border-color: var(--id-red);
  border-width: 5px;
}
.id-calendar .fc-theme-standard .fc-event {
  border-radius: 4px;
  border: none;
  padding: 3px 5px;
  font-size: 0.75rem;
  transition: transform 0.1s ease;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(27, 27, 28, 0.12) !important;
  /* Styles pour les événements courts */
  /* Événement récurrent : icône après l'heure (pi-refresh) */
}
.id-calendar .fc-theme-standard .fc-event:hover {
  transform: scale(1.02);
}
.id-calendar .fc-theme-standard .fc-event.fc-event-short .fc-event-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.id-calendar .fc-theme-standard .fc-event .fc-event-title {
  font-weight: 500 !important;
  text-shadow: 0 1px 1px rgba(27, 27, 28, 0.14) !important;
}
.id-calendar .fc-theme-standard .fc-event .fc-event-time {
  font-weight: 400 !important;
  opacity: 0.9 !important;
}
.id-calendar .fc-theme-standard .fc-event.fc-event-recurrent .fc-event-time-custom::after {
  content: "\e938";
  font-family: "primeicons";
  margin-left: 4px;
  font-size: 0.85em;
  opacity: 0.85;
}
.id-calendar .fc-theme-standard .fc-event-main-custom {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 2px;
  height: 100%;
  overflow: hidden;
}
.id-calendar .fc-theme-standard .fc-event-time-custom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  flex-shrink: 0;
  min-width: 0;
  font-size: 0.7rem;
  font-weight: 600;
  opacity: 0.95;
  white-space: nowrap;
}
.id-calendar .fc-theme-standard .fc-event-time-custom .fc-event-time-text {
  overflow: hidden;
  text-overflow: ellipsis;
}
.id-calendar .fc-theme-standard .fc-event-title-custom {
  flex-shrink: 0;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 1px 2px rgba(27, 27, 28, 0.14);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.id-calendar .fc-theme-standard .fc-event-techs {
  display: inline-flex;
  flex-shrink: 0;
  gap: 2px;
}
.id-calendar .fc-theme-standard .fc-event-tech {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 16px;
  padding: 0 4px;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-shadow: none;
}
.id-calendar .fc-theme-standard .fc-event-tech--more {
  background: rgba(27, 27, 28, 0.55);
}
.id-calendar .fc-theme-standard .fc-event-main-custom {
  container-type: inline-size;
}
@container (max-width: 90px) {
  .id-calendar .fc-theme-standard .fc-event-techs {
    display: none;
  }
}
.id-calendar .fc-theme-standard .fc-event-main-custom.is-short .fc-event-title-custom {
  display: block;
  white-space: nowrap;
  -webkit-line-clamp: 1;
}
.id-calendar .fc-theme-standard .fc-event-main-custom.is-short .fc-event-locality-custom {
  display: none;
}
.id-calendar .fc-theme-standard .fc-event--light .fc-event-time-custom,
.id-calendar .fc-theme-standard .fc-event--light .fc-event-title-custom,
.id-calendar .fc-theme-standard .fc-event--light .fc-event-locality-custom {
  text-shadow: none;
}
.id-calendar .fc-theme-standard .fc-event-locality-custom {
  font-size: 0.75rem;
  font-weight: 600;
  opacity: 0.9;
  font-style: italic;
  text-shadow: 0 1px 2px rgba(27, 27, 28, 0.14);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.id-calendar .fc-theme-standard .fc-col-header-cell {
  padding: 4px 0 !important;
  background-color: var(--id-panel) !important; /* Fond plus foncé et plus opaque */
  border-bottom: 2px solid var(--id-line) !important; /* Bordure plus visible */
}
.id-calendar .fc-theme-standard .fc-col-header-cell .fc-col-header-cell-cushion {
  font-weight: 600;
  padding: 4px !important;
  color: var(--id-muted) !important; /* Texte plus blanc et plus visible */
  font-size: 0.9rem; /* Légèrement plus grand */
}
.id-calendar .fc-theme-standard .fc-day-today .fc-col-header-cell-cushion {
  color: var(--id-controles-text) !important; /* Bleu clair pour le jour actuel */
}
.id-calendar .fc-theme-standard .fc-day-sat .fc-col-header-cell-cushion,
.id-calendar .fc-theme-standard .fc-day-sun .fc-col-header-cell-cushion {
  color: var(--id-warn-text) !important; /* Teinte orangée pour les week-ends */
}
.id-calendar .fc-theme-standard .fc-timegrid-axis {
  padding: 0 8px;
  background-color: var(--id-sunken) !important;
}
.id-calendar .fc-theme-standard .fc-timegrid-axis-cushion {
  font-size: 0.8rem;
  color: var(--id-muted) !important;
}
.id-calendar .fc-theme-standard .fc-timegrid-slot {
  border-color: var(--id-line) !important;
}
.id-calendar .fc-theme-standard .fc-timegrid-col.fc-day-today {
  background-color: var(--id-red-veil) !important; /* jour courant : voile rouge */
}
.id-calendar .fc-theme-standard .fc-timegrid-col.fc-day-sat,
.id-calendar .fc-theme-standard .fc-timegrid-col.fc-day-sun {
  background-color: var(--id-sunken) !important; /* Fond légèrement différent pour les weekends */
}
@media (max-height: 768px) {
  .id-calendar .fc-theme-standard .fc-timegrid-slot {
    height: 40px !important;
  }
}
.id-calendar .fc-dayGridMonth-view .fc-daygrid-day {
  height: 85px !important;
}

/* Barre au-dessus du calendrier : liens d'itinéraire par jour */
.id-calendar-header .route-day-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 34px;
  padding: 3px 6px;
  border: 1px solid var(--id-line);
  border-radius: var(--id-r-btn);
  background: var(--id-panel);
  color: var(--id-ink);
  font-family: var(--id-font);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.id-calendar-header .route-day-link:hover:not(:disabled) {
  border-color: var(--id-red);
  transform: translateY(-2px);
}
.id-calendar-header .route-day-link.is-today {
  border-color: var(--id-red);
  background: var(--id-red-veil);
  color: var(--id-red-text);
}
.id-calendar-header .route-day-link.is-empty, .id-calendar-header .route-day-link:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.id-calendar-header .route-day-link .route-day-date {
  font-size: 10px;
  font-weight: 400;
  color: var(--id-muted);
}
.id-calendar-header .route-day-link .route-day-count {
  margin-top: 1px;
  min-width: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--id-ink);
  color: #fff;
  font-size: 9px;
  line-height: 14px;
  text-align: center;
}

/* ===========================================================================
   Assistants en étapes (programmation, replanification) :
   en-tête (entité + étapes), récapitulatif des choix, barre de navigation.
   =========================================================================== */
/* ---------- En-tête : affaire + étapes ---------- */
.wiz-head {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1100px) {
  .wiz-head {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
}

.wiz-affair {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 0 1 auto;
  padding-right: 24px;
  border-right: 1px solid var(--id-line);
}
@media (max-width: 1100px) {
  .wiz-affair {
    border-right: 0;
    padding-right: 0;
  }
}
.wiz-affair__title {
  margin: 2px 0 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--id-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wiz-affair__ref {
  color: var(--id-red);
  font-variant-numeric: tabular-nums;
}
.wiz-affair__sep {
  color: var(--id-muted);
  margin: 0 4px;
  font-weight: 400;
}
.wiz-affair__loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--id-muted);
}
.wiz-affair__loc i {
  font-size: 12px;
}

.wiz-steps {
  flex: 1;
  min-width: 0;
}

/* Stepper compact, aux couleurs de la charte */
.wiz-steps .modern-steps .p-steps-list {
  margin: 0;
}
.wiz-steps .modern-steps .p-steps-item .p-steps-item-link {
  gap: 8px;
}
.wiz-steps .modern-steps .p-steps-item .p-steps-item-number {
  width: 26px;
  height: 26px;
  min-width: 26px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 50%;
  background: var(--id-panel);
  border: 1px solid var(--id-line);
  color: var(--id-muted);
  box-shadow: none;
}
.wiz-steps .modern-steps .p-steps-item .p-steps-item-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--id-muted);
  white-space: nowrap;
}
.wiz-steps .modern-steps .p-steps-item.p-steps-item-active .p-steps-item-number {
  background: var(--id-red);
  border-color: var(--id-red);
  color: #fff;
}
.wiz-steps .modern-steps .p-steps-item.p-steps-item-active .p-steps-item-label {
  color: var(--id-ink);
  font-weight: 700;
}

/* ---------- Récapitulatif ---------- */
.wiz-recap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 0;
  padding: 14px 0;
  border-top: 1px solid var(--id-line);
  border-bottom: 1px solid var(--id-line);
}
@media (max-width: 900px) {
  .wiz-recap {
    grid-template-columns: 1fr;
  }
}
.wiz-recap__item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 12px;
  font: inherit;
  font-size: 13px;
  text-align: left;
  color: var(--id-text);
  background: var(--id-bg);
  border: 1px solid transparent;
  border-radius: var(--id-r-item);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.wiz-recap__item > i {
  font-size: 13px;
  color: var(--id-muted);
}
.wiz-recap__item:not(:disabled):hover {
  background: var(--id-panel);
  border-color: var(--id-line);
}
.wiz-recap__item:not(:disabled):hover .wiz-recap__value {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wiz-recap__item:disabled {
  cursor: default;
}
.wiz-recap__item.is-set > i {
  color: var(--id-ok);
}
.wiz-recap__item.is-current {
  background: var(--id-red-veil);
  border-color: rgba(223, 15, 60, 0.25);
}
.wiz-recap__item.is-current > i {
  color: var(--id-red);
}
.wiz-recap__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--id-muted);
  flex-shrink: 0;
}
.wiz-recap__value {
  font-weight: 700;
  color: var(--id-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.wiz-recap__meta {
  flex-shrink: 0;
  margin-left: auto;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--id-text);
  background: var(--id-panel);
  border: 1px solid var(--id-line);
  border-radius: 999px;
}
.wiz-recap__empty {
  color: var(--id-muted);
  font-style: italic;
}
.wiz-recap__techs {
  display: inline-flex;
  flex-shrink: 0;
}
.wiz-recap__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--id-bg);
  box-sizing: content-box;
}
.wiz-recap__dot + .wiz-recap__dot {
  margin-left: -4px;
}

/* ---------- Barre de navigation (dans le flux, sous la carte) ---------- */
.wiz-nav {
  position: relative;
  flex-shrink: 0;
  margin-top: 12px;
  z-index: 1;
  padding: 12px 0;
  background-color: var(--id-panel);
  border: 1px solid var(--id-line);
  border-radius: var(--id-r-card);
}
.wiz-nav__inner {
  width: 100%;
  padding: 0 1rem;
}
.wiz-nav__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wiz-nav__next {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.wiz-nav__blocked {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 13px;
  color: var(--id-warn-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wiz-nav__progress {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--id-muted);
  font-variant-numeric: tabular-nums;
}

html,
body {
  font-family: var(--id-font);
  background: var(--id-bg);
  color: var(--id-text);
  -webkit-font-smoothing: antialiased;
}

:focus-visible {
  outline: 2px solid var(--id-red);
  outline-offset: 3px;
}

/* Leaflet pool marker – anneau pulsant pour le marqueur sélectionné */
@keyframes pool-marker-pulse-anim {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.7;
  }
  70% {
    transform: translate(-50%, -50%) scale(2.4);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.4);
    opacity: 0;
  }
}
.pool-marker-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--pulse-color, #df0f3c);
  opacity: 0.7;
  transform: translate(-50%, -50%);
  animation: pool-marker-pulse-anim 1.6s ease-out infinite;
  pointer-events: none;
}

/* Leaflet flash-ring – animation one-shot lors du panTo sur un point */
@keyframes map-flash-ring-anim {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(4.5);
    opacity: 0;
  }
}
.map-flash-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #df0f3c;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  animation: map-flash-ring-anim 1.2s ease-out forwards;
  pointer-events: none;
}

.map-flash-ring:nth-child(2) {
  animation-delay: 0.35s;
}

.map-flash-ring:nth-child(3) {
  animation-delay: 0.7s;
}

@layer tailwind-base, primeng, tailwind-utilities;
@layer tailwind-base {
  /* ! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com *//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: var(--id-font); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
  display: none;
}
  *, ::before, ::after{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
  }
  ::backdrop{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
  }
}
@layer tailwind-utilities {
  .\!container{
    width: 100% !important;
  }
  .container{
    width: 100%;
  }
  @media (min-width: 640px){
    .\!container{
      max-width: 640px !important;
    }
    .container{
      max-width: 640px;
    }
  }
  @media (min-width: 768px){
    .\!container{
      max-width: 768px !important;
    }
    .container{
      max-width: 768px;
    }
  }
  @media (min-width: 1024px){
    .\!container{
      max-width: 1024px !important;
    }
    .container{
      max-width: 1024px;
    }
  }
  @media (min-width: 1280px){
    .\!container{
      max-width: 1280px !important;
    }
    .container{
      max-width: 1280px;
    }
  }
  @media (min-width: 1536px){
    .\!container{
      max-width: 1536px !important;
    }
    .container{
      max-width: 1536px;
    }
  }
  .sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .\!visible{
    visibility: visible !important;
  }
  .visible{
    visibility: visible;
  }
  .invisible{
    visibility: hidden;
  }
  .static{
    position: static;
  }
  .fixed{
    position: fixed;
  }
  .absolute{
    position: absolute;
  }
  .relative{
    position: relative;
  }
  .sticky{
    position: sticky;
  }
  .inset-0{
    inset: 0px;
  }
  .-bottom-1{
    bottom: -0.25rem;
  }
  .-right-1{
    right: -0.25rem;
  }
  .z-10{
    z-index: 10;
  }
  .z-50{
    z-index: 50;
  }
  .m-0{
    margin: 0px;
  }
  .m-auto{
    margin: auto;
  }
  .mx-0\.5{
    margin-left: 0.125rem;
    margin-right: 0.125rem;
  }
  .mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
  .my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .mb-0{
    margin-bottom: 0px;
  }
  .mb-0\.5{
    margin-bottom: 0.125rem;
  }
  .mb-1{
    margin-bottom: 0.25rem;
  }
  .mb-1\.5{
    margin-bottom: 0.375rem;
  }
  .mb-2{
    margin-bottom: 0.5rem;
  }
  .mb-3{
    margin-bottom: 0.75rem;
  }
  .mb-4{
    margin-bottom: 1rem;
  }
  .ml-1{
    margin-left: 0.25rem;
  }
  .ml-2{
    margin-left: 0.5rem;
  }
  .ml-3{
    margin-left: 0.75rem;
  }
  .ml-auto{
    margin-left: auto;
  }
  .mr-1{
    margin-right: 0.25rem;
  }
  .mr-2{
    margin-right: 0.5rem;
  }
  .mr-4{
    margin-right: 1rem;
  }
  .mt-0{
    margin-top: 0px;
  }
  .mt-0\.5{
    margin-top: 0.125rem;
  }
  .mt-1{
    margin-top: 0.25rem;
  }
  .mt-2{
    margin-top: 0.5rem;
  }
  .mt-3{
    margin-top: 0.75rem;
  }
  .mt-4{
    margin-top: 1rem;
  }
  .\!block{
    display: block !important;
  }
  .block{
    display: block;
  }
  .inline-block{
    display: inline-block;
  }
  .inline{
    display: inline;
  }
  .flex{
    display: flex;
  }
  .inline-flex{
    display: inline-flex;
  }
  .\!table{
    display: table !important;
  }
  .table{
    display: table;
  }
  .grid{
    display: grid;
  }
  .hidden{
    display: none;
  }
  .h-5{
    height: 1.25rem;
  }
  .h-6{
    height: 1.5rem;
  }
  .h-full{
    height: 100%;
  }
  .max-h-0{
    max-height: 0px;
  }
  .max-h-24{
    max-height: 6rem;
  }
  .max-h-32{
    max-height: 8rem;
  }
  .min-h-0{
    min-height: 0px;
  }
  .w-5{
    width: 1.25rem;
  }
  .w-6{
    width: 1.5rem;
  }
  .w-\[320px\]{
    width: 320px;
  }
  .w-full{
    width: 100%;
  }
  .min-w-0{
    min-width: 0px;
  }
  .min-w-\[160px\]{
    min-width: 160px;
  }
  .min-w-\[320px\]{
    min-width: 320px;
  }
  .flex-1{
    flex: 1 1 0%;
  }
  .flex-shrink-0{
    flex-shrink: 0;
  }
  .shrink-0{
    flex-shrink: 0;
  }
  .flex-grow{
    flex-grow: 1;
  }
  .border-collapse{
    border-collapse: collapse;
  }
  .transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  @keyframes spin{
    to{
      transform: rotate(360deg);
    }
  }
  .animate-spin{
    animation: spin 1s linear infinite;
  }
  .cursor-pointer{
    cursor: pointer;
  }
  .select-text{
    -webkit-user-select: text;
            user-select: text;
  }
  .resize{
    resize: both;
  }
  .grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .flex-row{
    flex-direction: row;
  }
  .flex-col{
    flex-direction: column;
  }
  .flex-wrap{
    flex-wrap: wrap;
  }
  .items-start{
    align-items: flex-start;
  }
  .items-center{
    align-items: center;
  }
  .justify-start{
    justify-content: flex-start;
  }
  .justify-end{
    justify-content: flex-end;
  }
  .justify-center{
    justify-content: center;
  }
  .justify-between{
    justify-content: space-between;
  }
  .gap-0\.5{
    gap: 0.125rem;
  }
  .gap-1{
    gap: 0.25rem;
  }
  .gap-1\.5{
    gap: 0.375rem;
  }
  .gap-2{
    gap: 0.5rem;
  }
  .gap-3{
    gap: 0.75rem;
  }
  .gap-4{
    gap: 1rem;
  }
  .gap-x-1{
    column-gap: 0.25rem;
  }
  .space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }
  .space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }
  .overflow-auto{
    overflow: auto;
  }
  .overflow-hidden{
    overflow: hidden;
  }
  .overflow-x-auto{
    overflow-x: auto;
  }
  .overflow-y-auto{
    overflow-y: auto;
  }
  .truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .whitespace-pre-line{
    white-space: pre-line;
  }
  .text-nowrap{
    text-wrap: nowrap;
  }
  .rounded{
    border-radius: 0.25rem;
  }
  .rounded-full{
    border-radius: 9999px;
  }
  .rounded-lg{
    border-radius: 0.5rem;
  }
  .rounded-md{
    border-radius: 0.375rem;
  }
  .rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }
  .border{
    border-width: 1px;
  }
  .border-2{
    border-width: 2px;
  }
  .border-b{
    border-bottom-width: 1px;
  }
  .border-l{
    border-left-width: 1px;
  }
  .border-t{
    border-top-width: 1px;
  }
  .border-dashed{
    border-style: dashed;
  }
  .border-abm{
    --tw-border-opacity: 1;
    border-color: rgb(75 141 112 / var(--tw-border-opacity));
  }
  .border-bb{
    --tw-border-opacity: 1;
    border-color: rgb(179 183 18 / var(--tw-border-opacity));
  }
  .border-blue-200{
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity));
  }
  .border-id-line{
    border-color: var(--id-line);
  }
  .border-id-ok{
    border-color: var(--id-ok);
  }
  .border-id-red{
    border-color: var(--id-red);
  }
  .border-id-warn{
    border-color: var(--id-warn);
  }
  .border-nrj{
    --tw-border-opacity: 1;
    border-color: rgb(21 126 194 / var(--tw-border-opacity));
  }
  .border-orange-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 215 170 / var(--tw-border-opacity));
  }
  .border-red-300{
    --tw-border-opacity: 1;
    border-color: rgb(252 165 165 / var(--tw-border-opacity));
  }
  .bg-blue-100{
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity));
  }
  .bg-blue-50{
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity));
  }
  .bg-id-gap{
    background-color: var(--id-gap);
  }
  .bg-id-info{
    background-color: var(--id-info);
  }
  .bg-id-ok{
    background-color: var(--id-ok);
  }
  .bg-id-ok-veil{
    background-color: var(--id-ok-veil);
  }
  .bg-id-panel{
    background-color: var(--id-panel);
  }
  .bg-id-red{
    background-color: var(--id-red);
  }
  .bg-id-red-veil{
    background-color: var(--id-red-veil);
  }
  .bg-id-sunken{
    background-color: var(--id-sunken);
  }
  .bg-id-warn{
    background-color: var(--id-warn);
  }
  .bg-id-warn-veil{
    background-color: var(--id-warn-veil);
  }
  .bg-orange-50{
    --tw-bg-opacity: 1;
    background-color: rgb(255 247 237 / var(--tw-bg-opacity));
  }
  .bg-red-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity));
  }
  .bg-yellow-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / var(--tw-bg-opacity));
  }
  .bg-yellow-200{
    --tw-bg-opacity: 1;
    background-color: rgb(254 240 138 / var(--tw-bg-opacity));
  }
  .bg-opacity-70{
    --tw-bg-opacity: 0.7;
  }
  .bg-opacity-80{
    --tw-bg-opacity: 0.8;
  }
  .p-1{
    padding: 0.25rem;
  }
  .p-1\.5{
    padding: 0.375rem;
  }
  .p-2{
    padding: 0.5rem;
  }
  .p-3{
    padding: 0.75rem;
  }
  .p-4{
    padding: 1rem;
  }
  .p-5{
    padding: 1.25rem;
  }
  .px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  .px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }
  .px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .py-0\.5{
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
  }
  .py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .pb-1{
    padding-bottom: 0.25rem;
  }
  .pl-4{
    padding-left: 1rem;
  }
  .pt-3{
    padding-top: 0.75rem;
  }
  .pt-4{
    padding-top: 1rem;
  }
  .text-left{
    text-align: left;
  }
  .text-center{
    text-align: center;
  }
  .text-right{
    text-align: right;
  }
  .font-mono{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }
  .text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .text-\[10px\]{
    font-size: 10px;
  }
  .text-\[11px\]{
    font-size: 11px;
  }
  .text-\[8px\]{
    font-size: 8px;
  }
  .text-\[9px\]{
    font-size: 9px;
  }
  .text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .font-bold{
    font-weight: 700;
  }
  .font-medium{
    font-weight: 500;
  }
  .font-normal{
    font-weight: 400;
  }
  .font-semibold{
    font-weight: 600;
  }
  .uppercase{
    text-transform: uppercase;
  }
  .capitalize{
    text-transform: capitalize;
  }
  .italic{
    font-style: italic;
  }
  .text-abm{
    --tw-text-opacity: 1;
    color: rgb(75 141 112 / var(--tw-text-opacity));
  }
  .text-bb{
    --tw-text-opacity: 1;
    color: rgb(179 183 18 / var(--tw-text-opacity));
  }
  .text-blue-500{
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity));
  }
  .text-blue-600{
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity));
  }
  .text-blue-800{
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity));
  }
  .text-gray-500{
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity));
  }
  .text-gray-600{
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity));
  }
  .text-gray-700{
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity));
  }
  .text-green-600{
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity));
  }
  .text-green-700{
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity));
  }
  .text-id-gap-text{
    color: var(--id-gap-text);
  }
  .text-id-info-text{
    color: var(--id-info-text);
  }
  .text-id-ink{
    color: var(--id-ink);
  }
  .text-id-muted{
    color: var(--id-muted);
  }
  .text-id-ok-text{
    color: var(--id-ok-text);
  }
  .text-id-red-text{
    color: var(--id-red-text);
  }
  .text-id-warn-text{
    color: var(--id-warn-text);
  }
  .text-neutral-500{
    --tw-text-opacity: 1;
    color: rgb(115 115 115 / var(--tw-text-opacity));
  }
  .text-neutral-600{
    --tw-text-opacity: 1;
    color: rgb(82 82 82 / var(--tw-text-opacity));
  }
  .text-nrj{
    --tw-text-opacity: 1;
    color: rgb(21 126 194 / var(--tw-text-opacity));
  }
  .text-orange-100{
    --tw-text-opacity: 1;
    color: rgb(255 237 213 / var(--tw-text-opacity));
  }
  .text-orange-600{
    --tw-text-opacity: 1;
    color: rgb(234 88 12 / var(--tw-text-opacity));
  }
  .text-orange-800{
    --tw-text-opacity: 1;
    color: rgb(154 52 18 / var(--tw-text-opacity));
  }
  .text-red-600{
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity));
  }
  .text-red-700{
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity));
  }
  .text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  .text-yellow-700{
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity));
  }
  .text-yellow-800{
    --tw-text-opacity: 1;
    color: rgb(133 77 14 / var(--tw-text-opacity));
  }
  .text-zinc-500{
    --tw-text-opacity: 1;
    color: rgb(113 113 122 / var(--tw-text-opacity));
  }
  .line-through{
    text-decoration-line: line-through;
  }
  .opacity-75{
    opacity: 0.75;
  }
  .shadow{
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
  .shadow-sm{
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
  .\!ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
  }
  .ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }
  .blur{
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  .filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  .transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
/* Override Leaflet's image paths - must be loaded before leaflet.css */
.leaflet-control-layers-toggle {
  background-image: url('layers.png') !important;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url('layers-2x.png') !important;
}

.leaflet-default-icon-path {
  background-image: url('marker-icon.png') !important;
}

.p-toast-message-content {
  border-style: none;
}

.leaflet-container {
  background-color: #eeede9 !important;
  font-family: var(--id-font);
}

/* Numéro de département (fond de carte du Programmator) */
.dept-code-label {
  background: transparent !important;
  border: none !important;
  pointer-events: none;
}
.dept-code-label span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  color: #6e6e77;
  letter-spacing: 0.02em;
  text-shadow: 0 0 3px rgba(255, 255, 255, 0.95), 0 0 6px rgba(255, 255, 255, 0.8);
}

/* Marqueur d'intervention déjà programmée (losange encre) */
.scheduled-intervention-marker {
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  /* Point hors tournée affichée : atténué quand une tournée est active */
  /* Point appartenant à la tournée affichée : pastille numérotée */
}
.scheduled-intervention-marker .si-dot {
  display: block;
  width: 12px;
  height: 12px;
  background: #1b1b1c;
  border: 2px solid #fff;
  transform: rotate(45deg);
  box-shadow: 0 1px 3px rgba(27, 27, 28, 0.3);
  transition: transform 0.1s ease;
}
.scheduled-intervention-marker:hover .si-dot {
  transform: rotate(45deg) scale(1.25);
}
.scheduled-intervention-marker.si-dimmed {
  opacity: 0.35;
}
.scheduled-intervention-marker.si-numbered .si-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #1b1b1c;
  border: 2px solid #fff;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(27, 27, 28, 0.3);
}
.scheduled-intervention-marker.si-numbered:hover .si-num {
  transform: scale(1.15);
  transition: transform 0.1s ease;
}

/* Infobulle enrichie des interventions programmées et des étapes de tournée */
.leaflet-tooltip.si-tooltip {
  background: var(--id-panel);
  color: var(--id-text);
  border: 1px solid var(--id-line);
  border-radius: var(--id-r-item);
  padding: 0;
  box-shadow: var(--id-shadow-pop);
  font-family: var(--id-font);
}
.leaflet-tooltip.si-tooltip::before {
  border-top-color: var(--id-panel);
}
.leaflet-tooltip.si-tooltip .si-tt {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.3;
}
.leaflet-tooltip.si-tooltip .si-tt-date {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 14px;
  color: var(--id-ink);
}
.leaflet-tooltip.si-tooltip .si-tt-date.is-ok {
  color: var(--id-red-text);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.leaflet-tooltip.si-tooltip .si-tt-date.is-blocked {
  color: var(--id-warn-text);
  font-size: 12px;
}
.leaflet-tooltip.si-tooltip .si-tt-date.is-moved {
  color: var(--id-warn-text);
  font-size: 12px;
}
.leaflet-tooltip.si-tooltip .si-tt-date .pi {
  font-size: 12px;
}
.leaflet-tooltip.si-tooltip .si-tt-title {
  font-size: 13px;
  color: var(--id-ink);
  max-width: 240px;
  white-space: normal;
}
.leaflet-tooltip.si-tooltip .si-tt-tech {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--id-muted);
}
.leaflet-tooltip.si-tooltip .si-tt-tech .pi {
  font-size: 11px;
}

.tll-24 {
  font-size: 24px;
}

.tll-48 {
  font-size: 48px;
}

/* Fix pour les z-index des dropdowns */
.p-dropdown-panel,
.p-multiselect-panel {
  z-index: 1000 !important; /* Valeur élevée pour être au-dessus des autres éléments */
}

/* Si nécessaire, vous pouvez définir un z-index encore plus élevé spécifiquement pour ce composant */
.affair-schedule-intervention-schedule .p-dropdown-panel,
.affair-schedule-intervention-schedule .p-multiselect-panel {
  z-index: 1100 !important;
}

/* ---------------------------------------------------------------------------
   Fonds de carte : le Plan IGN est un plan cartographique complet, plus dense
   que l'ancien fond CARTO. On le désature et on l'éclaircit pour le faire
   reculer derrière les marqueurs, tracés et polygones.
   Appliqué via l'option `className` de core/tools/map-tile-tools.ts.
   --------------------------------------------------------------------------- */
.leaflet-layer.map-tiles--attenuated {
  filter: saturate(0.18) brightness(1.08) contrast(0.88);
}
.hover\:bg-id-ok-veil:hover{
  background-color: var(--id-ok-veil);
}
.hover\:bg-id-sunken:hover{
  background-color: var(--id-sunken);
}
.hover\:text-id-gap-text:hover{
  color: var(--id-gap-text);
}
.hover\:text-id-info-text:hover{
  color: var(--id-info-text);
}
.dark\:border-blue-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity));
}
.dark\:border-orange-500:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity));
}
.dark\:bg-blue-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity));
}
.dark\:bg-blue-900\/20:is(.dark *){
  background-color: rgb(30 58 138 / 0.2);
}
.dark\:bg-orange-950\/70:is(.dark *){
  background-color: rgb(67 20 7 / 0.7);
}
.dark\:text-blue-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity));
}
.dark\:text-blue-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}
.dark\:text-gray-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity));
}
.dark\:text-gray-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}
.dark\:text-orange-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}
@media (min-width: 768px){
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px){
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px){
  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/*# sourceMappingURL=styles.css.map*/