/* city panel (was inline) */
/* City picker: searchable dropdown — at least as wide as trigger */
        .vdoc-city-dd {
            position: relative;
        }
        .vdoc-city-panel {
            min-width: 100%;
            width: max-content;
            max-width: min(360px, calc(100vw - 24px));
            padding: 8px 0 6px;
            background: #fff !important;
            border: 1px solid #d5dde5;
            border-radius: 6px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important;
            text-align: left;
            box-sizing: border-box;
        }
        .vdoc-city-panel__label {
            padding: 2px 12px 6px;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #7a8694;
        }
        .vdoc-city-panel__search {
            padding: 0 10px 8px;
        }
        .vdoc-city-panel__search .form-control {
            height: 30px;
            padding: 4px 8px;
            font-size: 13px;
            color: #333;
            background: #f5f7fa;
            border-color: #cfd8e3;
        }
        .vdoc-city-panel__list {
            list-style: none;
            margin: 0;
            padding: 0;
            max-height: min(280px, 45vh);
            overflow-y: auto;
            overflow-x: hidden;
            scrollbar-gutter: stable;
            -webkit-overflow-scrolling: touch;
            scroll-behavior: smooth;
        }
        .vdoc-city-panel__list > li > a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            padding: 8px 14px 8px 12px !important;
            color: #243447 !important;
            border-bottom: 0 !important;
            white-space: nowrap;
        }
        .vdoc-city-item__name {
            flex: 0 0 auto;
        }
        .vdoc-city-panel__list > li > a:hover,
        .vdoc-city-panel__list > li > a:focus {
            background: #eef5fb !important;
            color: #1a3a52 !important;
        }
        .vdoc-city-panel__list > li.active > a {
            background: #e3f0fa !important;
            font-weight: 600;
        }
        .vdoc-city-check {
            flex: 0 0 auto;
            color: #2f80ed;
            margin-left: 6px;
        }
        .vdoc-city-panel__empty {
            padding: 10px 12px;
            font-size: 12px;
            color: #888;
        }
        @media (max-width: 767px) {
            .navbar-nav .vdoc-city-dd.open .vdoc-city-panel {
                position: static;
                float: none;
                width: auto;
                min-width: 0;
                max-width: 100%;
                margin: 6px 8px 10px;
                box-shadow: 0 4px 14px rgba(0,0,0,0.12) !important;
            }
            .vdoc-city-panel__list {
                max-height: min(240px, 40vh);
            }
        }