@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";.marker-icon{background-color:#fff;border:1px solid #3388ff;border-radius:50%;margin:-8px 0 0 -8px!important;width:14px!important;height:14px!important;outline:0;transition:opacity ease .3s}.marker-icon-middle{opacity:.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,.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:.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:translate(-50%);background:#fffffff2;color:#333;padding:8px 16px;border-radius:4px;box-shadow:0 2px 6px #0003;z-index:1000;font-size:14px;pointer-events:none}.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 #514d4d4f}.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(.6)}.button-container .leaflet-pm-actions-container .pm-action-button-mode.control-icon{filter:brightness(0) invert(1);width:18px}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.lb{--bg: var(--bg-page);--surface: var(--bg-card);--ink: var(--tx-0);--muted: var(--tx-2);--line: var(--border);--line-strong: var(--borderl);--accent: #2b8c87;--accent-soft: rgba(74,173,168,.14);--bad: var(--red);--bad-soft: #f8e5df;--warn: var(--amber);--ok: var(--green);--ok-soft: #e0f0e6;--lv-customer: #8a6618;--lv-site: #1c6aa8;--lv-building: #6a55a6;--lv-system: #237566;--lv-bed: #9a5526;--sans: var(--font);position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:14px/1.45 var(--sans)}.lb input[type=checkbox]{width:auto}.lb button:disabled{cursor:default}.lb .mono,.lb code{font-family:var(--mono)}.lb .hint{color:var(--muted);font-size:13px}.lb .state{padding:32px}.lb .bar{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.lb .brand{margin-right:auto;display:flex;flex-direction:column}.lb .eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.lb .brand h1{margin:0;font-size:17px;font-weight:600}.lb .tools{display:flex;gap:8px;align-items:center}.lb .btn{height:32px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;font-weight:500;font-size:13px}.lb .btn:hover{border-color:var(--accent);color:var(--accent)}.lb .pill{height:32px;padding:0 12px;border-radius:16px;display:inline-flex;align-items:center;font-weight:600;font-size:13px}.lb .pill.bad{background:var(--bad-soft);color:var(--bad)}.lb .pill.ok{background:var(--ok-soft);color:var(--ok)}.lb .work{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px}.lb .canvas{position:relative;min-width:0}.lb .react-flow{--xy-background-color: var(--bg);--xy-edge-stroke: var(--line-strong);--xy-controls-button-background-color: var(--surface);--xy-controls-button-color: var(--ink)}.lb .fnode{position:relative;width:168px;height:66px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:3px;cursor:pointer}.lb .fnode.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}.lb .fnode .lvl{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--lvc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb .fnode .meta{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--muted)}.lb .fnode .nm{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb .fnode .crop{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:2px}.lb .fnode .crop i{flex:none;width:8px;height:8px;border-radius:50%;margin-right:1px}.lb .fnode .crop i:last-of-type{margin-right:4px}.lb .fnode .period-tag{font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb .fnode .period-tag.one:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;background:#2b8c87;vertical-align:-1px}.lb .fnode .period-tag.mixed{color:#b07010}.lb .fnode .period-tag.none,.lb .fnode .nm.empty{color:var(--muted);font-style:italic}.lb .lv-customer{--lvc: var(--lv-customer)}.lb .lv-site{--lvc: var(--lv-site)}.lb .lv-building{--lvc: var(--lv-building)}.lb .lv-system{--lvc: var(--lv-system)}.lb .lv-bed{--lvc: var(--lv-bed)}.lb .badge{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--bad);color:var(--surface);font:600 11px/18px var(--sans);text-align:center}.lb .badge.warn{background:var(--warn)}.lb .cluster{width:168px;height:40px;box-sizing:border-box;border:1px dashed var(--line-strong);border-radius:8px;background:var(--bg);color:var(--muted);display:grid;place-items:center;font-weight:500;cursor:pointer}.lb .cluster:hover{border-color:var(--accent);color:var(--accent)}.lb .links{overflow:visible;pointer-events:none}.lb .links path{fill:none;stroke:var(--line-strong);stroke-width:1.25}.lb .react-flow__node-links{pointer-events:none!important;cursor:default}.lb .panel{overflow:auto;border-left:1px solid var(--line);background:var(--surface);padding:16px 18px 24px;display:flex;flex-direction:column;gap:16px}.lb .p-head{display:flex;flex-direction:column;gap:4px}.lb .p-head .eyebrow{color:var(--lvc)}.lb .p-head h2{margin:0;font-size:20px;font-weight:600}.lb .crumbs{font-size:12px;color:var(--muted)}.lb .counts,.lb .fields{margin:0;display:grid;gap:8px}.lb .counts{grid-template-columns:1fr auto}.lb .counts dt,.lb .fields dt{color:var(--muted)}.lb .counts dd{margin:0;font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}.lb .fields>div{display:flex;flex-direction:column;gap:2px}.lb .fields dt{font-size:12px}.lb .fields dd{margin:0}.lb .panel h3{margin:0 0 8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.lb .devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lb .devices li{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}.lb .devices code{font-size:12.5px;color:var(--muted)}.lb .callout{margin:0;padding:10px 12px 10px 28px;border-radius:8px;background:var(--bad-soft);font-size:13px}.lb p.callout{padding-left:12px}.lb .brand{flex-direction:row;align-items:center;gap:10px}.lb .brand-mark{width:30px;height:30px;display:block}.lb .brand-text{display:flex;flex-direction:column}.lb .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.lb .btn.primary:hover{filter:brightness(1.06);color:var(--surface)}.lb .btn:disabled{opacity:.45;cursor:default}.lb .btn:disabled:hover{border-color:var(--line-strong);color:var(--ink)}.lb .btn.primary:disabled:hover{border-color:var(--accent);color:var(--surface);filter:none}.lb .lb-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:80;max-width:calc(100% - 32px);padding:9px 14px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:13px;box-shadow:0 8px 24px #141e1924;transition:opacity .2s}.lb .lb-toast.off{opacity:0;pointer-events:none}.lb .canvas:focus{outline:none}.lb .lb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0a100d73;display:grid;place-items:center;padding:16px}.lb .dialog{width:min(440px,100%);max-height:calc(100% - 32px);overflow:auto;box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 8px 24px #141e1924;padding:20px;display:flex;flex-direction:column;gap:14px}.lb .dialog h3{margin:0;font-size:17px;font-weight:600}.lb .dialog p{margin:0}.lb .actions{display:flex;justify-content:flex-end;gap:8px}.lb .fnode .nm-in{border:0;outline:0;background:transparent;padding:0;margin:0;width:100%;font:500 13.5px var(--sans);color:var(--ink)}.lb .fnode .nm-in::placeholder{color:var(--muted);font-weight:400}.lb kbd{font:500 11px/1 var(--mono);padding:3px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface);color:var(--muted);white-space:nowrap}.lb .fnode .ctl{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;padding:0;border-radius:50%;border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);font:600 15px/1 var(--sans);cursor:pointer;display:grid;place-items:center}.lb .fnode .ctl:hover{background:var(--accent);color:var(--surface)}.lb .fnode .ctl-add{right:36px}.lb .fnode .ctl-more{right:4px}.lb .menu{position:fixed;z-index:50;min-width:232px;padding:5px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #141e1924;display:flex;flex-direction:column}.lb .menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;border:0;background:none;padding:7px 10px;border-radius:5px;cursor:pointer;text-align:left;font-size:13.5px;color:var(--ink)}.lb .menu button:hover,.lb .menu button:focus-visible{background:var(--accent-soft);outline:none}.lb .menu button.danger{color:var(--bad)}.lb .menu button.danger:hover,.lb .menu button.danger:focus-visible{background:var(--bad-soft)}.lb .menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.lb .p-sec{display:flex;flex-direction:column;gap:12px}.lb .field{display:flex;flex-direction:column;gap:5px}.lb .field label{font-size:12.5px;font-weight:500;color:var(--muted)}.lb .field small{font-size:12px;color:var(--muted)}.lb input.in,.lb select.in{height:34px;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:6px;background:var(--field, var(--surface));color:var(--ink);font:inherit;padding:0 9px;width:100%;min-width:0}.lb .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lb .check{display:flex;gap:8px;align-items:center;font-size:13.5px}.lb .preview{font-size:13px;color:var(--muted);background:var(--bg);border-radius:6px;padding:8px 10px}.lb .fnode.dragging{opacity:.5}.lb .fnode.drop{outline:2px dashed var(--accent);outline-offset:4px}.lb .fnode.ins-before:after,.lb .fnode.ins-after:after{content:"";position:absolute;background:var(--accent);border-radius:2px}.lb .fnode.stacked.ins-before:after{left:-4px;right:-4px;top:-7px;height:3px}.lb .fnode.stacked.ins-after:after{left:-4px;right:-4px;bottom:-8px;height:3px}.lb .fnode:not(.stacked).ins-before:after{top:-4px;bottom:-4px;left:-12px;width:3px}.lb .fnode:not(.stacked).ins-after:after{top:-4px;bottom:-4px;right:-12px;width:3px}.lb .sec-head{display:flex;align-items:baseline;gap:8px;border-top:1px solid var(--line);padding-top:14px}.lb .sec-head h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.lb .sec-head .count{font:500 12px var(--mono);color:var(--muted)}.lb .kids{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}.lb .kids li{display:flex;gap:6px;align-items:center}.lb .kids input,.lb .sens select,.lb .sens input{height:34px;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;padding:0 9px;width:100%;min-width:0}.lb .sens input.mono{font-family:var(--mono)}.lb .go{flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer;color:var(--muted);font-size:16px}.lb .go:hover{border-color:var(--accent);color:var(--accent)}.lb .sens-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lb .sens{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.lb .sens-row{display:flex;gap:6px;align-items:center}.lb .x{flex:none;width:30px;height:30px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer;border-radius:6px}.lb .x:hover{color:var(--bad);background:var(--bad-soft)}.lb .row-btns{display:flex;flex-wrap:wrap;gap:6px}.lb .empty-note{margin:0;color:var(--muted);font-size:13px}.lb .p-actions{flex-direction:row;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line);padding-top:14px}.lb .btn.danger{color:var(--bad)}.lb .btn.danger:hover{border-color:var(--bad);color:var(--bad)}.lb input.in.mono{font-family:var(--mono)}.lb .seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;height:32px}.lb .seg button{border:0;background:var(--surface);color:var(--muted);padding:0 10px;font:500 13px var(--sans);cursor:pointer}.lb .seg button+button{border-left:1px solid var(--line-strong)}.lb .seg button.on{background:var(--accent-soft);color:var(--accent)}.lb .sens-grip{display:flex;align-items:baseline;gap:6px;font-size:12.5px;font-weight:500;cursor:grab;-webkit-user-select:none;user-select:none}.lb .sens-grip>span[aria-hidden]{color:var(--muted);font-size:14px}.lb .sens-grip .hint{font-size:11.5px;font-weight:400}.lb .crops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto}.lb .crops li{display:flex;align-items:center;gap:8px;font-size:13px}.lb .crops i{flex:none;width:10px;height:10px;border-radius:50%;border:1px solid var(--line-strong)}.lb .crops .empty{color:var(--muted);font-style:italic}.lb .crops .count{margin-left:auto;font:500 12px var(--mono);color:var(--muted)}.lb.lb-embedded{position:relative;inset:auto;z-index:auto;flex:1;min-height:0;height:100%}.lb.lb-embedded>.work{grid-template-columns:minmax(0,1fr)}.lb .bar .stat{font-size:12.5px;color:var(--muted);white-space:nowrap}.lb .bar .stat b{color:var(--ink);font-weight:600}.lb .fnode.live{border-left-width:4px}.lb .fnode.st-healthy{border-left-color:#4aada8}.lb .fnode.st-warning{border-left-color:#b07010}.lb .fnode.st-critical{border-left-color:#c0452a}.lb .fnode.st-offline{border-left-color:#9aaa9a}.lb .fnode .live-count{float:right;font-weight:600;letter-spacing:0;color:var(--muted);display:inline-flex;align-items:center;gap:3px}.lb .fnode .live-count i{width:7px;height:7px;border-radius:50%;background:currentColor}.lb .fnode.st-healthy .live-count{color:#2b8c87}.lb .fnode.st-warning .live-count{color:#b07010}.lb .fnode.st-critical .live-count{color:#c0452a}.lb .react-flow__minimap{border:1px solid var(--line);border-radius:6px;overflow:hidden}.lb .tools>*{flex-shrink:0}.lb .btn{white-space:nowrap}.lb select.btn{width:auto;max-width:220px;padding-right:28px}.lb .react-flow__controls-button .fit-ico{font:600 13px/1 var(--sans);color:var(--ink)}:root[data-theme=dark] .lb{--accent: #6cc4be;--accent-soft: rgba(108,196,190,.16);--bad-soft: rgba(239,125,99,.16);--ok-soft: rgba(87,200,104,.16);--lv-customer: #e0b45a;--lv-site: #7db4e6;--lv-building: #b4a2ea;--lv-system: #6cc8b3;--lv-bed: #e59a6a}:root[data-theme=dark] .lb .react-flow__minimap{background:var(--bg-card)}:root[data-theme=dark] .lb .react-flow__controls-button{border-bottom-color:var(--border)}.lb.lb-embedded>.work.with-panel{grid-template-columns:minmax(0,1fr) 340px}.lb .gpp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.lb .gpp-head h3{margin:0 0 2px}.lb .gpp-title{font-size:14px;font-weight:600}.lb .gpp-at{display:flex;flex-wrap:wrap;gap:6px}.lb .gpp-at .in{flex:1 1 160px}.lb .gpp-pen{border:0;background:none;color:var(--accent);cursor:pointer;padding:0 4px;font-size:12px}.lb .gp-form{display:flex;flex-direction:column;gap:12px}.lb .gp-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lb .gp-rows li{display:grid;grid-template-columns:1fr;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}.lb .gp-dev{display:flex;flex-direction:column;gap:1px;min-width:0}.lb .gp-dev .mono{font:500 12.5px var(--mono);overflow:hidden;text-overflow:ellipsis}.lb .gp-dev small{font-size:12px;color:var(--muted)}.lb .gp-status{justify-self:start;font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent)}.lb .gp-status.ends{background:var(--bad-soft);color:var(--bad)}.lb .gp-status.starts{background:var(--ok-soft);color:var(--ok)}.lb .gp-error{color:var(--bad)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sb-bg: #f3f1e2;--sb-border: #d9d6c6;--sb-text: #2a3a2a;--sb-muted: #6a7a6a;--sb-active-bg: rgba(74,173,168,.14);--sb-active-text: #0b3324;--sb-hover: rgba(74,173,168,.08);--bg-page: #f5f4f0;--bg-card: #ffffff;--bg-input: #ffffff;--bg-row: #ffffff;--bg-stripe: #f9f8f4;--bg-header: #f0ede0;--border: #e0ddd0;--borderl: #c8c4b0;--tx-0: #1a2a1a;--tx-1: #3a4a3a;--tx-2: #6a7a6a;--tx-3: #9aaa9a;--teal: #7eccc6;--teal-d: #4aada8;--forest: #0b3324;--green: #006838;--green-d: #004d28;--cream: #f3f1e2;--red: #c0452a;--amber: #b07010;--blue: #3070c0;--status-healthy: #4aada8;--status-warning: #b07010;--status-critical: #c0452a;--status-offline: #9aaa9a;--status-prov: #3070c0;--ok-fg: #1f6b2a;--ok-bg: rgba(57,181,74,.16);--warn-fg: #8a5a08;--warn-bg: rgba(214,150,40,.22);--alarm-fg: #9c2f19;--alarm-bg: rgba(192,69,42,.18);--on-forest: #ffffff;--toast-ok: #f0faf6;--toast-err: #fdf0ec;--toast-warn: #fdf6e3;--map-filter: none;color-scheme:light;--font: "IBM Plex Sans",system-ui,sans-serif;--mono: "IBM Plex Mono",monospace;--r: 6px;--rl: 10px}:root[data-theme=dark]{--sb-bg:#151e19;--sb-border:#2a3630;--sb-text:#d3ddd6;--sb-muted:#8fa096;--sb-active-bg:rgba(126,204,198,.16);--sb-active-text:#a8e3dd;--sb-hover:rgba(126,204,198,.08);--bg-page:#0f1512;--bg-card:#18211c;--bg-input:#1d2722;--bg-row:#18211c;--bg-stripe:#1f2a24;--bg-header:#1c2620;--border:#2c3832;--borderl:#3d4a43;--tx-0:#e6ede8;--tx-1:#c9d4cc;--tx-2:#9db0a4;--tx-3:#76897d;--teal:#7eccc6;--teal-d:#6cc4be;--forest:#a8e3dd;--green:#1f8f57;--green-d:#2aa86a;--cream:#151e19;--red:#ef7d63;--amber:#e0a23c;--blue:#6aa1e8;--status-healthy:#6cc4be;--status-warning:#e0a23c;--status-critical:#ef7d63;--status-offline:#76897d;--status-prov:#6aa1e8;--ok-fg:#8ad896;--ok-bg:rgba(87,200,104,.16);--warn-fg:#f0b54a;--warn-bg:rgba(224,162,60,.18);--alarm-fg:#f28b74;--alarm-bg:rgba(239,125,99,.18);--on-forest:#0b1a14;--toast-ok:#16302a;--toast-err:#3a1f19;--toast-warn:#36290f;--map-filter:brightness(.72) contrast(1.08) saturate(.85);color-scheme:dark}.leaflet-tile-pane{filter:var(--map-filter)}:root[data-theme=dark] .leaflet-control-attribution{background:#18211cd9!important;color:var(--tx-2)}:root[data-theme=dark] .leaflet-bar a{background:var(--bg-card);color:var(--tx-0);border-color:var(--border)}:root[data-theme=dark] img.brand-logo{filter:brightness(1.1)}.theme-btn{font-size:14px;padding:0 9px!important;height:30px}html,body,#root{height:100%;background:var(--bg-page);color:var(--tx-0);font-family:var(--font);font-size:16px;line-height:1.6}.app{display:flex;height:calc(100vh / var(--page-zoom, 1));overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-page)}.sidebar{width:240px;min-width:240px;background:var(--sb-bg);border-right:1px solid var(--sb-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;position:relative;z-index:700}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:18px 16px;border-bottom:1px solid var(--sb-border);flex-shrink:0}.brand-logo{width:46px;height:46px;object-fit:contain;flex-shrink:0}.brand-name{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--forest)}.brand-sub{font-size:11px;font-weight:600;color:var(--teal-d);letter-spacing:.05em;text-transform:uppercase;margin-top:2px}.sidebar-section{padding:6px 8px;flex-shrink:0}.sidebar-label{font-size:11px;font-weight:700;color:var(--forest);letter-spacing:.12em;text-transform:uppercase;padding:10px 10px 6px;border-top:1px solid var(--sb-border);margin-top:2px}.sidebar-section:first-of-type .sidebar-label{border-top:none;margin-top:0}.nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--r);color:var(--sb-text);cursor:pointer;font-size:14px;font-family:var(--font);text-align:left;transition:background .12s,color .12s}.nav-item:hover{background:var(--sb-hover);color:var(--forest)}.nav-item.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}.nav-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-text{flex:1}.nav-badge{font-size:11px;font-family:var(--mono);background:#4aada826;color:var(--teal-d);padding:1px 7px;border-radius:8px}.nav-item.active .nav-badge{background:#4aada840;color:var(--forest)}.sidebar-bottom{flex-shrink:0;border-top:1px solid var(--sb-border);padding:10px 8px}.status-row{display:flex;align-items:center;gap:8px;padding:4px 10px;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.healthy{background:var(--status-healthy);box-shadow:0 0 5px var(--teal)}.status-dot.warning{background:var(--status-warning)}.status-dot.critical{background:var(--status-critical)}.status-dot.offline{background:var(--status-offline)}.status-label{color:var(--sb-muted);font-size:12px}.topbar{display:flex;align-items:center;flex-wrap:wrap;row-gap:8px;padding:12px 22px;border-bottom:1px solid var(--border);background:var(--bg-card);gap:10px;flex-shrink:0;min-height:56px;position:relative;z-index:700}.topbar>*{flex-shrink:0}.split-btn{position:relative;display:flex;align-items:center;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-title{font-size:18px;font-weight:700;color:var(--tx-0)}.site-switcher{position:relative}.site-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;font-size:14px;font-family:var(--font);color:var(--tx-0);transition:border-color .15s}.site-btn:hover{border-color:var(--borderl)}.site-btn-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-d);flex-shrink:0}.site-btn-name{font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-btn-chevron{color:var(--tx-3);font-size:11px;margin-left:2px}.site-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;background:var(--bg-card);border:1px solid var(--borderl);border-radius:var(--rl);box-shadow:0 6px 20px #0000001f;z-index:800;overflow:hidden}.site-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-size:14px;font-family:var(--font);color:var(--tx-1);text-align:left;transition:background .1s}.site-dropdown-item:hover{background:var(--bg-stripe)}.site-dropdown-item.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}.site-dropdown-divider{border:none;border-top:1px solid var(--border);margin:3px 0}.site-dropdown-action{color:var(--teal-d);font-size:13px}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.view-toggle button{background:none;border:none;padding:6px 12px;color:var(--tx-2);cursor:pointer;font-size:13px;font-family:var(--font);transition:background .12s,color .12s}.view-toggle button.active{background:var(--sb-active-bg);color:var(--forest);font-weight:600}.time-range{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.time-range button{background:none;border:none;padding:6px 10px;color:var(--tx-2);cursor:pointer;font-size:12px;font-family:var(--mono);transition:background .12s,color .12s}.time-range button.active{background:var(--sb-active-bg);color:var(--forest);font-weight:600}.weather-chip{display:flex;align-items:center;gap:8px;padding:5px 12px;background:var(--bg-stripe);border:1px solid var(--border);border-radius:var(--r);font-size:13px;white-space:nowrap}.weather-temp{font-weight:600;color:var(--tx-0);font-family:var(--mono)}.weather-desc{color:var(--tx-2)}.weather-detail{color:var(--tx-3);font-size:12px}.btn-primary{background:var(--green);border:none;color:#fff;font-family:var(--font);font-size:14px;font-weight:500;padding:0 16px;height:32px;border-radius:var(--r);cursor:pointer;transition:background .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-primary:hover{background:var(--green-d)}.btn-ghost{background:none;border:1px solid var(--border);color:var(--tx-1);font-family:var(--font);font-size:14px;padding:0 14px;height:32px;border-radius:var(--r);cursor:pointer;transition:border-color .12s,color .12s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-ghost:hover{border-color:var(--borderl);color:var(--tx-0)}.btn-danger{background:#c0452a0f;border:1px solid rgba(192,69,42,.4);color:var(--red);font-family:var(--font);font-size:14px;padding:0 15px;height:32px;border-radius:var(--r);cursor:pointer;transition:background .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-danger:hover{background:#c0452a24}.icon-btn{background:none;border:none;color:var(--tx-2);cursor:pointer;padding:4px;border-radius:4px;font-size:15px;line-height:1;transition:color .12s,background .12s}.icon-btn:hover{background:var(--bg-stripe);color:var(--tx-0)}.icon-btn.danger:hover{color:var(--red)}.map-wrap{flex:1;position:relative;overflow:hidden;z-index:1}.map-body{display:flex;flex:1;overflow:hidden;min-height:0;position:relative;z-index:1}.group-panel{width:220px;min-width:220px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.group-panel-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.group-panel-title{font-size:13px;font-weight:600;color:var(--tx-0)}.group-panel-count{font-size:11px;font-family:var(--mono);color:var(--tx-3)}.group-list{flex:1;overflow-y:auto;padding:6px}.group-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r);cursor:pointer;transition:background .1s;border:1px solid transparent;margin-bottom:2px}.group-item:hover{background:var(--bg-stripe)}.group-item.active{background:var(--sb-active-bg);border-color:#4aada84d}.group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.group-name{font-size:13px;font-weight:500;color:var(--tx-0);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-sensor-count{font-size:11px;font-family:var(--mono);color:var(--tx-3)}.sensor-sublist{padding:2px 0 4px 18px}.sensor-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--r);cursor:pointer;transition:background .1s}.sensor-item:hover{background:var(--bg-stripe)}.sensor-item.active{background:var(--sb-active-bg)}.sensor-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sensor-name{font-size:12px;color:var(--tx-1)}.sensor-item.active .sensor-name{color:var(--forest);font-weight:500}.group-panel-footer{border-top:1px solid var(--border);padding:10px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.panel-stat{text-align:center}.panel-stat-val{font-size:14px;font-family:var(--mono);font-weight:600;color:var(--teal-d)}.panel-stat-label{font-size:11px;color:var(--tx-3)}.telemetry-drawer{width:280px;min-width:280px;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.drawer-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between}.drawer-title{font-size:14px;font-weight:600;color:var(--tx-0)}.drawer-sub{font-size:12px;color:var(--tx-2);margin-top:2px}.drawer-body{flex:1;overflow-y:auto;padding:12px}.drawer-footer{border-top:1px solid var(--border);padding:8px 16px}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.reading-card{padding:8px 10px;background:var(--bg-stripe);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:border-color .12s,background .12s}.reading-card:hover{background:var(--bg-header)}.reading-card.selected{border-color:var(--teal-d);background:#4aada80f}.reading-label{font-size:11px;color:var(--tx-2);margin-bottom:2px}.reading-val{font-size:14px;font-family:var(--mono);font-weight:600}.reading-unit{font-size:11px;color:var(--tx-3);margin-left:3px}.chart-section{background:var(--bg-stripe);border:1px solid var(--border);border-radius:var(--r);padding:10px;margin-bottom:10px}.chart-label{font-size:11px;font-weight:600;color:var(--tx-2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.device-block{background:var(--bg-stripe);border:1px solid var(--border);border-radius:var(--r);padding:10px}.device-block-title{font-size:11px;font-weight:700;color:var(--tx-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.device-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.device-row-label{color:var(--tx-2)}.device-row-val{font-family:var(--mono);color:var(--tx-0)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-card);border:1px solid var(--borderl);border-radius:var(--rl);width:100%;max-width:560px;max-height:calc(88vh / var(--page-zoom, 1));display:flex;flex-direction:column;box-shadow:0 12px 40px #0000002e}.modal-wide{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;font-weight:600;color:var(--tx-0)}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.address-book-list{display:flex;flex-direction:column;gap:6px}.address-book-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-row);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:border-color .12s,background .12s}.address-book-item:hover{border-color:var(--borderl);background:var(--bg-stripe)}.address-book-item.active{border-color:var(--teal-d);background:#4aada80f}.address-book-info{flex:1}.address-book-name{font-size:14px;font-weight:500;color:var(--tx-0)}.address-book-addr{font-size:12px;color:var(--tx-2);margin-top:2px}.address-book-meta{font-size:11px;font-family:var(--mono);color:var(--tx-3);margin-top:2px}.image-panel{width:280px;min-width:280px;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.image-panel-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.image-panel-title{font-size:13px;font-weight:600;color:var(--tx-0)}.image-drop-zone{border:2px dashed var(--border);border-radius:var(--r);padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .15s;margin:10px}.image-drop-zone:hover,.image-drop-zone.dragging{border-color:var(--teal-d);background:#4aada80a}.image-drop-icon{font-size:28px;opacity:.4;margin-bottom:6px}.image-drop-hint{font-size:13px;color:var(--tx-2)}.image-drop-hint2{font-size:11px;color:var(--tx-3);margin-top:2px}.image-list{flex:1;overflow-y:auto;padding:0 10px 10px}.image-card{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:8px;transition:border-color .12s}.image-card.active{border-color:var(--teal-d)}.image-thumb{height:100px;background:var(--bg-stripe);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.image-thumb img{width:100%;height:100%;object-fit:contain}.image-thumb-badge{position:absolute;top:4px;left:4px;background:var(--teal-d);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px}.image-thumb-warn{position:absolute;bottom:4px;right:4px;background:#b07010e6;color:#fff;font-size:11px;padding:2px 6px;border-radius:3px}.image-controls{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.image-name{font-size:13px;font-weight:500;color:var(--tx-0);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-ctrl-row{display:flex;align-items:center;gap:8px}.image-opacity-label{font-size:11px;color:var(--tx-2);width:44px;flex-shrink:0}.image-opacity-val{font-size:11px;font-family:var(--mono);color:var(--tx-3);width:30px;text-align:right;flex-shrink:0}.image-bounds-btn{font-size:11px;color:var(--teal-d);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.image-bounds-btn:hover{color:var(--forest)}.image-bounds-form{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px 0}.image-bounds-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--tx-2);text-transform:uppercase;letter-spacing:.04em}.image-bounds-form input{font-size:12px;padding:5px 8px;font-family:var(--mono)}.image-panel-footer{border-top:1px solid var(--border);padding:8px 10px}.image-panel-hint{font-size:11px;color:var(--tx-3);line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tx-2);text-transform:uppercase;letter-spacing:.05em}.form-grid label.full,.form-grid .full{grid-column:1/-1}.form-grid .form-hint{font-size:11px;color:var(--tx-3);text-transform:none;letter-spacing:normal}.form-actions{display:flex;justify-content:flex-end;gap:8px}.form-err{background:#c0452a0f;border:1px solid rgba(192,69,42,.4);color:var(--red);border-radius:var(--r);padding:8px 12px;font-size:13px;margin-bottom:12px}input,select,textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;color:var(--tx-0);font-family:var(--font);font-size:14px;outline:none;transition:border-color .15s;width:100%}input[type=checkbox],input[type=radio]{width:auto;padding:0;flex-shrink:0}input:focus,select:focus,textarea:focus{border-color:var(--teal-d)}input::placeholder,textarea::placeholder{color:var(--tx-3)}textarea{resize:vertical;line-height:1.55}select{cursor:pointer}input[type=range]{padding:0;height:4px;accent-color:var(--teal-d);cursor:pointer}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-box{background:var(--bg-card);border:1px solid var(--borderl);border-radius:var(--rl);padding:26px 26px 20px;max-width:420px;width:100%;box-shadow:0 12px 40px #0000002e}.confirm-title{font-size:16px;font-weight:600;color:var(--tx-0);margin-bottom:8px}.confirm-body{font-size:14px;color:var(--tx-1);margin-bottom:20px;line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:1100}.toast{padding:10px 16px;border-radius:var(--r);font-size:13px;border-left:3px solid;animation:slide-in .2s ease;max-width:320px;box-shadow:0 4px 16px #0000001f}.toast-success{background:var(--toast-ok);color:var(--forest);border-color:var(--teal-d)}.toast-error{background:var(--toast-err);color:var(--red);border-color:var(--red)}.toast-info{background:var(--bg-card);color:var(--tx-1);border-color:var(--borderl)}.toast-warn{background:var(--toast-warn);color:var(--amber);border-color:var(--amber)}@keyframes slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.leaflet-container{font-family:var(--font)!important}.leaflet-popup-content-wrapper{background:var(--bg-card)!important;border:1px solid var(--borderl)!important;border-radius:var(--r)!important;box-shadow:0 4px 16px #0000001f!important;padding:0!important}.leaflet-popup-content{margin:10px 12px!important;color:var(--tx-0)}.leaflet-popup-tip{background:var(--bg-card)!important}.leaflet-popup-close-button{color:var(--tx-2)!important;right:8px!important;top:8px!important}.leaflet-popup-close-button:hover{color:var(--tx-0)!important}.leaflet-control-zoom a{background:var(--bg-card)!important;color:var(--tx-1)!important;border-color:var(--border)!important;font-family:var(--font)!important}.leaflet-control-zoom a:hover{background:var(--bg-stripe)!important}.leaflet-control-attribution{font-size:11px!important;background:#ffffffd9!important}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--tx-2)}.empty-icon{font-size:42px;opacity:.3}.spinner{width:26px;height:26px;border:2px solid var(--border);border-top-color:var(--teal-d);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--borderl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .18s ease-out}button:disabled{opacity:.5;cursor:not-allowed}.ftree{display:flex;flex-direction:column;font-family:var(--font)}.ft-search{width:100%;height:28px;font-size:12px;margin:0 0 6px;box-sizing:border-box}.ft-hint,.ft-empty{font-size:11.5px;color:var(--tx-3);padding:2px 4px 6px}.ft-row.ft-back{font-size:11.5px;color:var(--teal-d);font-weight:600;margin-bottom:4px}.ft-seg{padding:2px 0 4px}.ft-seg+.ft-seg{border-top:1px solid var(--border);margin-top:2px;padding-top:4px}.ft-seg-head{display:flex;align-items:center;gap:6px;min-height:28px;padding:2px 6px 2px 4px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:700;color:var(--tx-0);-webkit-user-select:none;user-select:none;border-left:3px solid var(--st,transparent)}.ft-seg-head:hover{background:var(--sb-hover)}.ft-seg.open>.ft-seg-head{color:var(--forest)}.ft-chev{width:12px;flex-shrink:0;text-align:center;font-size:10.5px;color:var(--tx-3);transition:transform .12s}.ft-chev.open{transform:rotate(90deg)}.ft-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-sub{color:var(--tx-3);font-weight:400;font-size:11.5px}.ft-count{font-size:11px;font-family:var(--mono);color:var(--tx-3);flex-shrink:0}.ft-tree{margin-left:10px}.ft-item{position:relative;padding-left:14px}.ft-item:before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1px solid var(--borderl)}.ft-tree>.ft-item:last-child:before{bottom:auto;height:13px}.ft-item:after{content:"";position:absolute;left:0;top:12px;width:10px;border-top:2px solid var(--st,var(--borderl))}.ft-row{display:flex;align-items:center;gap:5px;min-height:25px;padding:1px 6px 1px 3px;border-radius:4px;cursor:pointer;font-size:12.5px;color:var(--sb-text);-webkit-user-select:none;user-select:none}.ft-row:hover{background:var(--sb-hover)}.ft-row.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}.ft-row.active .ft-count{color:var(--forest)}.ft-row.dim .ft-label{color:var(--tx-3)}.ft-row.ft-group{font-weight:600;color:var(--tx-1)}.ft-row.ft-system{font-weight:500;color:var(--tx-1)}.sv{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg-page)}.sv-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-card)}.sv-title{display:flex;align-items:baseline;gap:10px;margin-right:auto}.sv-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3)}.sv-name{font-size:16px;font-weight:600;color:var(--tx-0)}.sv-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.sv-chip{padding:3px 10px;border-radius:12px;font-weight:600;white-space:nowrap}.sv-chip.ok{background:var(--ok-bg);color:var(--ok-fg)}.sv-chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.sv-chip.alarm{background:var(--alarm-bg);color:var(--alarm-fg)}.sv-chip.none{background:var(--bg-stripe);color:var(--tx-2)}.sv-sep{width:1px;height:20px;background:var(--border)}.sv-toggle{display:flex;align-items:center;gap:5px;color:var(--tx-1);cursor:pointer;white-space:nowrap}.sv-toggle input{width:auto}.sv-select{width:auto;max-width:200px;height:28px;font-size:12px}.sv-body{flex:1;overflow:auto;padding:16px 20px 32px}.sv-seg+.sv-seg{margin-top:22px}.sv-seg-name{font-size:13px;font-weight:700;color:var(--forest);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.sv-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden}.sv-card-head{display:flex;align-items:baseline;gap:8px;padding:9px 14px;font-size:14px;font-weight:600;color:var(--tx-0);border-bottom:1px solid var(--border)}.sv-count{font-size:11px;font-weight:400;color:var(--tx-3)}.sv-scroll{overflow-x:auto}.sv-table{border-collapse:separate;border-spacing:3px;width:100%;table-layout:fixed;font-size:13px;padding:4px 8px 8px}.sv-col-unit{width:200px}.sv-col-ok{width:34px}.sv-table th{font-size:11.5px;font-weight:600;color:var(--tx-2);text-align:center;padding:4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.sv-table th span{display:block;font-weight:400;color:var(--tx-3);font-size:11px}.sv-table th.sv-unit-h{text-align:left;padding-left:8px}.sv-table tr{cursor:pointer}.sv-table tbody tr:hover td.sv-unit{background:var(--bg-stripe)}.sv-table tr.sel td.sv-unit{background:var(--sb-active-bg);box-shadow:inset 3px 0 0 var(--teal-d)}.sv-unit{padding:5px 8px;border-radius:5px;overflow:hidden;height:46px;box-sizing:border-box;vertical-align:middle}.sv-unit-name{font-size:14px;font-weight:600;color:var(--tx-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sv-sys{font-weight:400;color:var(--tx-2)}.sv-unit-sub{font-size:12px;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;line-height:1.3}.sv-cell{text-align:center;font-family:var(--mono);font-weight:600;overflow:hidden;height:34px;border-radius:5px}.sv-cell.none{background-image:repeating-linear-gradient(135deg,transparent 0 6px,var(--border) 6px 7px)!important}.sv-table tr.sv-start td.sv-unit{box-shadow:0 -2px 0 -1px var(--border)}.sv-table tr.sv-start.sel td.sv-unit{box-shadow:inset 3px 0 0 var(--teal-d),0 -2px 0 -1px var(--border)}.sv-unit-only{padding-left:12px;font-size:12.5px;color:var(--tx-1)}.sv-ok,.sv-ok-h{text-align:center;padding:0!important}.sv-ok{font-size:15px;font-weight:700}.sv-ok.yes{color:var(--ok-fg)}.sv-ok.no{color:#fff;background:var(--red);border-radius:5px;font-size:13px}.sv-ok-h,tr.silent .sv-unit-name{color:var(--tx-3)}.sv-empty{padding:24px;font-size:13px;color:var(--tx-3)}.tv-crumbs{display:flex;align-items:center;gap:4px;font-size:15px;color:var(--tx-3)}.tv-crumbs button{background:none;border:none;padding:2px 4px;font:600 15px var(--font);color:var(--tx-2);cursor:pointer;border-radius:4px}.tv-crumbs button.on{color:var(--tx-0)}.tv-crumbs button:hover{background:var(--bg-stripe)}.tv-hint{font-size:12px;color:var(--tx-3)}.tv-fields{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px 0}.tv-fields button{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding:5px 12px;font:500 12.5px var(--font);color:var(--tx-1);cursor:pointer}.tv-fields button.on{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}.tv-card .sv-card-head{flex-wrap:wrap}.tv-legend{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:400;color:var(--tx-2)}.tv-legend i{display:inline-block;width:14px;height:8px;border-radius:2px;margin-left:6px}.tv-legend i.band{background:#2b8c8740}.tv-legend i.avg{height:2px;background:#1d5f5b}.tv-legend i.opt{background:#39b54a33}.tv-legend i.safe{height:0;border-top:2px dashed rgba(192,69,42,.7)}.tv-loading{padding:40px;text-align:center;font-size:12px;color:var(--tx-3)}.tv-lines{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 14px 10px}.tv-lines button{display:flex;align-items:center;gap:5px;background:none;border:none;padding:0;font:12px var(--font);color:var(--tx-1);cursor:pointer}.tv-lines button:hover{text-decoration:underline}.tv-lines i{width:12px;height:3px;border-radius:2px}.tv-note{font-size:11px;color:var(--tx-3);padding:0 14px 10px}.tv-now{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}.tv-now-item{display:flex;gap:8px;align-items:baseline;border:1px solid var(--border);background:var(--bg-card);border-radius:6px;padding:5px 10px;font:12px var(--font);color:var(--tx-1);cursor:pointer}.tv-now-item b{font-family:var(--mono)}.tv-now-item.ok{border-color:#39b54a66}.tv-now-item.warn{background:#d6962824;border-color:#d6962880}.tv-now-item.alarm{background:#c0452a1f;border-color:#c0452a80}.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;align-content:start}.tv-grid .sv-card{margin:0}.tv-val{margin-left:auto;font-family:var(--mono);font-size:13px;padding:2px 8px;border-radius:10px}.tv-val.ok{background:var(--ok-bg);color:var(--ok-fg)}.tv-val.warn{background:var(--warn-bg);color:var(--warn-fg)}.tv-val.alarm{background:var(--alarm-bg);color:var(--alarm-fg)}.top-menu{position:relative;flex-shrink:0}.top-menu-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;background:none;border:1px solid var(--border);border-radius:var(--r);font:13px var(--font);color:var(--tx-2);cursor:pointer;white-space:nowrap}.top-menu-btn:hover{border-color:var(--borderl)}.top-menu-btn.active{background:var(--sb-active-bg);color:var(--forest);border-color:#4aada866}.top-menu-btn b{font-weight:600;color:var(--tx-0)}.top-menu-btn.active b{color:var(--forest)}.top-menu-btn.compact{font-family:var(--mono);font-size:12px}.top-menu-chev{font-size:11px;color:var(--tx-3)}.top-menu-list{right:auto}.top-menu-list .site-dropdown-item{padding:8px 12px;font-size:13px}.top-menu-list .site-dropdown-item:disabled{opacity:.45;cursor:default}.top-menu-hint{display:block;font-size:11px;font-weight:400;color:var(--tx-3);margin-top:1px}.gv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;align-content:start}.gv-grid .sv-card{margin:0}.gv-card{display:flex;flex-direction:column;align-items:center;padding:12px 10px 10px}.gv-name{font-size:13px;font-weight:600;color:var(--tx-1);align-self:flex-start}.gv-dial{width:100%;max-width:180px;margin-top:4px}.gv-value{font:700 22px var(--mono);margin-top:-4px}.gv-value span{font:400 12px var(--font);color:var(--tx-3);margin-left:4px}.gv-range{font-size:11px;color:var(--tx-3)}.gv-foot{margin-top:6px;font-size:11px;color:var(--tx-2);display:flex;flex-direction:column;align-items:center;gap:4px}.gv-out{background:#d696282e;color:var(--warn-fg);border:none;border-radius:10px;padding:2px 8px;font:600 11px var(--font);cursor:pointer}.ov-seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;height:28px}.ov-seg button{border:none;background:var(--bg-card);color:var(--tx-2);padding:0 10px;font:500 12px var(--font);cursor:pointer}.ov-seg button+button{border-left:1px solid var(--border)}.ov-seg button.on{background:var(--sb-active-bg);color:var(--forest);font-weight:600}.ov-seg button:disabled{opacity:.45;cursor:default}.ov-save{display:flex;gap:6px;align-items:center}.ov-save input{width:160px;height:28px;font-size:12px}.ov-series{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-card)}.ov-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tx-3)}.ov-preset{border:1px solid var(--border);background:var(--bg-page);border-radius:14px;padding:3px 10px;font:500 12px var(--font);color:var(--tx-1);cursor:pointer}.ov-preset:hover{border-color:var(--teal-d);color:var(--teal-d)}.ov-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:14px;padding:2px 4px 2px 9px;font:500 12px var(--font);color:var(--tx-0);background:var(--bg-card)}.ov-chip i{width:10px;height:10px;border-radius:50%;background:var(--c)}.ov-src{color:var(--tx-3);font-weight:400}.ov-chip button{border:none;background:none;color:var(--tx-3);cursor:pointer;font-size:14px;line-height:1;padding:0 4px;border-radius:50%}.ov-chip button:hover{background:var(--bg-stripe);color:var(--red)}.ov-add{border:1px dashed var(--teal-d);background:none;border-radius:14px;padding:3px 10px;font:600 12px var(--font);color:var(--teal-d);cursor:pointer}.ov-clear{border:none;background:none;font:12px var(--font);color:var(--tx-3);cursor:pointer;text-decoration:underline}.ov-add-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-stripe)}.ov-add-col{display:flex;flex-direction:column;gap:8px;min-width:0}.ov-add-h{font-size:12px;font-weight:600;color:var(--tx-1)}.ov-add-col input{height:30px;font-size:12px}.ov-places{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-card)}.ov-places button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:none;border-bottom:1px solid var(--border);background:none;padding:6px 10px;text-align:left;cursor:pointer;font:12.5px var(--font);color:var(--tx-0)}.ov-places button small{font-size:11px;color:var(--tx-3)}.ov-places button.on{background:var(--sb-active-bg);box-shadow:inset 3px 0 0 var(--teal-d)}.ov-add-actions{display:flex;gap:8px;margin-top:auto}.ov-card{padding:8px 4px 4px}.ov-preset.on{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}.ov-places button em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-d);margin-right:4px}.ov-editor{display:flex;flex-direction:column;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-stripe)}.ov-editor-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ov-editor-row label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--tx-1)}.ov-editor-row label input:not([type]){width:240px;height:30px;font-size:13px;font-weight:400}.ov-editor-h{font-size:12px;font-weight:600;color:var(--tx-1);min-width:80px}.ov-check{font-weight:400!important;cursor:pointer}.ov-check input{width:auto}.ov-editor-actions{border-top:1px solid var(--border);padding-top:10px}.ov-editor .ov-add-panel{border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.ov-lock{font-size:11px;margin-right:4px}.ov-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-left:auto;font-size:12px}.ov-key{display:inline-flex;align-items:center;gap:5px;color:var(--tx-1)}.ov-key i{width:12px;height:3px;border-radius:2px;background:var(--c)}.ov-manage{display:flex;flex-direction:column;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-stripe)}.ov-manage-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ov-manage-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);max-height:320px;overflow:auto}.ov-manage-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border)}.ov-manage-list li:last-child{border-bottom:none}.ov-manage-list li.on{box-shadow:inset 3px 0 0 var(--teal-d)}.ov-manage-list li.dragging{opacity:.4}.ov-manage-list li.locked{background:#00000005}.ov-grip{width:12px;color:var(--tx-3);cursor:grab;-webkit-user-select:none;user-select:none}.ov-manage-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;padding:0;text-align:left;font:600 13px var(--font);color:var(--tx-0);cursor:pointer}.ov-manage-name small{font-weight:400;font-size:11px;color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ov-manage .ov-editor{padding:0;border:none;background:none}.ov-table-card{margin-top:12px}.ov-table{width:100%;border-collapse:collapse;font-size:12.5px}.ov-table th{font-size:11px;font-weight:600;color:var(--tx-2);padding:6px 10px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.ov-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.ov-table tr:last-child td{border-bottom:none}.ov-table .l{text-align:left}.ov-table .num{font-family:var(--mono)}.ov-table .hint{color:var(--tx-3);font-size:11.5px}.ov-table .now{font-weight:700;border-radius:4px}.ov-table .now.ok{color:var(--ok-fg)}.ov-table .now.warn{color:var(--warn-fg);background:#d6962824}.ov-table .now.alarm{color:var(--alarm-fg);background:#c0452a1f}.ov-swatch{display:inline-block;width:12px;height:3px;border-radius:2px;vertical-align:middle}.view-menu .site-dropdown-item{padding:7px 12px;font-size:13px}.view-menu-head{padding:7px 12px 5px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.sv-body>.ov-table-card:first-child{margin-top:0;margin-bottom:12px}.ov-table tr.pick{cursor:pointer}.ov-table tr.pick:hover td{background:var(--bg-stripe)}.rt-sort{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.rt-sort:hover{color:var(--tx-0)}.sidebar-resize{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;z-index:5}.sidebar-resize:hover,.sidebar-resize:active{background:linear-gradient(to right,transparent 2px,var(--teal-d) 2px,var(--teal-d) 4px,transparent 4px)}.gv-part{margin-bottom:12px}.gv-part .sv-card-head{flex-wrap:wrap}.gv-part-name{background:none;border:none;padding:0;font:600 14px var(--font);color:var(--tx-0);cursor:pointer}.gv-part-name:hover{color:var(--teal-d)}.gv-grid-sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:10px}.gv-grid-sm .gv-card{border:none;background:var(--bg-stripe);padding:8px 8px 6px}.gv-grid-sm .gv-dial{max-width:140px}.gv-grid-sm .gv-value{font-size:18px}.tv-parts{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.tv-parts .sv-card{margin:0}.tv-parts .sv-card-head{flex-wrap:wrap}.gp-tag{display:inline-flex;align-items:center;gap:4px;max-width:220px;padding:1px 8px;border-radius:10px;background:var(--ok-bg);color:var(--ok-fg);font-size:11px;font-weight:500;white-space:nowrap;cursor:default}.gp-tag .gp-name{overflow:hidden;text-overflow:ellipsis}.gp-tag b{font-weight:700}.sv-card.st-warn{border-color:var(--amber);box-shadow:inset 0 0 0 2px var(--amber)}.sv-card.st-alarm{border-color:var(--red);box-shadow:inset 0 0 0 2px var(--red)}.gv-grid-sm .gv-card.st-warn,.gv-grid-sm .gv-card.st-alarm{border:3px solid}.gv-grid-sm .gv-card.st-warn{border-color:var(--amber)}.gv-grid-sm .gv-card.st-alarm{border-color:var(--red)}.ov-panels{display:flex;flex-direction:column;gap:12px}.ov-panels .sv-card{margin:0}.ov-panels .sv-card-head{flex-wrap:wrap}.part-title{display:inline-flex;align-items:baseline;gap:0;min-width:0;font-size:14px}.part-title b{font-weight:600;color:var(--tx-0)}.part-parents{color:var(--tx-3);font-weight:400;font-size:12.5px;white-space:pre}.ov-table tr.rt-group td{background:var(--bg-stripe);text-align:left;padding:7px 10px;border-top:1px solid var(--borderl)}.ov-table tr.rt-group .gp-tag{margin-left:8px;vertical-align:middle}.ov-panels>.ov-table-card,.tv-parts>.ov-table-card{margin-top:-4px}.gv-part+.ov-table-card{margin-top:-4px}.ov-panels>.ov-table-card{margin-top:-4px}.part-heading{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--forest);margin:14px 0 2px}.part-heading:first-child{margin-top:0}.tv-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;padding:8px 10px 10px}.tv-mini{border:1px solid var(--border);border-radius:6px;background:var(--bg-stripe);padding:4px 4px 2px}.tv-mini.st-warn{border:2px solid var(--amber)}.tv-mini.st-alarm{border:2px solid var(--red)}.tv-mini-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tx-1);padding:2px 6px}.tv-fields button.on.missing{opacity:.55;border-style:dashed}.tv-fields button.warn{border-color:var(--amber);color:var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--bg-card))}.tv-fields button.alarm{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--bg-card))}.tv-fields button.on.warn{background:var(--amber);border-color:var(--amber);color:#fff}.tv-fields button.on.alarm{background:var(--red);border-color:var(--red);color:#fff}.tv-count{display:inline-block;margin-left:6px;min-width:16px;padding:0 4px;border-radius:8px;font-size:11px;font-weight:700;line-height:15px;text-align:center;color:#fff}.tv-fields button.warn .tv-count{background:var(--amber)}.tv-fields button.alarm .tv-count{background:var(--red)}.tv-fields button.on .tv-count{background:#fff}.tv-fields button.on.warn .tv-count{color:var(--amber)}.tv-fields button.on.alarm .tv-count{color:var(--red)}.tv-missing{padding:14px 16px;font-size:13px;color:var(--tx-1);display:flex;align-items:center;flex-wrap:wrap;gap:4px}.grade{display:inline-grid;place-items:center;font-weight:800;border-radius:8px;color:#fff;flex-shrink:0;font-family:var(--font)}.grade-lg{width:72px;height:72px;font-size:42px;border-radius:14px}.grade-md{width:34px;height:34px;font-size:19px}.grade-sm{width:20px;height:20px;font-size:11px;border-radius:5px;vertical-align:middle}.grade-A{background:#2f9e44}.grade-B{background:#2b8c87}.grade-C{background:#d69628}.grade-D{background:#e0702a}.grade-F{background:#c0452a}.grade-none{background:var(--borderl)}.in-head{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch;margin-bottom:6px}.in-grade{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;min-width:280px}.in-grade-label{font-size:15px;font-weight:600;color:var(--tx-0)}.in-grade-sub{font-size:12px;color:var(--tx-2);margin-top:4px;display:flex;align-items:center;gap:6px}.in-grade-sub .up{color:var(--ok-fg)}.in-grade-sub .down{color:var(--alarm-fg)}.in-tiles{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.in-tile{display:flex;flex-direction:column;gap:3px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.in-tile b{font:700 24px var(--mono);color:var(--tx-0)}.in-tile b small{font-size:13px;color:var(--tx-3);font-weight:400}.in-tile span{font-size:11.5px;color:var(--tx-2)}.in-tile.warn{border-color:var(--amber)}.in-tile.warn b{color:var(--warn-fg)}.in-tile.bad{border-color:var(--red)}.in-tile.bad b{color:var(--alarm-fg)}.in-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-stripe);margin-top:4px}.in-bar.empty{opacity:.5}.in-bar i{display:block;height:100%}.in-bar .ok{background:#39b54a}.in-bar .warn{background:#d69628}.in-bar .alarm{background:#c0452a}.in-parts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-bottom:6px}.in-parts .sv-card{margin:0}.in-part{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.in-part-head{display:flex;align-items:center;gap:10px;min-width:0}.in-part-foot{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--tx-2)}.in-problem{color:var(--warn-fg);font-weight:600}.in-table td{vertical-align:middle}.in-sub{font-size:11px;color:var(--tx-3)}.in-period{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}.in-period:hover{border-color:var(--forest)}.in-period.st-upcoming{opacity:.75}.in-period-title{display:flex;flex-direction:column;min-width:0}.in-period-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.in-weeks{display:flex;flex-wrap:wrap;gap:3px}.in-back{font-size:12px;height:28px;margin-bottom:8px}.in-tag{font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px}.in-tag.warn{background:var(--warn-bg);color:var(--warn-fg)}.in-tag.alarm{background:var(--alarm-bg);color:var(--alarm-fg)}.in-none{padding:14px 16px;font-size:13px;color:var(--ok-fg)}.brand-home{width:100%;background:none;border:none;border-bottom:1px solid var(--sb-border);cursor:pointer;text-align:left;font-family:var(--font)}.brand-home:hover .brand-name{color:var(--teal-d)}.brand-text{min-width:0}.brand-site{text-transform:none;letter-spacing:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi h3{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--forest);margin:16px 0 6px}.kpi-intro,.kpi-hint{font-size:12px;color:var(--tx-2)}.kpi-hint{color:var(--tx-3);margin-top:4px}.kpi-table{border-collapse:collapse;font-size:12.5px}.kpi-table th{font-size:11px;font-weight:600;color:var(--tx-2);text-align:left;padding:4px 14px 4px 0}.kpi-table td{padding:4px 14px 4px 0;color:var(--tx-1)}.kpi-weights{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px}.kpi-weights label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--tx-1)}.kpi-weights select,.kpi-row select{width:auto;height:28px;font-size:12px}.kpi-row{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--tx-1)}.kpi-row label{display:flex;align-items:center;gap:8px}button.gp-tag{border:none;font-family:var(--font);cursor:pointer}button.gp-tag:hover{box-shadow:0 0 0 1px var(--ok-fg)}.pa-for{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;margin-bottom:10px}.pa-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:8px;background:var(--bg-stripe);color:var(--tx-2)}.pa-list{display:flex;flex-direction:column;max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:8px}.pa-item{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;border-bottom:1px solid var(--border);cursor:pointer}.pa-item input{width:auto}.pa-item.on{background:var(--sb-active-bg)}.pa-item small{margin-left:auto;font-size:11px;color:var(--tx-3)}.pa-table input{width:80px;height:26px;font-size:12px;text-align:right}.pa-table tr.pa-dim td{opacity:.55}.pa-error{margin-top:8px;font-size:12px;color:var(--alarm-fg)}.pa-save-as{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:12.5px}.pa-save-as label{display:flex;align-items:center;gap:8px}.pa-save-as input{width:260px;height:28px;font-size:12.5px}.pa-units{border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.pa-units-head{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;font-weight:600;border-bottom:1px solid var(--border)}.pa-units-list{max-height:180px;overflow:auto;display:flex;flex-direction:column}.pa-units-list label{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;cursor:pointer}.pa-units-list input{width:auto}.pa-units-list small{margin-left:auto;color:var(--tx-3);font-size:11px}.pa-name{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-bottom:10px;border:2px solid var(--teal-d);border-radius:8px;background:var(--sb-active-bg)}.pa-name input{height:32px;font-size:13px}.pa-assigned{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:12.5px}.pa-assigned-head{font-weight:600;color:var(--tx-1);margin-bottom:4px}.pa-assigned ul{list-style:none;margin:0;padding:0;max-height:160px;overflow:auto}.pa-assigned li{display:flex;align-items:baseline;gap:8px;padding:2px 0}.pa-assigned li small{color:var(--tx-3);font-size:11px}.pa-assigned li em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:var(--teal-d);text-transform:uppercase}.pa-assigned li.on span{font-weight:600}.ask{margin:14px 0;padding:14px 16px}.ask-h{font-size:13px;font-weight:700;color:var(--forest);margin:4px 0 6px}.ask-h:not(:first-child){margin-top:14px}.ask-said p{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--tx-0)}.ask-checks{margin:6px 0 2px;font-size:12.5px}.ask-checks summary{cursor:pointer;color:var(--teal-d);font-weight:600}.ask-checks ul{margin:3px 0 6px 18px;padding:0}.ask-box{display:flex;gap:8px}.ask-box input{flex:1;height:34px;font-size:13.5px}.ask-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ask-chips button{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:4px 11px;font:500 12px var(--font);color:var(--teal-d);cursor:pointer}.ask-chips button:hover{border-color:var(--teal-d)}.ask-answer{margin-top:12px;padding:10px 12px;border-left:3px solid var(--teal-d);background:color-mix(in srgb,var(--teal-d) 5%,var(--bg-card));border-radius:4px}.ask-answer p{margin:0 0 5px;font-size:13.5px;line-height:1.5}.ask-q{font-weight:600;font-size:13px;margin-bottom:6px;color:var(--tx-1)}.ask-chart{margin:6px 0}.ask-detail{margin-top:6px;font-size:12.5px}.ask-detail summary{cursor:pointer;color:var(--teal-d);font-weight:600;margin-bottom:4px}.in-tabs{padding:14px 0 0}.in-tab-n{display:inline-block;margin-left:6px;min-width:16px;padding:0 4px;border-radius:8px;font-size:11px;font-weight:700;line-height:15px;background:var(--amber);color:#fff}.tv-fields button.on .in-tab-n{background:#fff;color:var(--forest)}.cb{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.cb-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cb-row select,.cb-row input{height:28px;font-size:12.5px;padding:2px 6px;width:auto}.cb-row input[type=number]{width:64px}.cb-row label{display:inline-flex;align-items:center;gap:4px;color:var(--tx-2)}.cb-name{flex:1;min-width:200px}.cb-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tx-3);margin-top:4px}.cb textarea{font-size:12.5px}.cb-say{font-style:italic}.cb-found{margin-top:8px;font-size:12.5px}.cb-found table{margin-top:6px}.in-tile-btn{font:inherit;text-align:left;cursor:pointer;color:inherit}.in-case{margin-top:12px;padding:12px 14px}.in-case.act{border-left:3px solid var(--red)}.in-case-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.in-case table{margin-top:8px}.in-case-checks{margin-top:8px;font-size:12.5px}.in-case-checks ul{margin:3px 0 0 18px;padding:0}.pv-badge{display:inline-block;font-size:11px;font-weight:700;padding:1px 5px;border-radius:3px;white-space:nowrap;vertical-align:middle}.pv-badge.ok{color:var(--teal-d);background:color-mix(in srgb,var(--teal-d) 10%,transparent)}.pv-badge.warn{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent)}.pv-badge.fail{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.pv-badge.none{color:var(--tx-3);background:var(--bg-stripe)}tr.pv-row-fail>td{background:color-mix(in srgb,var(--red) 8%,transparent)}tr.pv-row-warn>td{background:color-mix(in srgb,var(--amber) 9%,transparent)}tr.pv-row-fail>td:first-child{box-shadow:inset 3px 0 0 var(--red)}tr.pv-row-warn>td:first-child{box-shadow:inset 3px 0 0 var(--amber)}input.pv-cell-bad,span.pv-cell-bad{outline:2px solid var(--red);outline-offset:-1px;border-radius:3px;color:var(--red);font-weight:700}tr.pv-flash>td{animation:pv-flash 1.2s ease-out}@keyframes pv-flash{0%{background:color-mix(in srgb,var(--red) 30%,transparent)}}.pv-panel li.pv-goto{cursor:pointer}.pv-panel li.pv-goto:hover{text-decoration:underline}.pv-panel{margin:8px 0 12px;padding:9px 12px;border-radius:6px;font-size:12.5px;border:1px solid var(--border);background:var(--bg-card)}.pv-panel.ok{color:var(--teal-d);border-color:color-mix(in srgb,var(--teal-d) 35%,transparent)}.pv-panel.warn{border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 5%,var(--bg-card))}.pv-panel.fail{border-color:color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 4%,var(--bg-card))}.pv-panel ul{margin:4px 0 6px 18px;padding:0}.sv.in{font-size:15px}.sv.in .tv-hint,.sv.in .tv-note{font-size:13.5px}.sv.in .part-heading{font-size:13.5px;margin-top:20px}.sv.in .in-grade-label{font-size:18px}.sv.in .in-grade-sub{font-size:14px}.sv.in .in-tile b{font-size:30px}.sv.in .in-tile span,.sv.in .in-part-foot{font-size:13.5px}.sv.in .in-sub{font-size:12.5px}.sv.in .in-tag{font-size:13px}.sv.in .in-none{font-size:15px}.sv.in .ov-table{font-size:14.5px}.sv.in .ov-table th{font-size:12.5px;padding:8px 10px}.sv.in .ov-table td{padding:8px 10px}.sv.in .in-tabs button{font-size:14.5px;padding:7px 16px}.sv.in .ask-said p{font-size:16px;line-height:1.6}.sv.in .ask-h{font-size:15px}.sv.in .ask-checks,.sv.in .ask-detail,.sv.in .in-case-checks{font-size:14.5px}.sv.in .ask-chips button{font-size:13.5px;padding:6px 13px}.sv.in .ask-answer p{font-size:15.5px;line-height:1.55}.sv.in .ask-q{font-size:14.5px}.sv.in .ask-box input{height:40px;font-size:15px}.sv.in .ask-box .btn-primary{height:40px;font-size:14px}.sv.in .in-part .part-title,.sv.in .in-part-head{font-size:15px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 20px;color:var(--tx-2)}.loading-wheel,.tv-loading.busy:before{width:46px;height:46px;border:4px solid var(--border);border-top-color:var(--teal-d);border-right-color:var(--teal-d);border-radius:50%;animation:spin .8s linear infinite}.tv-loading.busy:before{width:30px;height:30px;border-width:3px}.loading-msg{font-size:15.5px;font-weight:600;color:var(--tx-1)}.loading-time{font-size:13px;color:var(--tx-3);font-family:var(--mono)}.tv-loading{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px}.tv-loading.busy:before{content:"";display:block}@media (prefers-reduced-motion:reduce){.loading-wheel,.tv-loading.busy:before{animation-duration:2.4s}}.in-refresh{height:28px;font-size:13px;margin-left:8px}.ov-table .rt-tick{width:28px;text-align:center;padding-right:0}.ov-table .rt-tick input{width:15px;height:15px;cursor:pointer;accent-color:var(--teal-d)}.ov-table tr.rt-off td:not(.rt-tick){opacity:.45}.tv-pick-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;box-shadow:0 0 0 1.5px #fff}.tv-pick-hint{align-self:center;margin-left:6px}.tv-multi-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px;margin-bottom:8px}.tv-multi-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.as{padding:0;overflow:hidden}.as-table{width:100%;border-collapse:collapse}.as-table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--tx-2);padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg-stripe)}.as-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.45}.as-table tr:last-child td{border-bottom:none}.as-table tr.pick{cursor:pointer}.as-table tr.pick:hover td{background:var(--bg-stripe)}.as-topic{font-weight:700;white-space:nowrap;width:1%}.as-topic i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle;background:var(--tx-3)}.as-ok .as-topic i{background:#39b54a}.as-warn .as-topic i{background:#d69628}.as-alarm .as-topic i{background:#c0452a}.as-info .as-topic i{background:#3070c0}.as-checks{width:34%}.as-unit{width:22%}.as-checks ul{margin:0;padding-left:16px}.as-checks li{margin:1px 0}.sv.in .as-table{font-size:15px}.sv.in .as-table th{font-size:13px}.sv.in .as-checks{font-size:14px}@media (max-width:760px){.as-table thead{display:none}.as-table tr{display:block;border-bottom:1px solid var(--border)}.as-table td{display:block;border:none;padding:6px 14px}.as-checks{width:auto}}.in-sub-head{font-weight:400;text-transform:none;letter-spacing:0;color:var(--tx-3);margin-left:6px}.as-table th{text-transform:uppercase;letter-spacing:.04em}.as-table th .tv-hint{text-transform:none;letter-spacing:0}.as-topic{text-transform:uppercase;letter-spacing:.03em;font-size:.92em}.in-tabs button{letter-spacing:.05em}.in-pdf{height:30px;font-size:13px;margin-left:6px;align-self:center}.modal.st{max-width:1080px;width:calc(96vw / var(--page-zoom, 1));height:calc(88vh / var(--page-zoom, 1));display:flex;flex-direction:column;padding:0;overflow:hidden}.st-top{flex-shrink:0}.st-wrap{flex:1;display:flex;min-height:0}.st-nav{width:236px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:8px 8px 12px;background:var(--bg-stripe);display:flex;flex-direction:column}.st-group{margin-bottom:8px}.st-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);padding:8px 10px 4px}.st-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;border-radius:7px;cursor:pointer;text-align:left;font:500 13.5px var(--font);color:var(--tx-1)}.st-item:hover{background:var(--bg-card)}.st-item.on{background:var(--bg-card);color:var(--forest);font-weight:700;box-shadow:inset 3px 0 0 var(--teal-d)}.st-item.danger{color:var(--red)}.st-icon{width:20px;text-align:center;flex-shrink:0}.st-label{flex:1}.st-lock{font-size:11px;opacity:.7}.st-soon{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--tx-3);border:1px solid var(--border);border-radius:8px;padding:0 6px}.st-ver{margin-top:auto;padding:12px 10px 0;font-size:11px;color:var(--tx-3)}.st-pane{flex:1;overflow-y:auto;min-width:0}.st-pane .modal-header>button,.st-pane .modal-header>.icon-btn{display:none}.st-pane>.modal{box-shadow:none;max-width:none;width:auto}.st-body{font-size:13.5px;color:var(--tx-1);line-height:1.55;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.st-body p{margin:0}.st-dim{color:var(--tx-3);font-size:12.5px}.st-note{font-size:12.5px;color:var(--tx-2);background:var(--bg-stripe);border-radius:6px;padding:7px 10px;margin-bottom:10px}.st-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.st-facts dt{color:var(--tx-3);font-size:12.5px}.st-facts dd{margin:0}.st-row{display:flex;gap:16px;align-items:center;justify-content:space-between;width:100%;border-top:1px solid var(--border);padding-top:12px}.st-row select{width:auto;height:32px}.st-signout{color:var(--red);margin-top:8px}.st-danger{border:1px solid color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 4%,var(--bg-card));border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.st-about-head{display:flex;gap:14px;align-items:center}.st-about-head img{width:48px;height:48px}.st-about-name{font-size:17px;font-weight:700;color:var(--forest)}.st-about-ver{font-size:13px;color:var(--tx-2)}.st-about p{font-size:13.5px;line-height:1.55}.st-sub{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tx-3);margin-top:12px}.st-licences{padding-left:18px;margin:4px 0}.gps{align-items:stretch}.gps-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.gps .seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;height:30px}.gps .seg button{border:0;background:none;color:var(--tx-2);padding:0 12px;font:500 13px var(--font);cursor:pointer}.gps .seg button+button{border-left:1px solid var(--border)}.gps .seg button.on{background:var(--bg-stripe);color:var(--tx-1)}.gps-table{border-collapse:collapse;font-size:13px;width:100%}.gps-table th{font-size:11px;font-weight:600;color:var(--tx-2);text-align:left;padding:4px 12px 6px 0;border-bottom:1px solid var(--border)}.gps-table td{padding:6px 12px 6px 0;border-bottom:1px solid var(--border);color:var(--tx-1)}.gps-running{color:var(--green);font-weight:600}.gps-upcoming{color:var(--tx-3);font-size:11.5px;font-weight:600}.gps-edit{height:26px;font-size:12px;padding:0 10px}.gps-form{display:flex;flex-direction:column;gap:12px;max-width:520px}.gps-form h3{margin:0;font-size:15px}.gps-form>label,.gps-dates label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--tx-2)}.gps-form input:not([type=checkbox]),.gps-form select{height:32px;border:1px solid var(--border);border-radius:var(--r);padding:0 8px;font:14px var(--font);color:var(--tx-1);background:var(--bg-card)}.gps-form small{font-weight:400;color:var(--tx-3);font-size:12px}.gps-check{display:inline-flex;align-items:center;gap:6px;font-weight:400}.gps-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gps-actions{display:flex;gap:8px;justify-content:flex-end}.gps-error{color:var(--red);font-size:12.5px;margin:0}@media (max-width:760px){.st-wrap{flex-direction:column}.st-nav{width:auto;max-height:calc(40vh / var(--page-zoom, 1));border-right:none;border-bottom:1px solid var(--border)}}.ov-table th.rt-num,.ov-table td.num{width:1%;padding-left:12px;padding-right:12px}.ov-table .rt-opt{width:1%;white-space:nowrap;padding-right:14px}.ov-table td.rt-tick,.ov-table th.rt-tick{width:1%;padding:6px 4px 6px 10px}.rt-tick-in{display:inline-flex;align-items:center;gap:6px}.ov-table th.rt-head .rt-sort{font-size:13.5px;font-weight:700;color:var(--tx-0);text-transform:none;letter-spacing:0}.ov-table th.rt-head{text-align:left}.sbi-note{flex-shrink:0;font-size:12.5px;padding:7px 10px;border-radius:6px;background:#4aada812;border:1px solid rgba(74,173,168,.25)}.sbi-note select{height:24px;font-size:12px;width:auto;padding:0 6px}.sbi-opts{flex-shrink:0;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.sbi-opts label{display:flex;gap:8px;align-items:flex-start;line-height:1.45}.sbi-opts input{margin-top:2px;flex-shrink:0}.sie-note{font-size:12px;color:var(--tx-2);background:var(--bg-stripe);border-radius:6px;padding:7px 10px}.sie-details{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.sie-h{font-size:11px;font-weight:700;color:var(--tx-2);text-transform:uppercase;letter-spacing:.05em}.sie-details label{display:flex;gap:8px;align-items:flex-start;line-height:1.45;cursor:pointer}.sie-details input{margin-top:2px;flex-shrink:0;accent-color:var(--teal-d)}.sie-pick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-left:24px}.sie-pick select{height:28px;width:auto;font-size:12.5px}.sie-build{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:12.5px;color:var(--tx-2);max-width:420px;margin:0 auto}.sie-build button{min-width:260px;justify-content:center}.tp{position:relative;display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:visible;background:var(--bg-card);flex-shrink:0}.tp>button{border:none;background:none;padding:4px 9px;font:500 12.5px var(--font);color:var(--tx-2);cursor:pointer;border-right:1px solid var(--border);white-space:nowrap}.tp>button:last-of-type{border-right:none}.tp-win{align-self:center;padding:0 8px;font-size:11.5px;color:var(--tx-2);white-space:nowrap}.tp>button.on{background:var(--forest);color:var(--on-forest);font-weight:700}.tp-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:250px}.tp-pop label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--tx-2)}.tp-pop input{height:30px;font-size:13px}.tp-quick{display:flex;gap:6px}.tp-quick button{flex:1;border:1px solid var(--border);background:none;border-radius:5px;padding:3px 0;font:12px var(--font);color:var(--teal-d);cursor:pointer}.sb-where{flex-shrink:0;padding:10px 8px 8px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--sb-border)}.sb-where .split-btn{width:100%}.sb-where .split-btn>button:first-child{flex:1;justify-content:flex-start}.sb-where .site-switcher,.sb-where .site-btn{width:100%}.sb-where .site-btn-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-where .site-dropdown{min-width:100%;max-height:calc(60vh / var(--page-zoom, 1));overflow-y:auto}.sb-ver{font-size:11px;color:var(--tx-3);padding:6px 10px 2px}.tb-views{display:flex;align-items:center;gap:2px;margin-right:28px;background:var(--bg-stripe);border:1px solid var(--border);border-radius:8px;padding:2px}.tb-views>button{border:none;background:none;padding:5px 13px;border-radius:6px;font:600 13.5px var(--font);color:var(--tx-2);cursor:pointer}.tb-views>button.on{background:var(--bg-card);color:var(--forest);box-shadow:0 1px 3px #0000001f}.tb-views .top-menu-btn,.tb-views>div>button{border:none!important;background:none}.tb-back{font-weight:600;color:var(--forest);margin-right:28px}.um{position:relative}.um-btn{font-size:12.5px;height:30px;padding:0 9px;display:flex;align-items:center;gap:6px}.um-role{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:7px;background:#0000000f;color:var(--tx-2)}.um-admin{background:#c0452a1f;color:var(--red)}.um-editor{background:#4aada824;color:var(--teal-d)}.um-chev{font-size:11px;color:var(--tx-3)}.um-pop{left:auto;right:0;min-width:250px}.um-who{padding:10px 14px;font-size:14px;color:var(--tx-1);border-bottom:1px solid var(--border)}.um-who div{margin-top:1px;font-size:12px;color:var(--tx-3)}.um-pop .site-dropdown-item,.um-row{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 14px;font-size:14px;font-weight:400;line-height:1.2;color:var(--tx-1)}.um-i{flex:none;width:22px;font-size:15px;line-height:1;text-align:center}.um-label{flex:1;min-width:0}label.um-row{cursor:pointer}.um-row input[type=checkbox]{flex:none;width:16px;height:16px;margin:0;accent-color:var(--teal-d);cursor:pointer}.um-sub{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);padding:4px 12px 0}.da-update{padding:9px 12px;margin:0 0 12px;border:1px solid var(--teal-d);border-radius:var(--r);background:#4aada81a;color:var(--tx-0);font-size:13px}.um-ts-row{display:flex;gap:3px}.um-ts-row button{min-width:30px;height:28px;padding:0 8px;font:600 13px var(--font);border:1px solid var(--border);border-radius:var(--r);background:var(--bg-row);color:var(--tx-1);cursor:pointer}.um-ts-row button.on{background:var(--teal-d);border-color:var(--teal-d);color:#fff}.um-ts-row button:disabled{opacity:.4;cursor:default}.um-ts-note{padding:0 14px 8px 46px;font-size:12px;color:var(--tx-3);line-height:1.4;max-width:280px}.um-pop small{color:var(--tx-3);margin-left:4px}.um-pop .um-out{color:var(--red)}.map-fit{position:absolute;top:84px;left:10px;z-index:1000;width:34px;height:34px;border-radius:4px;border:2px solid rgba(0,0,0,.2);background:#fff;color:#333;font-size:17px;line-height:1;cursor:pointer;background-clip:padding-box}.map-fit:hover{background:#f4f4f4}.map-style{position:absolute;right:10px;bottom:26px;z-index:1000;display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid var(--bd, rgba(0,0,0,.15));background:var(--bg-1, #fff);box-shadow:0 1px 4px #0000002e}.map-style button{border:0;background:none;padding:6px 11px;font:600 12px var(--font);color:var(--tx-2, #555);cursor:pointer}.map-style button+button{border-left:1px solid var(--bd, rgba(0,0,0,.12))}.map-style button.on{background:var(--forest, #2d6a4f);color:#fff}.map-arrange{position:absolute;left:10px;bottom:26px;z-index:1000;padding:7px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--bd, rgba(0,0,0,.15));background:var(--bg-1, #fff);color:var(--tx-1, #222);font:600 12px var(--font);box-shadow:0 1px 4px #0000002e}.map-arrange.on{background:var(--forest, #2d6a4f);color:#fff}.map-arrange:disabled{opacity:.55;cursor:not-allowed}.map-area-label{background:#ffffffe0;border:none;box-shadow:0 1px 3px #00000040;border-radius:4px;padding:2px 7px;font:700 12px var(--font);color:#1d3b30}.map-area-label:before{display:none}.map-area-building{color:#5b4520}.areas-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:calc(100% - 140px);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:6px 8px;box-shadow:0 2px 8px #0000002e;font-size:12.5px}.areas-bar input{width:150px}.areas-hint{color:var(--tx-3);font-size:12px}.areas-kinds{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.areas-kinds button{border:none;background:none;padding:4px 8px;cursor:pointer;font:600 12px var(--font);color:var(--tx-2)}.areas-kinds button+button{border-left:1px solid var(--border)}.areas-kinds button.on{background:var(--forest);color:#fff}.areas-colors{display:flex;gap:3px}.areas-colors button{width:16px;height:16px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.areas-colors button.on{border-color:var(--tx-0);box-shadow:0 0 0 1px #fff inset}.areas-del{color:#c0452a}.phone{display:flex;flex-direction:column;height:calc(100vh / var(--page-zoom, 1));height:calc(100dvh / var(--page-zoom, 1));overflow:hidden;background:var(--bg-page);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.ph-top{display:flex;align-items:center;gap:6px;min-height:52px;padding:0 6px 0 10px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;position:relative;z-index:1000}.ph-logo{background:none;border:none;padding:0;display:flex;cursor:pointer}.ph-logo img{width:32px;height:32px;border-radius:6px}.ph-title{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;font:600 17px var(--font);color:var(--tx-0);line-height:1.25}.ph-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-title small{font-size:var(--ph-small);font-weight:400;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-title-text{min-width:0;display:flex;flex-direction:column}.ph-title-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-title-btn{flex-direction:row;align-items:center;gap:6px;background:none;border:none;cursor:pointer;text-align:left;padding:6px 0}.ph-chev{color:var(--tx-3);font-size:14px;flex-shrink:0}.ph-icon{background:none;border:none;min-width:44px;height:44px;font-size:22px;line-height:1;color:var(--tx-1);cursor:pointer;border-radius:8px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.ph-back{font-size:34px;font-weight:300;color:var(--teal-d);min-width:32px;padding:0 4px 4px 0;text-align:left}.ph-menu{position:relative}.ph-pop{position:absolute;right:0;top:calc(100% + 4px);min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #0003;padding:6px;display:flex;flex-direction:column}.ph-pop button{background:none;border:none;text-align:left;padding:12px;font:500 16px var(--font);color:var(--tx-0);border-radius:8px;cursor:pointer}.ph-pop button:active{background:var(--bg-stripe)}.ph-pop hr{border:none;border-top:1px solid var(--border);margin:4px 0}.ph-pop .ph-out{color:var(--red)}.ph-ver{font-size:11px;color:var(--tx-3);padding:6px 12px 4px}.ph-body,.ph-screen{flex:1;min-height:0;display:flex;flex-direction:column}.ph-pull{flex-shrink:0;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;font:500 13px var(--font);color:var(--tx-3);transition:height .15s ease-out}.ph-pull span{padding-bottom:12px}.ph-pull.busy span{color:var(--teal-d)}.ph-pull.ok span{color:var(--ok-fg)}.ph-pull.bad span{color:var(--warn-fg)}.ph-spin{display:inline-block;font-style:normal;animation:ph-spin .8s linear infinite}@keyframes ph-spin{to{transform:rotate(360deg)}}.ph-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:14px 14px calc(24px + env(safe-area-inset-bottom))}.ph-empty{padding:28px 18px;font-size:15px;color:var(--tx-2);text-align:center}.ph-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);margin:20px 4px 8px}.ph-h-btn{display:block;width:calc(100% - 8px);text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font)}.ph-h-n{font-weight:500;letter-spacing:0;margin-left:4px}.ph-hero{display:flex;align-items:center;gap:12px;padding:18px 16px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border);border-left:6px solid var(--borderl)}.ph-hero.checking{border-left-color:var(--tx-3)}.ph-hero.checking .ph-hero-text b{color:var(--tx-2)}.ph-hero.ok{border-left-color:#2f9e44}.ph-hero.warn{border-left-color:#d69628}.ph-hero.alarm{border-left-color:#c0452a}.ph-hero-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ph-hero-text b{font-size:22px;font-weight:600;color:var(--tx-0);line-height:1.2}.ph-hero.ok .ph-hero-text b{color:var(--ok-fg)}.ph-hero.alarm .ph-hero-text b{color:var(--alarm-fg)}.ph-hero.warn .ph-hero-text b{color:var(--warn-fg)}.ph-hero-text span{font-size:var(--ph-small);color:var(--tx-2)}.ph-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px;margin-bottom:8px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--borderl);border-radius:12px;text-align:left;cursor:pointer;font-family:var(--font);color:var(--tx-0)}.ph-row.warn{border-left-color:#d69628}.ph-row.alarm{border-left-color:#c0452a}.ph-row.on{border-left-color:var(--teal-d)}.ph-row:active{background:var(--bg-stripe)}.ph-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ph-row-text b{font-size:16px;font-weight:600}.ph-row-text small{font-size:var(--ph-small);color:var(--tx-3)}.ph-out-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.ph-chip{font-size:var(--ph-small);padding:3px 9px;border-radius:7px}.ph-chip b{font-family:var(--mono);font-weight:600}.ph-chip i{font-style:normal;opacity:.75}.ph-chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.ph-chip.alarm{background:var(--alarm-bg);color:var(--alarm-fg)}.ph-chip.ok,.ph-chip.none{background:var(--surface-2,rgba(120,120,120,.1));color:var(--tx-2)}.ph-tick{color:var(--teal-d);font-weight:700}.ph-row.ph-site{padding:0;gap:0;cursor:default;overflow:hidden}.ph-site-pick{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:13px 6px 13px 14px;background:none;border:none;text-align:left;cursor:pointer;font-family:var(--font);color:inherit}.ph-star{align-self:stretch;padding:0 16px;background:none;border:none;border-left:1px solid var(--border);font-size:20px;color:var(--tx-3);cursor:pointer}.ph-star.on{color:#e0a800}.ph-note{font-size:var(--ph-small);color:var(--tx-3);text-align:center;padding:6px 12px 14px;line-height:1.45}.ph-silent{display:flex;justify-content:space-between;width:100%;margin-top:14px;padding:12px 14px;background:none;border:1px dashed var(--border);border-radius:12px;font:500 14px var(--font);color:var(--tx-2);cursor:pointer;margin-bottom:8px}.ph-ask{display:block;width:100%;margin-top:20px;height:50px;border-radius:12px;border:none;background:var(--forest);color:var(--on-forest);font:600 16px var(--font);cursor:pointer}.ph-foot{font-size:var(--ph-small);color:var(--tx-3);text-align:center;margin:16px 12px 0;line-height:1.5}.ph-updated{font-size:var(--ph-small);color:var(--tx-3);margin:0 4px 10px}.ph-reading{padding:12px 14px;margin-bottom:8px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid #2f9e44;border-radius:12px}.ph-reading.warn{border-left-color:#d69628}.ph-reading.alarm{border-left-color:#c0452a}.ph-reading.none{border-left-color:var(--borderl)}.ph-reading-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px;color:var(--tx-1)}.ph-reading-head b{font-family:var(--mono);font-size:22px;color:var(--tx-0)}.ph-reading.warn .ph-reading-head b{color:var(--warn-fg)}.ph-reading.alarm .ph-reading-head b{color:var(--alarm-fg)}.ph-reading-head small{font-size:var(--ph-small);font-family:var(--font);color:var(--tx-3);font-weight:400}.ph-reading-range{font-size:var(--ph-small);color:var(--tx-3)}.ph-spark{margin-top:8px}.ph-spark-note{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--ph-small);color:var(--tx-2);margin-top:4px}.ph-spark-note span{color:var(--tx-3)}.ph-ask-screen .sv-card{border-radius:12px;padding:12px}.ph-ask-screen .ask-box{display:flex;flex-direction:column;gap:8px}.ph-ask-screen .ask-box button{height:44px}.ph-ask-screen details{overflow-x:auto}.phone input,.phone textarea,.phone select{font-size:16px}.phone .toast-stack{left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.phone .toast{max-width:none}@media (max-width:760px){input,select,textarea{font-size:16px!important}}.phone{width:100%;max-width:calc(100vw / var(--page-zoom, 1))}.tv-case{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--tx-1);background:#7a5fcc1a;border:1px solid rgba(122,95,204,.35);border-radius:14px;padding:2px 4px 2px 10px;white-space:nowrap}.tv-case>i{width:10px;height:10px;border-radius:2px;background:#7a5fcc59;border:1px dashed #7a5fcc}.tv-case b{font-weight:600;color:var(--tx-0)}.tv-case.act{border-color:#c0452a73}.tv-case-when{color:var(--tx-3);font-family:var(--mono);font-size:11px}.tv-case button{background:none;border:none;color:var(--tx-3);cursor:pointer;font-size:12px;padding:0 4px;border-radius:8px}.tv-case button:hover{color:var(--tx-0);background:var(--bg-stripe)}.gv-out+.tv-case{margin-left:8px}.sp-case{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:6px;padding:0 6px 0 0}.sp-case.on{border-color:var(--teal-d);background:#4aada80f}.sp-case-name{flex:1;min-width:0;text-align:left;padding:6px 8px;background:none;border:none;cursor:pointer;font:12px var(--font);color:var(--tx-1);overflow-wrap:anywhere}.sp-case.paused .sp-case-name{color:var(--tx-3)}.sp-auto{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--tx-2);cursor:pointer;white-space:nowrap}.sp-auto input{width:auto;margin:0}.sp-case.paused .sp-auto{color:var(--amber)}.modal.da{max-width:600px}.da-lead{font-size:13.5px;color:var(--tx-1);margin-bottom:14px}.da-os{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px}.da-os h3{font-size:14px;font-weight:600;color:var(--tx-0);margin-bottom:8px}.da-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.da-dl{text-decoration:none;display:inline-flex;align-items:center;height:32px;padding:0 14px}.da-meta{font-size:12px;color:var(--tx-3);font-family:var(--mono);overflow-wrap:anywhere}.da-how{font-size:12.5px;color:var(--tx-2);margin-top:8px;line-height:1.5}.da-cmd{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--tx-2)}.da-cmd span{width:100%}.da-cmd code{flex:1;min-width:0;font-family:var(--mono);font-size:11.5px;background:var(--bg-stripe);border:1px solid var(--border);border-radius:6px;padding:6px 8px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;color:var(--tx-0)}.da-cmd .btn-ghost{height:28px;font-size:12px}.lp-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.lp-row{display:flex;align-items:stretch;border:1px solid #d8d4c8;border-radius:8px;overflow:hidden;background:#fff}.lp-row:hover{border-color:#4aada8}.lp-pick{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font)}.lp-pick b{font-size:15px;font-weight:600;color:#0b3324}.lp-pick span{font-size:12px;color:#6a7a6a;overflow-wrap:anywhere}.lp-pick:disabled{cursor:wait}.lp-act{background:none;border:none;border-left:1px solid #ece9df;color:#b8b4a8;cursor:pointer;padding:0 11px;font-size:13px}.lp-act:hover{color:#0b3324;background:#f5f3ee}.lp-act.lp-rm:hover{color:#c0452a;background:#fdf0ec}.lp-grip{display:flex;align-items:center;padding:0 4px 0 9px;color:#b8b4a8;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font-size:13px;letter-spacing:-3px}.lp-grip:hover,.lp-grip:focus-visible{color:#0b3324;outline:none}.lp-dragging{border-color:#4aada8;box-shadow:0 4px 14px #0b332426}.lp-dragging .lp-grip{cursor:grabbing;color:#0b3324}.lp-other,.lp-link{align-self:center;background:none;border:none;color:#4aada8;font:13px var(--font);cursor:pointer;padding:4px}.lp-other{padding:6px;font-weight:600}.lp-link{color:#9aaa9a;font-size:12px}.lp-hint{font-size:11.5px;color:#9aaa9a}.lp-server{display:flex;gap:8px}.lp-check{padding:0 14px;border-radius:7px;font:600 13px var(--font);cursor:pointer;background:#fff;color:#4a6a4a;border:1px solid #d0d8cc;white-space:nowrap}.lp-check:hover{border-color:#4aada8;color:#0b3324}.lp-check:disabled{opacity:.7;cursor:wait}.lp-checked{font-size:11.5px;overflow-wrap:anywhere}.lp-checked.ok{color:#2f9e44}.lp-checked.bad{color:#c0452a}.lp-err{font-size:12px;color:#c0452a;padding:8px 10px;background:#c0452a0f;border:1px solid rgba(192,69,42,.2);border-radius:5px;margin-top:10px}.lp-form{border-top:1px solid #ece9df;padding-top:16px}.lp-btns{display:flex;gap:10px;margin-top:4px}.lp-btn{flex:1;padding:12px;border-radius:7px;font:600 14px var(--font);cursor:pointer;background:#fff;color:#0b3324;border:1px solid #0b3324}.lp-btn.primary{background:#0b3324;color:#fff}.lp-btn:disabled{opacity:.7;cursor:wait}.tp-gp{min-width:280px;max-width:360px;max-height:calc(60vh / var(--page-zoom, 1));overflow-y:auto;gap:2px;padding:8px}.tp-gp>button,.tp-gp-group>button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:6px 8px;cursor:pointer;font-family:var(--font);color:var(--tx-0)}.tp-gp button b{font-size:13px;font-weight:600}.tp-gp button span{font-size:11.5px;color:var(--tx-3)}.tp-gp button:hover{background:var(--bg-stripe)}.tp-gp button.on{background:var(--sb-active-bg);border-color:#4aada859}.tp-gp-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);padding:8px 8px 2px}.tp-gp-note{font-size:12px;color:var(--tx-3);padding:6px 8px;line-height:1.45}.tp-gp button:disabled{opacity:.6;cursor:default}.tp-gp>button.tp-gp-new{flex-direction:row;justify-content:center;margin-top:6px;border:1px dashed var(--borderl);color:var(--teal-d);font:600 12.5px var(--font)}.dti{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.dti input{width:auto}.dti-t{background:none;border:none;color:var(--teal-d, #4aada8);font:12px var(--font);cursor:pointer;padding:2px 4px;white-space:nowrap}.dti-t:disabled{opacity:.5;cursor:default}.tp-gp-row{display:flex;align-items:stretch;gap:2px}.tp-gp-row>button:first-child{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:6px 8px;cursor:pointer;font-family:var(--font);color:var(--tx-0)}.tp-gp .tp-gp-edit{flex:none;width:30px;align-items:center;justify-content:center;flex-direction:row;color:var(--tx-3);font-size:13px;padding:0}.tp-gp .tp-gp-edit:hover{color:var(--tx-0)}.tp-name{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:8px}.tp-name small{font-weight:400;color:var(--tx-3)}.tp-err{font-size:12px;color:var(--red)}.tp-actions{display:flex;gap:6px}.tp-actions .btn-primary{flex:1}.tp-names{border-top:1px solid var(--border);padding-top:4px;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.tp-name-row{display:flex;align-items:stretch;border-radius:6px}.tp-name-row.on{background:var(--sb-active-bg)}.tp-name-pick{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;text-align:left;padding:5px 6px;cursor:pointer;font-family:var(--font);color:var(--tx-0);border-radius:6px}.tp-name-pick b{font-size:12.5px;font-weight:600}.tp-name-pick span{font-size:11px;color:var(--tx-3)}.tp-name-pick:hover{background:var(--bg-stripe)}.tp-name-act{background:none;border:none;color:var(--tx-3);cursor:pointer;padding:0 6px;font-size:12px;border-radius:5px}.tp-name-act:hover{color:var(--tx-0);background:var(--bg-stripe)}.tp-cd{min-width:290px}.tp-create{display:flex;flex-direction:column;gap:8px}.tp-names+.tp-create{border-top:1px solid var(--border);padding-top:6px}.tp-cd>.tp-gp-new{flex-direction:row;justify-content:center;margin-top:4px;border:1px dashed var(--borderl);background:none;border-radius:6px;padding:7px 8px;color:var(--teal-d);font:600 12.5px var(--font);cursor:pointer}.tp-pop>.tp-clear{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;padding:6px 8px 8px;margin-bottom:4px;cursor:pointer;font-family:var(--font);color:var(--tx-0)}.tp-pop>.tp-clear b{font-size:13px;font-weight:600}.tp-pop>.tp-clear span{font-size:11.5px;color:var(--tx-3)}.tp-pop>.tp-clear:hover:not(:disabled){background:var(--bg-stripe)}.tp-pop>.tp-clear:disabled{opacity:.5;cursor:default}.tb-views .top-menu-btn{font:600 13.5px var(--font);color:var(--tx-2);height:auto;padding:5px 13px;border-radius:6px}.tb-views .top-menu-btn:hover{color:var(--tx-0)}.tb-views .top-menu-btn.active{background:var(--bg-card)!important;color:var(--forest);box-shadow:0 1px 3px #0000001f}.map-style .map-ov-toggle{margin-left:4px}.map-style .map-ov-toggle.on{background:var(--teal-d, #4aada8);color:#fff}.map-align{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:min(760px,calc(100% - 140px));background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000002e;padding:8px 12px;font-size:12.5px;color:var(--tx-1)}.map-align span{flex:1;min-width:200px;line-height:1.4}.map-align button{height:28px;font-size:12px;white-space:nowrap}.map-align-op{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx-2);white-space:nowrap}.map-align-op input{width:90px}.map-segs{position:absolute;top:12px;right:12px;z-index:1000;width:230px;max-height:calc(100% - 90px);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000002e;padding:6px}.map-segs-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3);padding:4px 6px 6px}.map-seg{display:flex;align-items:center;gap:4px;border-radius:6px}.map-seg.on{background:var(--sb-active-bg)}.map-seg-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;text-align:left;padding:5px 6px;cursor:pointer;font-family:var(--font);color:var(--tx-0);border-radius:6px}.map-seg-name:hover{background:var(--bg-stripe)}.map-seg-name b{font-size:12.5px;font-weight:600}.map-seg-name span{font-size:11px;color:var(--tx-3)}.map-seg-draw{flex:none;background:none;border:1px solid var(--border);border-radius:5px;font:600 11px var(--font);color:var(--teal-d);padding:3px 7px;cursor:pointer}.ib-bell{position:relative;padding:0 9px}.ib-tray{display:inline-block;vertical-align:-.15em;flex:none}.ib-bell .ib-tray{font-size:17px;color:var(--tx-1)}.ph-chip .ib-tray{vertical-align:-.12em}.ib-count{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.ph-icon.ib-bell{font-size:18px}.ph-icon.ib-bell .ib-tray{font-size:22px}.ph-icon.ib-bell .ib-count{top:5px;right:3px}.ib-modal{width:min(620px,calc(100vw - 32px))}.ib{font-size:13px;color:var(--tx-1)}.ib-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--tx-2)}.ib-empty{padding:18px 4px;font-size:13px;color:var(--tx-3);line-height:1.5}.ib-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.ib-list:empty{display:none}.ib-item{border-top:1px solid var(--border)}.ib-item:first-child{border-top:none}.ib-head{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:9px 12px;background:none;border:none;border-left:4px solid var(--ib-read);text-align:left;font:inherit;color:inherit;cursor:pointer}.ib-head:hover{background:var(--bg-stripe)}.ib{--ib-read:rgba(192,69,42,.28);--ib-new:rgba(192,69,42,.07)}:root[data-theme=dark] .ib{--ib-read:rgba(239,125,99,.3);--ib-new:rgba(239,125,99,.1)}.ib-item.unread .ib-head{border-left-color:var(--red);background:var(--ib-new)}.ib-title{font-weight:500}.ib-item.unread .ib-title{font-weight:700}.ib-age{font-size:11px;color:var(--tx-3);white-space:nowrap}.ib-body{grid-column:1/-1;font-size:12px;color:var(--tx-2);line-height:1.4}.ib-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.ib-tags:empty{display:none}.ib-tag{padding:1px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--tx-2)}.ib-tag.open{border-color:var(--red);color:var(--red)}.ib-tag.sim{border-style:dashed}.ib-more{padding:0 12px 10px 15px;font-size:12px;color:var(--tx-2)}.ib-more ul{margin:0 0 6px;padding-left:16px;line-height:1.6}.st-hidden{margin-top:14px;padding-top:4px;border-top:1px solid var(--border)}.st-hidden-opt{display:flex;align-items:flex-start;gap:8px;margin:8px 0;font-size:12.5px;cursor:pointer}.st-hidden-opt>span{display:flex;flex-direction:column;gap:1px}.ds-switch{display:inline-flex;flex:none;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.ds-switch button{height:26px;padding:0 8px;background:var(--bg-row);border:none;border-left:1px solid var(--border);font:500 11px var(--font);color:var(--tx-2);cursor:pointer}.ds-switch button:first-child{border-left:none}.ds-switch button:disabled{opacity:.45;cursor:default}.ds-switch button.on{color:#fff;background:var(--tx-2);opacity:1}.ds-switch button.on.simulated{background:var(--teal-d)}.ds-switch button.on.offline{background:var(--red)}.ds-level{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 10px;border-top:1px solid var(--border);font-size:12px;color:var(--tx-2)}.ds-level>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone{--ph-small:14px}.phone .ib{font-size:var(--ph-small)}.phone .ib-bar{flex-wrap:wrap;gap:6px 12px;font-size:var(--ph-small);margin-bottom:10px}.phone .ib-list{background:var(--bg-card)}.phone .ib-head{gap:4px 10px;padding:12px 14px}.phone .ib-title{font-size:16px}.phone .ib-age,.phone .ib-body,.phone .ib-tag,.phone .ib-more,.phone .ib-empty{font-size:var(--ph-small)}.phone .ib-tags{margin-top:5px;gap:6px}.phone .ib-tag{padding:2px 8px}.ph-hero-btn{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.ph-hero-btn>.ph-chev{font-size:22px;color:var(--tx-3)}.ph-reading.stale .ph-reading-head b{color:var(--tx-3)}.ib-link{padding:6px 0;background:none;border:none;font:inherit;color:var(--teal-d);text-align:left;cursor:pointer}.ib-rows{list-style:none;margin:0!important;padding:0!important;border-top:1px solid var(--border)}.ib-rows>li+li{border-top:1px solid var(--border)}.ib-row{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 0;background:none;border:none;font:inherit;color:inherit;text-align:left}button.ib-row{cursor:pointer}.ib-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ib-row-text b{font-weight:500;color:var(--tx-1)}.ib-row-text small{font-size:11px;color:var(--tx-3)}.ib-row-value{flex:none;font-weight:600;color:var(--red);white-space:nowrap}.ib-row-value.cleared{font-weight:400;color:var(--tx-3)}.phone .ib-row{min-height:52px;font-size:var(--ph-small)}.phone .ib-row-text b{font-size:15px}.phone .ib-row-text small{font-size:13px}.ib-bar>label:first-child{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.ib-heading{margin:0}.ib-switch{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:32px;cursor:pointer;color:var(--tx-2);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.ib-switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ib-switch input:disabled{cursor:default;pointer-events:none}.ib-switch i{position:relative;flex:none;width:38px;height:22px;border-radius:11px;background:var(--border);transition:background .15s}.ib-switch i:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .15s}.ib-switch input:checked~i{background:var(--tx-2)}.ib-switch input:checked~i:after{transform:translate(16px)}.ib-switch input:focus-visible~i{outline:2px solid var(--tx-2);outline-offset:2px}.ib-switch input:disabled~i{opacity:.5}.phone .ib-bar{flex-wrap:nowrap;margin:20px 4px 8px}.phone .ib-switch{min-height:44px}.ph-top .ib-bell{min-width:38px}.st-hidden-opt select{align-self:center}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(./ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}
