/* ── Inventory panel asset dropdown ─────────────────────────────── */
#inv-asset-dropdown {
    min-width: 440px;
    background: var(--panel-bg);
    border: 1px solid var(--panel-border);
    border-radius: var(--r-md);
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    max-height: 360px;
    overflow-y: auto;
}
.inv-dd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    font-size: 11px;
    transition: background 0.1s;
}
.inv-dd-item:hover { background: rgba(255,255,255,0.04); }
.inv-dd-item:last-child { border-bottom: none; }
.inv-dd-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 600;
}

        /* ── Empty state ──────────────────────────── */
        .empty-state {
            text-align: center;
            padding: var(--sp-6) var(--sp-4);
        }
        .empty-state .icon {
            font-size: 28px;
            margin-bottom: var(--sp-2);
            opacity: 0.4;
        }
        .empty-state p {
            font-size: 12px;
            color: var(--map-label);
            line-height: 1.6;
        }

        /* ── Enrich Panel ──────────────────────────── */
        .enrich-panel {
            display: none;
            margin-top: var(--sp-3);
            padding: var(--sp-4);
            border: 1px solid var(--map-border);
            border-radius: var(--r-md);
            background: rgba(0,75,182,0.06);
        }
        .enrich-panel.visible { display: block; }

        .enrich-panel h3 {
            font-size: 11px;
            font-weight: 700;
            color: var(--blue-muted);
            letter-spacing: 0.5px;
            text-transform: uppercase;
            margin-bottom: var(--sp-3);
        }

        .enrich-controls {
            display: flex;
            gap: 8px;
            margin-bottom: var(--sp-3);
            flex-wrap: wrap;
            align-items: center;
        }

        .enrich-controls select,
        .enrich-controls input {
            padding: 5px 8px;
            font-size: 12px;
            font-family: var(--font-primary);
            background: rgba(255,255,255,0.04);
            border: 1px solid var(--map-border);
            border-radius: var(--r-sm);
            color: var(--grey-200);
        }

        .enrich-controls select {
            appearance: none;
            padding-right: 20px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237E97A8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 6px center;
        }

        .enrich-controls input[type="number"] {
            width: 64px;
        }

        .btn-enrich {
            padding: 5px 10px;
            font-size: 12px;
            font-weight: 600;
            font-family: var(--font-primary);
            border: 1px solid var(--blue);
            border-radius: var(--r-sm);
            background: var(--blue);
            color: var(--white);
            cursor: pointer;
            transition: all 0.15s;
        }
        .btn-enrich:hover { background: var(--blue-hover); }
        .btn-enrich:disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }

        .candidate-list {
            max-height: 260px;
            overflow-y: auto;
        }

        .candidate-card {
            padding: var(--sp-2) var(--sp-3);
            border: 1px solid rgba(255,255,255,0.04);
            border-radius: var(--r-md);
            margin-bottom: var(--sp-1);
            cursor: pointer;
            transition: all 0.15s;
            display: flex;
            align-items: center;
            gap: var(--sp-3);
        }
        .candidate-card:hover {
            background: rgba(255,255,255,0.04);
            border-color: var(--map-border);
        }
        .candidate-card.previewing {
            border-color: var(--blue-muted);
            background: var(--blue-10);
        }

        .candidate-icon {
            width: 28px;
            height: 28px;
            border-radius: var(--r-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            flex-shrink: 0;
            background: var(--blue-15);
            color: var(--blue-muted);
        }

        .candidate-info { flex: 1; min-width: 0; }

        .candidate-info .c-name {
            font-size: 13px;
            font-weight: 600;
            color: var(--grey-100);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .candidate-info .c-meta {
            font-size: 11px;
            font-family: var(--font-mono);
            color: var(--map-label);
            margin-top: 1px;
        }

        .candidate-apply {
            padding: 3px 8px;
            font-size: 11px;
            font-weight: 600;
            font-family: var(--font-primary);
            border: 1px solid var(--coral-30);
            border-radius: var(--r-sm);
            background: transparent;
            color: var(--coral);
            cursor: pointer;
            transition: all 0.15s;
            flex-shrink: 0;
        }
        .candidate-apply:hover {
            background: var(--coral-15);
        }

        /* ── Basemap toggle ──────────────────────── */
        .basemap-toggle {
            position: absolute;
            bottom: 30px;
            left: 350px;
            z-index: 10;
            display: flex;
            align-items: center;
            background: rgba(16, 26, 33, 0.85);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: var(--r-md);
            overflow: hidden;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .basemap-toggle button {
            padding: 6px 12px;
            font-size: 11px;
            font-weight: 600;
            font-family: var(--font-primary);
            background: transparent;
            border: none;
            color: var(--map-label);
            cursor: pointer;
            transition: all 0.15s;
            letter-spacing: 0.02em;
        }
        .basemap-toggle button:not(.bm-btn-last) {
            border-right: 1px solid rgba(255,255,255,0.08);
        }
        .basemap-toggle button.active {
            background: rgba(255,255,255,0.1);
            color: var(--grey-100);
        }
        .basemap-toggle button:hover:not(.active) {
            background: rgba(255,255,255,0.05);
            color: var(--grey-100);
        }
        .bm-dim-ctrl {
            display: flex; align-items: center; gap: 6px;
            padding: 0 10px;
            border-left: 1px solid rgba(255,255,255,0.08);
        }
        .bm-dim-ctrl label {
            font-size: 11px; font-weight: 700; color: var(--grey-500);
            letter-spacing: 0.5px; white-space: nowrap; cursor: default;
        }
        .bm-dim-ctrl input[type="range"] {
            width: 56px; height: 3px;
            -webkit-appearance: none; appearance: none;
            background: rgba(255,255,255,0.15); border-radius: 2px;
            outline: none; cursor: pointer;
        }
        .bm-dim-ctrl input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none; width: 10px; height: 10px;
            border-radius: 50%; background: var(--grey-300);
            border: 1px solid rgba(0,0,0,0.4);
        }
        .bm-dim-ctrl input[type="range"]::-moz-range-thumb {
            width: 10px; height: 10px; border-radius: 50%;
            background: var(--grey-300); border: 1px solid rgba(0,0,0,0.4);
        }

        .enrich-status {
            font-size: 12px;
            color: var(--map-label);
            padding: var(--sp-2) 0;
        }

        .enrich-status.loading {
            color: var(--blue-muted);
        }
        .enrich-status.error {
            color: var(--error);
        }

        /* ── Connectivity connector line ──────────── */
        .conn-distance {
            font-size: 10px;
            font-weight: 700;
            font-family: var(--font-mono);
            color: var(--coral);
            white-space: nowrap;
        }
