.vr-tdt-map { position:absolute; inset:0; width:100%; height:100%; background:#dce7ef; z-index:1; }
.vr-tdt-map .leaflet-control-attribution { font-size:10px; }
.vr-tdt-layer-switcher { display:flex; overflow:hidden; border:1px solid rgba(15,23,42,.2); border-radius:8px; background:rgba(255,255,255,.94); box-shadow:0 2px 10px rgba(15,23,42,.18); }
.vr-tdt-layer-button { appearance:none; border:0; border-right:1px solid rgba(15,23,42,.12); padding:6px 9px; color:#334155; background:transparent; font-size:12px; line-height:1.2; cursor:pointer; white-space:nowrap; }
.vr-tdt-layer-button:last-child { border-right:0; }
.vr-tdt-layer-button:hover { background:#eff6ff; }
.vr-tdt-layer-button.is-active { color:#fff; background:#0d6efd; }
.vr-tdt-search { width:min(360px,calc(100vw - 96px)); border:1px solid rgba(15,23,42,.18); border-radius:9px; background:rgba(255,255,255,.97); box-shadow:0 4px 16px rgba(15,23,42,.2); overflow:hidden; }
.vr-tdt-search-row { display:flex; min-height:38px; }
.vr-tdt-search-input { flex:1 1 auto; min-width:0; height:38px; border:0; padding:0 11px; color:#172033; background:transparent; outline:0; font-size:13px; }
.vr-tdt-search-input:focus { box-shadow:inset 0 0 0 2px rgba(13,110,253,.28); }
.vr-tdt-search-submit { flex:0 0 auto; border:0; border-left:1px solid #dbe3ee; padding:0 14px; color:#fff; background:#0d6efd; font-size:13px; font-weight:600; cursor:pointer; }
.vr-tdt-search-submit:hover { background:#0b5ed7; }
.vr-tdt-search-submit:disabled { opacity:.65; cursor:wait; }
.vr-tdt-search-status { padding:7px 10px; border-top:1px solid #e7edf4; color:#475569; background:#f8fafc; font-size:12px; line-height:1.45; }
.vr-tdt-search-status.is-error { color:#b42318; background:#fff4f2; }
.vr-tdt-search-status.is-success { color:#12613c; background:#effaf4; }
.vr-tdt-search-status.is-empty { color:#8a5600; background:#fff9e8; }
.vr-tdt-search-results { max-height:300px; overflow:auto; border-top:1px solid #e7edf4; background:#fff; }
.vr-tdt-search-result { display:block; width:100%; border:0; border-bottom:1px solid #edf1f5; padding:9px 11px; color:#172033; background:#fff; text-align:left; cursor:pointer; }
.vr-tdt-search-result:last-child { border-bottom:0; }
.vr-tdt-search-result:hover,.vr-tdt-search-result:focus { background:#eff6ff; outline:0; }
.vr-tdt-search-result-name,.vr-tdt-search-result-detail { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vr-tdt-search-result-name { font-size:13px; font-weight:600; }
.vr-tdt-search-result-detail { margin-top:3px; color:#64748b; font-size:11px; }
.vr-tdt-search-marker { filter:drop-shadow(0 2px 5px rgba(13,110,253,.5)); }
.vr-tdt-marker-wrap { width:auto!important; height:auto!important; overflow:visible!important; background:transparent; border:0; }
.vr-tdt-marker { position:absolute; left:0; top:0; transform:translate(-50%,calc(-100% + 5px)); transform-origin:50% 100%; display:inline-flex!important; width:auto!important; min-width:22px; max-width:none; align-items:center; flex-flow:column nowrap!important; gap:2px; border:0; padding:0; color:#f8fbff; background:transparent; box-shadow:none; cursor:pointer; white-space:normal!important; writing-mode:horizontal-tb!important; }
.vr-tdt-marker-title { box-sizing:border-box; display:flex; width:auto!important; min-width:22px; max-width:22px; height:auto; min-height:0; max-height:none; overflow:hidden; align-items:center; justify-content:center; padding:4px 2px; border:1px solid rgba(255,255,255,.28); border-radius:8px; color:#f8fbff; background:rgba(22,34,45,.72); box-shadow:0 6px 16px rgba(0,0,0,.22); white-space:nowrap!important; word-break:normal!important; overflow-wrap:normal!important; writing-mode:vertical-rl!important; text-orientation:mixed!important; font-size:12px; font-weight:400; line-height:1.2; letter-spacing:2px; text-align:center; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.vr-tdt-marker-pin { position:relative; display:block; width:10px; height:10px; flex:0 0 auto; }
.vr-tdt-marker-pin::after { content:none; }
.vr-tdt-marker-dot { position:absolute; left:50%; bottom:0; box-sizing:border-box; width:10px; height:10px; border:2px solid rgba(255,255,255,.98); transform:translateX(-50%); border-radius:50%; background:#cf2d22; box-shadow:0 0 0 1px rgba(160,20,20,.12); z-index:1; }
.vr-tdt-marker.is-current .vr-tdt-marker-title { background:linear-gradient(180deg,rgba(13,110,253,.96),rgba(10,88,202,.96)); color:#fff; border-color:rgba(191,219,254,.96); box-shadow:0 0 0 2px rgba(13,110,253,.34),0 8px 20px rgba(13,110,253,.34); font-weight:600; }
.vr-tdt-marker.is-locked .vr-tdt-marker-title { color:#ffe08a; box-shadow:0 0 0 2px rgba(245,158,11,.8),0 4px 12px rgba(0,0,0,.3); }
.vr-tdt-marker-lock { position:absolute; right:-8px; top:-7px; display:flex; width:20px; height:20px; align-items:center; justify-content:center; border-radius:50%; color:#714b00; background:#ffe08a; box-shadow:0 2px 7px rgba(0,0,0,.25); font-size:11px; }
@media (max-width:768px) {
    .vr-tdt-layer-switcher { border-radius:7px; }
    .vr-tdt-layer-button { padding:5px 7px; font-size:12px; }
    .vr-tdt-map .leaflet-control-zoom a { width:30px; height:30px; line-height:30px; font-size:20px; }
    .vr-tdt-search { width:min(290px,calc(100vw - 72px)); }
    .vr-tdt-search-results { max-height:220px; }
}
