.suggestions-nowrap{white-space:nowrap}.suggestions-input{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.suggestions-input::-ms-clear{display:none}.suggestions-wrapper{position:relative;margin:0;padding:0;vertical-align:top;-webkit-text-size-adjust:100%}.suggestions-suggestions{background:#fff;border:1px solid #999;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:default;left:0;min-width:100%;position:absolute;z-index:9999;-webkit-text-size-adjust:100%}.suggestions-wrapper:not(.suggestions-wrapper--mobile) .suggestions-suggestion_hidden-desktop{display:none}.suggestions-wrapper--mobile .suggestions-suggestion_hidden-mobile{display:none}.suggestions-suggestions strong{font-weight:400;color:#39f}.suggestions-suggestion{padding:4px;overflow:hidden}.suggestions-suggestion:hover{background:#f7f7f7}.suggestions-selected,.suggestions-selected:hover{background:#f0f0f0}.suggestions-hint{padding:4px;white-space:nowrap;overflow:hidden;color:#777;font-size:85%;line-height:20px;text-overflow:ellipsis}.suggestions-wrapper:not(.suggestions-wrapper--mobile) .suggestions-suggestions--with-promo .suggestions-hint{max-width:calc(100% - 80px);padding-right:0}.suggestions-subtext{color:#777}.suggestions-subtext_inline{display:inline-block;min-width:6em;vertical-align:bottom;margin:0 .5em 0 0}.suggestions-subtext-delimiter{display:inline-block;width:2px}.suggestions-subtext_label{margin:0 0 0 .25em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:0 3px;background:#f5f5f5;font-size:85%}.suggestions-value[data-suggestion-status=LIQUIDATED]{position:relative}.suggestions-value[data-suggestion-status=LIQUIDATED]:after{position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(0,0,0,.4);content:""}.suggestions-promo{font-size:85%;color:#777;padding:4px;text-align:center}.suggestions-promo a{color:#777;display:block;filter:grayscale(100%);line-height:20px;text-decoration:none}.suggestions-promo a:hover{filter:grayscale(0)}.suggestions-promo svg{height:20px;vertical-align:bottom}.suggestions-wrapper:not(.suggestions-wrapper--mobile) .suggestions-suggestions:not(.suggestions-suggestions--nohint) .suggestions-promo{position:absolute;top:0;right:0;text-align:left}

/*!
 * Multiple-Select-Vanilla styling
 * @author zhixin wen <wenzhixin2010@gmail.com>
 * @contributor Ghislain B.
 */.ms-dark-mode{--ms-checkbox-color: rgb(26.2195121951, 188.7804878049, 174.3597560976);--ms-checkbox-hover-color: rgb(28.0853658537, 202.2146341463, 186.7676829268);--ms-checkbox-icon-container-border: 1px solid #797979;--ms-choice-border: 1px solid #757575;--ms-choice-bgcolor: #262b2f;--ms-choice-color: #d4d4d4;--ms-choice-focus-border-color: rgb(23.1097560976, 166.3902439024, 153.6798780488);--ms-choice-focus-box-shadow: 0 0 0 2px rgba(20, 144, 133, 0.2);--ms-drop-background: #2a2f34;--ms-drop-border: 1px solid #585858;--ms-drop-color: #cccccc;--ms-drop-hide-radio-hover-bgcolor: rgb(16.8902439024, 121.6097560976, 112.3201219512);--ms-drop-option-divider-border-top: 1px solid #696969;--ms-drop-scrollbar-color: #828282 #424242;--ms-icon-color: #bcbcbc;--ms-icon-color-hover: #d0d0d0;--ms-option-highlight-bg-color: rgb(13.7804878049, 99.2195121951, 91.6402439024);--ms-ok-button-bg-color: #262b2f;--ms-ok-button-bg-hover-color: #24282c;--ms-ok-button-border-color: #4a4a4a;--ms-ok-button-text-color: rgb(23.1097560976, 166.3902439024, 153.6798780488);--ms-ok-button-text-hover-color: rgb(23.1097560976, 166.3902439024, 153.6798780488);--ms-optgroup-color: #fff;--ms-search-input-bg-color: #2f353a;--ms-search-input-color: #d4d4d4;--ms-search-input-border: 1px solid #757575;--ms-select-all-border-bottom: 1px solid #5d5d5d;--ms-select-all-text-color: #fff;--ms-select-all-text-font-weight: bold}/*!
 * Multiple-Select-Vanilla styling
 * @author zhixin wen <wenzhixin2010@gmail.com>
 * @contributor Ghislain B.
 */.ms-icon-caret{--ms-icon-caret-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-caret-icon-svg) no-repeat;mask:var(--ms-icon-caret-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.ms-icon-close{--ms-icon-close-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-close-icon-svg) no-repeat;mask:var(--ms-icon-close-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.ms-icon-check{--ms-icon-check-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-check-icon-svg) no-repeat;mask:var(--ms-icon-check-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.ms-icon-minus{--ms-icon-minus-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M20 14H4V10H20\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-minus-icon-svg) no-repeat;mask:var(--ms-icon-minus-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.ms-icon-radio{--ms-icon-radio-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M12 3.7c4.6 0 8.3 3.7 8.3 8.3s-3.7 8.3-8.3 8.3-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7z\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-radio-icon-svg) no-repeat;mask:var(--ms-icon-radio-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}.ms-icon-loading{--ms-icon-loading-icon-svg: url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 24 24\" display=\"inline-block\" height=\"1em\" width=\"1em\" vertical-align=\"text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" %3E%3Cpath fill=\"currentColor\" d=\"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z\"/%3E%3C/svg%3E");-webkit-mask:var(--ms-icon-loading-icon-svg) no-repeat;mask:var(--ms-icon-loading-icon-svg) no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}@keyframes icon-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.ms-spin{animation:icon-spin var(--ms-loading-spin-animation, 1.5s infinite linear)}.ms-parent .ms-icon,.ms-drop .ms-icon{display:inline-block;background-color:currentColor;flex-shrink:0;color:var(--ms-icon-color, #444);font-size:var(--ms-icon-size, 1em);height:var(--ms-icon-size, 1em);width:var(--ms-icon-size, 1em)}.ms-parent .ms-icon:hover,.ms-drop .ms-icon:hover{color:var(--ms-icon-color-hover, #303030)}.ms-parent .ms-select-all,.ms-parent li:not(.hide-radio),.ms-drop .ms-select-all,.ms-drop li:not(.hide-radio){cursor:pointer}.ms-parent .ms-select-all.disabled,.ms-parent li:not(.hide-radio).disabled,.ms-drop .ms-select-all.disabled,.ms-drop li:not(.hide-radio).disabled{cursor:default}.ms-parent .ms-select-all .icon-checkbox-container,.ms-parent li:not(.hide-radio) .icon-checkbox-container,.ms-drop .ms-select-all .icon-checkbox-container,.ms-drop li:not(.hide-radio) .icon-checkbox-container{display:inline-flex;align-items:center;justify-content:center;height:var(--ms-checkbox-icon-container-height, 1.05rem);width:var(--ms-checkbox-icon-container-width, 1.05rem);border:var(--ms-checkbox-icon-container-border, 1px solid #d0d0d0);border-radius:var(--ms-checkbox-icon-container-border-radius, 0.125rem)}.ms-parent .ms-select-all .icon-checkbox-container div,.ms-parent li:not(.hide-radio) .icon-checkbox-container div,.ms-drop .ms-select-all .icon-checkbox-container div,.ms-drop li:not(.hide-radio) .icon-checkbox-container div{font-size:14px;color:var(--ms-checkbox-color, #149085)}.ms-parent .ms-select-all .icon-checkbox-container div:hover,.ms-parent li:not(.hide-radio) .icon-checkbox-container div:hover,.ms-drop .ms-select-all .icon-checkbox-container div:hover,.ms-drop li:not(.hide-radio) .icon-checkbox-container div:hover{color:var(--ms-checkbox-hover-color, rgb(18.1341463415, 130.5658536585, 120.5920731707))}.ms-parent .ms-select-all .icon-checkbox-container div.ms-icon-uncheck,.ms-parent li:not(.hide-radio) .icon-checkbox-container div.ms-icon-uncheck,.ms-drop .ms-select-all .icon-checkbox-container div.ms-icon-uncheck,.ms-drop li:not(.hide-radio) .icon-checkbox-container div.ms-icon-uncheck{visibility:hidden}.ms-parent .ms-select-all .icon-checkbox-container.radio,.ms-parent li:not(.hide-radio) .icon-checkbox-container.radio,.ms-drop .ms-select-all .icon-checkbox-container.radio,.ms-drop li:not(.hide-radio) .icon-checkbox-container.radio{border-radius:50%}.ms-parent .ms-select-all .icon-checkbox-container+span,.ms-parent li:not(.hide-radio) .icon-checkbox-container+span,.ms-drop .ms-select-all .icon-checkbox-container+span,.ms-drop li:not(.hide-radio) .icon-checkbox-container+span{display:inline-flex;align-items:center;column-gap:var(--ms-label-column-gap, 0);padding-left:var(--ms-label-text-padding-left, 8px)}.ms-offscreen{clip:rect(0 0 0 0) !important;width:1px !important;height:1px !important;border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;position:absolute !important;outline:0 !important;left:auto !important;top:auto !important}.ms-parent{display:inline-block;position:relative;vertical-align:middle}.ms-choice{display:flex;align-items:center;cursor:pointer;width:100%;overflow:hidden;height:var(--ms-choice-height, 26px);padding:var(--ms-choice-padding, 0 6px 0 8px);background-color:var(--ms-choice-bgcolor, #fff);border:var(--ms-choice-border, 1px solid #d0d0d0);border-radius:var(--ms-choice-border-radius, 4px);line-height:var(--ms-choice-line-height, 26px);color:var(--ms-choice-color, #444);text-align:var(--ms-choice-text-align, left);outline:var(--ms-drop-outline, 0);text-decoration:none;user-select:none;white-space:nowrap}.ms-choice:focus{border-color:var(--ms-choice-focus-border-color, rgb(219.8780487805, 250.1219512195, 247.4390243902));box-shadow:var(--ms-choice-focus-box-shadow, 0 0 0 1.5px rgba(20, 144, 133, 0.35))}.ms-choice.disabled{border:var(--ms-choice-disabled-border, 1px solid #ddd);background-color:var(--ms-choice-disabled-bgcolor, #f4f4f4);background-image:none;cursor:default}.ms-choice>span{display:flex;flex:1;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;column-gap:var(--ms-label-column-gap, 0)}.ms-choice>span.ms-placeholder{color:var(--ms-placeholder-color, #999)}.ms-choice>div.ms-icon-close{margin-right:2px}.ms-choice>div.ms-icon-caret{height:var(--ms-chevron-icon-size, 1.2em);width:var(--ms-chevron-icon-size, 1.2em)}.ms-choice>div.ms-icon-caret.open{transform:scaleY(-1)}.ms-drop{width:auto;min-width:100%;overflow:hidden;display:none;position:absolute;background:var(--ms-drop-background, #fff);border:var(--ms-drop-border, 1px solid #d0d0d0);border-radius:var(--ms-drop-border-radius, 4px);color:var(--ms-drop-color, #000);margin-top:var(--ms-drop-margin-top, -1px);padding:var(--ms-drop-padding, 0);z-index:var(--ms-drop-zindex, 1050)}.ms-drop.bottom{top:100%;box-shadow:var(--ms-drop-bottom-box-shadow, 0 4px 5px rgba(0, 0, 0, 0.15))}.ms-drop.top{bottom:100%;box-shadow:var(--ms-drop-top-box-shadow, 0 -4px 5px rgba(0, 0, 0, 0.15))}.ms-drop .ms-select-all{border-bottom:var(--ms-select-all-border-bottom, 1px solid #ddd);line-height:var(--ms-select-all-line-height, 18px);padding:var(--ms-select-all-padding, 4px);width:100%}.ms-drop .ms-select-all:hover{background-color:var(--ms-select-all-text-hover-color, transparent)}.ms-drop .ms-select-all.highlighted{background-color:var(--ms-option-highlight-bg-color, rgba(20, 144, 133, 0.08))}.ms-drop .ms-select-all label{display:inline-flex;align-items:center;font-weight:var(--ms-select-all-text-font-weight, normal);padding:var(--ms-select-all-label-padding, 4px);border:var(--ms-select-all-label-border, 1px solid transparent);color:var(--ms-select-all-text-color, rgb(16.8902439024, 121.6097560976, 112.3201219512));width:100%}.ms-drop .ms-select-all label:hover{cursor:pointer;border:var(--ms-select-all-label-hover-border, 1px solid transparent)}.ms-drop .ms-select-all label input{opacity:0;width:0;margin-left:0}.ms-drop .ms-select-all label div{display:inline-flex}.ms-drop .ms-ok-button{cursor:pointer;display:block;padding:var(--ms-ok-button-padding, 0);width:var(--ms-ok-button-width, 100%);height:var(--ms-ok-button-height, 26px);border-color:var(--ms-ok-button-border-color, #ccc);border-radius:var(--ms-ok-button-border-radius, 0 0 4px 4px);border-width:var(--ms-ok-button-border-width, 1px 0 0 0);text-align:var(--ms-ok-button-text-align, center);color:var(--ms-ok-button-text-color, #149085);font-weight:var(--ms-ok-button-font-weight, 600);background-color:var(--ms-ok-button-bg-color, #fff)}.ms-drop .ms-ok-button:hover{background-color:var(--ms-ok-button-bg-hover-color, #f9f9f9);color:var(--ms-ok-button-text-hover-color, rgb(16.8902439024, 121.6097560976, 112.3201219512))}.ms-search{display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;white-space:nowrap;width:100%;margin:var(--ms-search-margin, 0);min-height:var(--ms-search-min-height, 26px);padding:var(--ms-search-padding, 4px);z-index:var(--ms-search-zindex, 10000)}.ms-search input{box-shadow:none;font-family:sans-serif;height:auto !important;width:100%;color:var(--ms-search-input-color, #444);background-color:var(--ms-search-input-bg-color, #fff);border:var(--ms-search-input-border, 1px solid #b9b9b9);border-radius:var(--ms-search-input-border-radius, 5px);min-height:var(--ms-search-input-min-height, 24px);outline:var(--ms-search-input-outline, 0);padding:var(--ms-search-input-padding, 0 5px);margin:var(--ms-search-input-margin, 0)}.ms-search input::placeholder{color:var(--ms-search-input-placeholder, #999)}.ms-search span.ms-icon-close{cursor:pointer;height:var(--ms-icon-size, 1em);margin:var(--ms-search-icon-close-margin, 0 4px 0 7px)}.ms-drop ul{overflow:auto;outline:var(--ms-drop-outline, 0);margin:var(--ms-drop-list-margin, 0px);padding:var(--ms-drop-list-padding, 0px);scrollbar-color:var(--ms-drop-scrollbar-color, #c1c1c1 #f1f1f1)}.ms-drop ul>li{cursor:pointer;background-image:none;list-style:none;position:static;align-items:var(--ms-drop-list-item-align-items, center);display:var(--ms-drop-list-item-display, flex);padding:var(--ms-drop-list-item-padding, 0)}.ms-drop ul>li .disabled{cursor:default;font-weight:normal !important;opacity:var(--ms-drop-list-item-disabled-opacity, 0.35);filter:var(--ms-drop-list-item-disabled-filter, Alpha(Opacity=35))}.ms-drop ul>li.multiple{display:block;float:left}.ms-drop ul>li.group{clear:both}.ms-drop ul>li.multiple label{width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-drop ul>li label{cursor:pointer;display:flex;align-items:center;font-weight:normal;position:relative;white-space:nowrap;flex:0 0 100%;margin-bottom:var(--ms-label-margin-bottom, 0);min-height:var(--ms-label-min-height, 1.25rem);padding:var(--ms-label-padding, 0.25rem 8px)}.ms-drop ul>li label.optgroup{color:var(--ms-optgroup-color, #000);font-weight:var(--ms-drop-optgroup-font-weight, bold)}.ms-drop ul>li.hide-radio{padding:var(--ms-drop-hide-radio-padding, 0)}.ms-drop ul>li.hide-radio:focus,.ms-drop ul>li.hide-radio:hover{background-color:var(--ms-drop-hide-radio-hover-bgcolor, #f8f9fa)}.ms-drop ul>li.hide-radio.selected{color:var(--ms-drop-hide-radio-selected-color, #fff);background-color:var(--ms-drop-hide-radio-selected-bgcolor, #149085)}.ms-drop ul>li.hide-radio label{margin-bottom:var(--ms-drop-hide-radio-label-margin-bottom, 0);padding:var(--ms-drop-hide-radio-label-padding, 5px 8px)}.ms-drop ul>li.hide-radio input{display:none}.ms-drop ul>li.option-level-1 label{padding-left:var(--ms-drop-list-item-level1-padding-left, 8px)}.ms-drop ul>li.option-divider{padding:var(--ms-drop-option-divider-padding, 0);border-top:var(--ms-drop-option-divider-border-top, 1px solid #e9ecef)}.ms-drop ul>li.highlighted{background-color:var(--ms-option-highlight-bg-color, rgba(20, 144, 133, 0.08))}.ms-drop input[type=radio],.ms-drop input[type=checkbox]{opacity:0;width:0;position:absolute;margin-left:var(--ms-drop-input-margin-left, -1.25rem);margin-top:var(--ms-drop-input-margin-top, 0.3rem);accent-color:var(--ms-checkbox-color, #149085)}.ms-drop input:focus{outline:var(--ms-input-focus-outline, none)}.ms-drop .ms-no-results{display:none}.ms-drop .ms-loading{display:flex;align-items:center;gap:var(--ms-loading-gap, 4px);padding:var(--ms-loading-padding, 0.6rem 8px)}.ms-drop .ms-loading .ms-icon-loading{font-size:var(--ms-loading-icon-size, 1.15em);height:var(--ms-loading-icon-size, 1.15em);width:var(--ms-loading-icon-size, 1.15em)}.ms-drop .ms-infinite-option{height:var(--ms-infinite-empty-option-height, 20px)}

html, body {
    margin: 0;
    padding: 0;
    font-family: system-ui, Arial, sans-serif;
    height: 100%;
}

.bg-scrolling-disabled {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
    overscroll-behavior: none;
}

select {
    font-size: 13px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 7px 8px;
    border-radius: 4px;
    border-color: #cccccc;

    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 22px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><path fill=%27%23333%27 d=%27M7 10l5 5 5-5z%27/></svg>");
}

#map {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 1;
}
/* Override Leaflet grab/hand cursors to standard arrow */
.leaflet-container, .leaflet-container:active, .leaflet-grab, .leaflet-dragging {
    cursor: default !important;
}
#control-panel {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 320px;
    max-height: calc(100% - 55px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border-radius: 8px;
    padding: 15px 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    z-index: 500;
}

@media (max-width: 768px) {
    #control-panel {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        padding: 0 12px;
        padding-top: 10px;
        padding-bottom: 15px;
        top: 0;
        left: 0;
        box-sizing: border-box;
        border-radius: 0;
    }

    .close-panel-btn {
        display: initial !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: transparent;
        border: none;
        position: absolute;
        right: 7px;
        top: 4px;
        font-size: 18px;
        z-index: 501;
        cursor: pointer;
        width: 34px;
        height: 34px;
    }

    .close-panel-btn svg {
        vertical-align: middle;
        width: 100%;
    }

    .panel-toggle {
        display: initial !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: transparent;
        border: none;
        position: absolute;
        right: 7px;
        top: 7px;
        font-size: 18px;
        z-index: 2;
        background-color: #fff;
        border-radius: 50%;
        width: 34px;
        height: 34px;
        box-shadow: 1px 1px 10px 1px #bababa;
        cursor: pointer;
    }

    .panel-toggle svg {
        vertical-align: middle;
        width: 100%;
    }
}

.close-panel-btn {
    display: none;
}

.panel-toggle {
    display: none;
}

.form-row {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.form-row label { font-size: 12px; font-weight: 600; color: #333; }

.form-row .form-input {
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 13px;
}

.addr-input, .coords-input {
    background: #fafafa;
}

.checkbox-row {
    flex-direction: row;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 20px;
}

.checkbox-row input {
    top: -3px;
    left: 0;
    position: absolute;
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.checkbox-row label {
    padding-left: 22px;
    position: relative;
    cursor: pointer;
}

.btn {
    width: 100%;
    margin-top: 0;
    padding: 8px 10px;
    border: none;
    background: #1976d2;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}
.btn:hover { background: #145ea9; }
.btn:active { background: #0e4c88; }

.btn-ok {
    background: #1976d2;
}

.btn-cancel {
    background: #b71c1c;
}
.btn-cancel:hover { background: #8f1616; }

.btn-secondary { background:#546e7a; }
.btn-secondary:hover { background:#455a64; }
.btn-secondary:active { background:#37474f; }

#result {
    font-size: 11px;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 10px 0 0;
    width: calc(100% - 15px);
    height: 50px;
    max-height: 200px;
    overflow-y: auto;
    background: #f5f5f5;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.via-row { position: relative; }
.remove-via-btn {
    position: relative;
    background: transparent;
    border: none;
    color: #b00;
    font-size: 23px;
    cursor: pointer;
    margin-top: -2px;
}
.remove-via-btn:hover { color: #e60000; }

/* Context menu */
#context-menu {
    position: absolute;
    list-style: none;
    margin: 0;
    background: #fff;
    min-width: 120px;
    box-shadow: 0 4px 14px rgb(162, 162, 162);
    z-index: 1000;
    font-size: 13px;
    padding: 0;
}
#context-menu.hidden { display: none; }
#context-menu li {
    padding: 6px 14px;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid rgb(186, 186, 186);
}
#context-menu li:hover { background: #1976d2; color: #fff; }

.marker-label {
    background: #1976d2;
    color: #fff;
    padding: 2px 4px;
    border-radius: 4px;
    font-size: 11px;
    line-height: 1;
}

/* Added coordinate line + jump button styles */
.addr-line { display:flex; gap:4px; align-items:center; }
.addr-line input[data-coord] { flex:1 1 auto; }
.jump-btn { flex:0 0 auto; padding:4px 6px; border: none; background:#fff; border-radius:4px; cursor:pointer; font-size:14px; line-height:1; }
.jump-btn:hover { background: lightgray; color:#fff; }
.jump-btn:active { transform: translateY(1px); }

/* Autocomplete suggestions */
.suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    z-index: 1200;
    max-height: 180px;
    overflow-y: auto;
    margin-top: 2px;
    font-size: 12px;
    display: none;
}
.suggestions.visible { display: block; }
.suggestions .item {
    padding: 6px 8px;
    cursor: pointer;
    line-height: 1.2;
}
.suggestions .item:hover { background: #1976d2; color: #fff; }
.suggestions .empty {
    padding: 6px 8px;
    color: #777;
}
.hidden { display: none !important; }
.toggle-row { margin-top: 4px; margin-bottom: 6px; }
.toggle-btn { padding:6px 10px; border:1px solid #1976d2; background:#fff; color:#1976d2; border-radius:4px; cursor:pointer; font-size:12px; font-weight:600; }
.toggle-btn:hover { background:#1976d2; color:#fff; }

#extra-params {
    display: flex;
    flex-wrap: wrap;
}

#extra-params.collapsed { display:none; }

#extra-params select {
    width: 100%;
}

.route-params-input {
    display: flex;
    width: 50%;
    padding: 0 5px;
    box-sizing: border-box;
}

.route-params-input input[type="number"] {
    width: auto;
}

#stationsToggle {
    margin-top: 10px;
}

.station-price-icon .price-circle {
    width:30px;
    height:30px;
    border-radius:50%;
    background:black; /* base color */
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
    font-weight:600;
    line-height:1;
    border:1px solid #fff;
    box-shadow:0 0 2px rgba(0,0,0,0.4);
}

.btn.loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}
.btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -10px 0 0 -8px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.fuel-plan {
    margin-top: 10px;
    background: rgb(241, 241, 241);
    padding: 10px;
    font-size: 15px;
}

.fuel-plan-summary {
    margin-bottom: 5px;
}

.fuel-plan-summary-item {
    font-size: 13px;
}

.fuel-stop-item {
    padding: 7px 0;
    border-top: 1px solid black;
    font-size: 13px;
}

.fuel-plan-stop-icon .fuel-plan-stop-circle {
    width:30px;
    height:30px;
    border-radius:50%;
    background:#e53935; /* fill red */
    border:2px solid #b71c1c; /* darker border */
    color:#fff;
    font-size:15px;
    font-weight:700;
    display:flex;
    align-items: center;
    justify-content:center;
    box-shadow:0 0 4px rgba(0,0,0,0.5);
    line-height:1;
    user-select:none;
    flex-direction: column;
}
.fuel-plan-stop-icon { }

.fuel-plan-stop-circle .fuel-plan-stop-number {
    font-size: 12px;
    font-weight: bold;
    color: #770d0d;
    position: absolute;
    top: 3px;
}

.fuel-plan-stop-circle .fuel-plan-stop-price {
    font-size: 10px;
    font-weight: 500;
    position: absolute;
    top: 15px;
}

.coordinates-hint {
    font-size: 10px;
    color: gray;
}

.fuel-plan-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}

#fuel-plan-select-container {
    margin-bottom: 10px;
}

#fuel-plan-select-container select {
    width: 100%;
}

#routeResult {
    font-size: 13px;
}

.share-link-btn {
    vertical-align: middle;
    cursor: pointer;
    display: inline-block;
    border: none;
    padding: 3px;
    border-radius: 4px;
    color: #5b5bf0;
    float: right;
    background: transparent;
}

.share-link-btn:hover {
    background: rgba(0, 0, 0, 0.2);
}

.share-link-btn svg {
    height: 17px;
    vertical-align: middle;
}

.title-link {
    display: block;
    color: #000;
    text-decoration: none;
    text-align: center;
    margin-bottom: 5px;
}

.auth-modal {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
}

.auth-form {
    position: relative;
    width: 300px;
    left: 50%;
    top: 50%;
    margin-left: -150px;
    margin-top: -100px;
}

.auth-form h3, .auth-form .auth-title {
    text-align: center;
}

.station-btn-group {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.station-btn-group .stations-btn:first-of-type {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-right: 1px solid rgb(108, 127, 136);
}

.station-btn-group .stations-btn:last-of-type {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-left: 1px solid rgb(108, 127, 136);
}

.stations-btn {
    width: 33.3%;
    border-radius: 0;
    font-size: 12px;
}

.stations-btn:disabled {
    background-color: #b5b5b5;
    cursor: not-allowed;
}

.stations-btn.selected {
    background-color: #71a47d;
}

.jump-to-station-btn {
    border: none;
    background: transparent;
    border-radius: 4px;
    font-size: 10px;
    margin-left: 5px;
    padding: 4px 2px;
}

.jump-to-station-btn:hover {
    cursor: pointer;
    background: lightgray;
}

.debug-visible {
    display: none;
}

.debug .debug-visible {
    display: block;
}

.show-spt-btn:hover {
    cursor: pointer;
    opacity: 0.9;
}

.suggestions-wrapper {
    position: absolute;
    margin-top: 40px;
    padding: 0;
    vertical-align: top;
    width: calc(100% - 35px);
}

.suggestions-wrapper .suggestions-promo {
    display: none;
}

.multi-select button {
    height: 100%;
}

.ms-drop .ms-select-all label {
    color: #000;
}

.ms-drop ul>li label.optgroup {
    color: #129085;
}

.multi-select .ms-choice>span {
    font-size: 13px;
    color: #000;
}

.ms-drop .ms-no-results {
    padding: 5px 10px;
}

.ms-drop .ms-list {
    overflow-x: hidden;
}

.brand-option {
    font-size: 13px;
}

.stations-count {
    font-size: 10px;
    color: #A7A7A7;
    margin-left: 5px;
}

.multi-select {
    height: 30px;
    width: 100%;
}

.multi-select-container {
    position: relative;
}

.multi-select-container:not(.loading) .spinner {
    display: none;
}

.multi-select-container .spinner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.multi-select-container .spinner::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -10px 0 0 -8px;
    border: 2px solid rgba(155,155,155,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    z-index: 2;
}

.hint-icon {
    color: #fff;
    background: #a2a2a2;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    text-align: center;
    display: inline-block;
    margin-left: 5px;
}

.hint-icon:hover {
    cursor: help;
    background: #595959;
}
