/* _content/Ayva.Lidar/Charts/LinkBudgetChart.razor.rz.scp.css */
.link-budget-chart[b-djfnmjkond] {
    width: 100%;
    height: 100%;
}

.link-budget-chart[b-djfnmjkond]  .apexcharts-canvas {
    background: transparent !important;
}

.link-budget-chart[b-djfnmjkond]  .apexcharts-tooltip {
    background: var(--hud-glass-heavy) !important;
    border: 1px solid var(--hud-chrome-20) !important;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono) !important;
}

.link-budget-chart[b-djfnmjkond]  .apexcharts-tooltip-title {
    background: var(--hud-chrome-08) !important;
    border-bottom: 1px solid var(--hud-chrome-15) !important;
}

.link-budget-chart[b-djfnmjkond]  .apexcharts-gridline {
    stroke: var(--hud-chrome-08);
}

.link-budget-chart[b-djfnmjkond]  .apexcharts-yaxis-annotation-label,
.link-budget-chart[b-djfnmjkond]  .apexcharts-xaxis-annotation-label {
    filter: drop-shadow(0 1px 2px var(--black-overlay-40));
}
/* _content/Ayva.Lidar/Charts/RainFadeChart.razor.rz.scp.css */
.rain-fade-chart[b-ad3yliqaoj] {
    width: 100%;
    height: 100%;
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-canvas {
    background: transparent !important;
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-tooltip {
    background: var(--hud-glass-heavy) !important;
    border: 1px solid var(--hud-chrome-20) !important;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono) !important;
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-tooltip-title {
    background: var(--hud-chrome-08) !important;
    border-bottom: 1px solid var(--hud-chrome-15) !important;
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-gridline {
    stroke: var(--hud-chrome-08);
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-marker {
    transition: r var(--transition-fast);
}

.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-xaxis-annotation-label,
.rain-fade-chart[b-ad3yliqaoj]  .apexcharts-yaxis-annotation-label {
    filter: drop-shadow(0 1px 2px var(--black-overlay-40));
}
/* _content/Ayva.Lidar/Charts/TerrainProfileChart.razor.rz.scp.css */
.terrain-profile-chart[b-9orsdzvjyz] {
    width: 100%;
    height: 100%;
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-canvas {
    background: transparent !important;
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-tooltip {
    background: var(--hud-glass-heavy) !important;
    border: 1px solid var(--hud-chrome-20) !important;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono) !important;
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-tooltip-title {
    background: var(--hud-chrome-08) !important;
    border-bottom: 1px solid var(--hud-chrome-15) !important;
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-gridline {
    stroke: var(--hud-chrome-08);
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-legend-text {
    color: var(--hud-chrome) !important;
}

.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-xaxis-annotation-label,
.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-point-annotation-label {
    filter: drop-shadow(0 1px 2px var(--black-overlay-40));
}

/* W2.1 — seam-flagged obstruction markers are SUSPECT, not confident
   blockage: dashed hollow ring (color comes from the annotation options). */
.terrain-profile-chart[b-9orsdzvjyz]  .terrain-marker-seam {
    stroke-dasharray: 3 2;
}

/* Zoom/pan toolbar — keep it quiet until hovered */
.terrain-profile-chart[b-9orsdzvjyz]  .apexcharts-toolbar {
    opacity: 0.35;
    transition: opacity var(--transition-fast);
}

.terrain-profile-chart:hover[b-9orsdzvjyz]  .apexcharts-toolbar {
    opacity: 1;
}

/* Honest empty state — no synthetic profile, ever */
.terrain-chart-empty[b-9orsdzvjyz] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: var(--space-md);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 11px;
    text-align: center;
}
/* _content/Ayva.Lidar/ControlCenter.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   Control Center — Bottom HUD panel
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-control-center[b-yvb5lupmpm] {
    position: relative;
    background: var(--hud-glass-medium);
    border-top: 1px solid var(--hud-chrome-15);
    backdrop-filter: blur(20px);
    flex-shrink: 0;
    z-index: 200;
}

.rf-control-center.collapsed[b-yvb5lupmpm] {
    /* Only show header */
}

/* ── Header ────────────────────────────────────────────────────────────── */

.rf-cc-header[b-yvb5lupmpm] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 36px;
    padding: 0 var(--space-md);
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid var(--hud-chrome-08);
}

.rf-cc-header:hover[b-yvb5lupmpm] {
    background: var(--hud-chrome-04);
}

.rf-cc-mode-context[b-yvb5lupmpm] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.rf-cc-mode-dot[b-yvb5lupmpm] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    animation: cc-dot-pulse-b-yvb5lupmpm 2s ease-in-out infinite;
}

.rf-cc-mode-label[b-yvb5lupmpm] {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    letter-spacing: 0.1em;
}

.rf-cc-mode-hint[b-yvb5lupmpm] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* Corner bracket decorations */
.rf-cc-bracket-tl[b-yvb5lupmpm],
.rf-cc-bracket-tr[b-yvb5lupmpm] {
    position: absolute;
    width: 12px;
    height: 12px;
    border-color: var(--hud-chrome-25);
    border-style: solid;
}

.rf-cc-bracket-tl[b-yvb5lupmpm] {
    top: 4px;
    left: 4px;
    border-width: 1px 0 0 1px;
}

.rf-cc-bracket-tr[b-yvb5lupmpm] {
    top: 4px;
    right: 4px;
    border-width: 1px 1px 0 0;
}

.rf-cc-collapse-btn[b-yvb5lupmpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-cc-collapse-btn:hover[b-yvb5lupmpm] {
    color: var(--hud-chrome);
    border-color: var(--hud-chrome-35);
}

/* ── Body ──────────────────────────────────────────────────────────────── */

.rf-cc-body[b-yvb5lupmpm] {
    height: 280px;
    overflow: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--hud-chrome-30) transparent;
}

.rf-cc-body[b-yvb5lupmpm]::-webkit-scrollbar {
    width: 6px;
}

.rf-cc-body[b-yvb5lupmpm]::-webkit-scrollbar-track {
    background: transparent;
}

.rf-cc-body[b-yvb5lupmpm]::-webkit-scrollbar-thumb {
    background: var(--hud-chrome-25);
    border-radius: var(--radius-2xs);
}

.rf-cc-body[b-yvb5lupmpm]::-webkit-scrollbar-thumb:hover {
    background: var(--hud-chrome-40);
}

/* ── Compact collapsed state ──────────────────────────────────────────── */

.rf-cc-compact[b-yvb5lupmpm] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: 6px var(--space-md);
    font-family: var(--font-mono);
    font-size: var(--hud-text-value);
}

.rf-cc-compact-verdict[b-yvb5lupmpm] {
    padding: 3px 10px;
    border-radius: var(--radius-xs);
    font-weight: var(--font-bold);
    font-size: 11px;
    letter-spacing: 0.08em;
}

.rf-cc-compact-verdict.viable[b-yvb5lupmpm] {
    background: var(--hud-success-15);
    color: var(--hud-success);
    border: 1px solid var(--hud-success-30);
}

.rf-cc-compact-verdict.not-viable[b-yvb5lupmpm] {
    background: var(--hud-error-15);
    color: var(--hud-error);
    border: 1px solid var(--hud-error-30);
}

.rf-cc-compact-margin[b-yvb5lupmpm] {
    color: var(--text-secondary);
}

.rf-cc-compact-dist[b-yvb5lupmpm] {
    color: var(--text-muted);
}

/* ── Animations ────────────────────────────────────────────────────────── */

@keyframes cc-dot-pulse-b-yvb5lupmpm {
    0%, 100% { opacity: 1; box-shadow: 0 0 4px currentColor; }
    50% { opacity: 0.7; box-shadow: 0 0 8px currentColor; }
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .rf-cc-body[b-yvb5lupmpm] {
        height: 160px;
    }

    .rf-cc-mode-hint[b-yvb5lupmpm] {
        display: none;
    }
}

@media (max-width: 640px) {
    .rf-cc-body[b-yvb5lupmpm] {
        height: 140px;
    }
}

/* ── W2.3: Display-units toggle ───────────────────────────────────────── */

.rf-cc-units[b-yvb5lupmpm] {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-right: var(--space-sm);
}

.rf-cc-unit-btn[b-yvb5lupmpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 var(--space-xs);
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-size: 0.7rem;
    font-family: var(--font-mono);
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-cc-unit-btn:hover[b-yvb5lupmpm] {
    color: var(--hud-chrome);
    border-color: var(--hud-chrome-35);
}

.rf-cc-unit-btn.active[b-yvb5lupmpm] {
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.rf-cc-unit-btn:focus-visible[b-yvb5lupmpm] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

/* ── W2.3: reduced motion — collapse/expand + pulse animations ────────── */

@media (prefers-reduced-motion: reduce) {
    .rf-control-center[b-yvb5lupmpm],
    .rf-cc-header[b-yvb5lupmpm],
    .rf-cc-collapse-btn[b-yvb5lupmpm],
    .rf-cc-unit-btn[b-yvb5lupmpm] {
        transition: none;
    }

    .rf-cc-mode-dot[b-yvb5lupmpm] {
        animation: none;
    }
}
/* _content/Ayva.Lidar/CoordinateBar.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   CoordinateBar — Bottom viewport telemetry strip
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-coordbar[b-665idqyn19] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    height: 28px;
    padding: 0 var(--space-md);
    background: var(--hud-glass-heavy);
    border-top: 1px solid var(--hud-chrome-10);
    backdrop-filter: blur(12px);
    z-index: 200;
    pointer-events: none;
}

.rf-coordbar-field[b-665idqyn19] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rf-coordbar-label[b-665idqyn19] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.08em;
    opacity: 0.6;
}

.rf-coordbar-value[b-665idqyn19] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-primary);
    letter-spacing: 0.04em;
}

.rf-coordbar-sep[b-665idqyn19] {
    width: 1px;
    height: 14px;
    background: var(--hud-chrome-15);
    margin: 0 var(--space-sm);
}

.rf-coordbar-spacer[b-665idqyn19] {
    flex: 1;
}

.rf-coordbar-mode[b-665idqyn19] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
    opacity: 0.5;
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .desktop-only[b-665idqyn19] {
        display: none;
    }
}

@media (max-width: 640px) {
    .rf-coordbar[b-665idqyn19] {
        padding: 0 var(--space-sm);
        height: 24px;
    }

    .rf-coordbar-value[b-665idqyn19] {
        font-size: 10px;
    }
}
/* _content/Ayva.Lidar/EndpointSearch.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   EndpointSearch — Side-panel content (parent provides chrome)
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-ep-content[b-ks0gacmnny] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* ── Tab Strip ─────────────────────────────────────────────────────────── */

.rf-ep-tabs[b-ks0gacmnny] {
    display: flex;
    border-bottom: 1px solid var(--hud-chrome-10);
}

.rf-ep-tab[b-ks0gacmnny] {
    flex: 1;
    padding: 8px 4px;
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-medium);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all var(--transition-fast);
    border-bottom: 2px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.rf-ep-tab:hover[b-ks0gacmnny] {
    color: var(--text-secondary);
}

.rf-ep-tab.active[b-ks0gacmnny] {
    color: var(--hud-chrome);
    border-bottom-color: var(--hud-chrome);
}

.rf-ep-tab-count[b-ks0gacmnny] {
    font-size: 10px;
    background: var(--hud-chrome-15);
    color: var(--hud-chrome);
    padding: 1px 4px;
    border-radius: var(--radius-2xs);
    line-height: 1.2;
}

/* ── Search ────────────────────────────────────────────────────────────── */

.rf-ep-search[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: 8px 12px;
    border-bottom: 1px solid var(--hud-chrome-08);
}

.rf-ep-search-icon[b-ks0gacmnny] {
    color: var(--text-muted);
    flex-shrink: 0;
}

.rf-ep-search-input[b-ks0gacmnny] {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    outline: none;
    min-width: 0;
}

.rf-ep-search-input[b-ks0gacmnny]::placeholder {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.rf-ep-search-clear[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: color var(--transition-fast);
}

.rf-ep-search-clear:hover[b-ks0gacmnny] {
    color: var(--text-primary);
}

/* ── Endpoint Badges ───────────────────────────────────────────────────── */

/* W4.2 — badges column + the A↔B swap control beside it */
.rf-ep-badges-wrap[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
}

.rf-ep-badges[b-ks0gacmnny] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

/* W4.2 — A↔B swap button (coords, labels and heights ride the swap) */
.rf-ep-fromcam[b-ks0gacmnny] {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

.rf-ep-swap[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 40px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-xs);
    color: var(--hud-chrome);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.rf-ep-swap svg[b-ks0gacmnny] {
    transform: rotate(90deg);
}

.rf-ep-swap:hover:not(:disabled)[b-ks0gacmnny] {
    background: var(--hud-chrome-15);
    border-color: var(--hud-chrome-40);
    color: var(--text-primary);
    box-shadow: 0 0 6px var(--hud-chrome-20);
}

.rf-ep-swap:focus-visible[b-ks0gacmnny] {
    outline: 1px solid var(--accent-color);
    outline-offset: 1px;
}

.rf-ep-swap:disabled[b-ks0gacmnny] {
    opacity: 0.35;
    cursor: not-allowed;
}

.rf-ep-badge[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: var(--radius-xs);
    font-family: var(--font-mono);
    font-size: 11px;
    transition: all var(--transition-fast);
}

.rf-ep-badge.source[b-ks0gacmnny] {
    background: var(--hud-source-08);
    border: 1px solid var(--hud-source-20);
}

.rf-ep-badge.dest[b-ks0gacmnny] {
    background: var(--hud-dest-08);
    border: 1px solid var(--hud-dest-20);
}

/* Pulsing glow when this slot is "next" target */
.rf-ep-badge.next-target[b-ks0gacmnny] {
    animation: ep-badge-pulse-b-ks0gacmnny 2s ease-in-out infinite;
}

.rf-ep-badge.source.next-target[b-ks0gacmnny] {
    border-color: var(--hud-source-50);
    box-shadow: 0 0 8px var(--hud-source-15);
}

.rf-ep-badge.dest.next-target[b-ks0gacmnny] {
    border-color: var(--hud-dest-50);
    box-shadow: 0 0 8px var(--hud-dest-15);
}

.rf-ep-badge-label[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: var(--radius-xs);
    font-size: 10px;
    font-weight: var(--font-bold);
}

.rf-ep-badge.source .rf-ep-badge-label[b-ks0gacmnny] {
    background: var(--hud-source-20);
    color: var(--hud-source);
}

.rf-ep-badge.dest .rf-ep-badge-label[b-ks0gacmnny] {
    background: var(--hud-dest-20);
    color: var(--hud-dest);
}

.rf-ep-badge-name[b-ks0gacmnny] {
    flex: 1;
    color: var(--text-secondary);
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rf-ep-badge-hint[b-ks0gacmnny] {
    font-size: 10px;
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    opacity: 0.7;
}

.rf-ep-badge.source .rf-ep-badge-hint[b-ks0gacmnny] {
    color: var(--hud-source);
}

.rf-ep-badge.dest .rf-ep-badge-hint[b-ks0gacmnny] {
    color: var(--hud-dest);
}

.rf-ep-badge-clear[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: transparent;
    border: 1px solid var(--white-overlay-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-ep-badge-clear:hover[b-ks0gacmnny] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

/* ── Results ───────────────────────────────────────────────────────────── */

.rf-ep-results[b-ks0gacmnny] {
    max-height: 240px;
    overflow-y: auto;
    padding: 4px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--hud-chrome-20) transparent;
}

.rf-ep-result-group[b-ks0gacmnny] {
    padding: 4px 12px;
}

.rf-ep-group-label[b-ks0gacmnny] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.1em;
    opacity: 0.6;
    display: block;
    padding-bottom: 2px;
}

/* Result row with A/B buttons */
.rf-ep-result-row[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    transition: background var(--transition-fast);
}

.rf-ep-result-row:hover[b-ks0gacmnny] {
    background: var(--hud-chrome-06);
}

/* W4.2 — keyboard-highlighted row (aria-activedescendant pattern: DOM focus
   stays in the search input; this ring is the visible focus indicator) */
.rf-ep-result-row.kbd-active[b-ks0gacmnny] {
    background: var(--hud-chrome-08);
    outline: 1px solid var(--accent-color);
    outline-offset: -1px;
    border-radius: var(--radius-2xs);
}

/* W4.2 — pin/unpin toggle on RECENT rows */
.rf-ep-pin[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 22px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.rf-ep-pin:hover[b-ks0gacmnny] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-40);
}

.rf-ep-pin.pinned[b-ks0gacmnny] {
    color: var(--accent-color);
    border-color: var(--hud-chrome-40);
    background: var(--hud-chrome-06);
}

.rf-ep-result-info[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.rf-ep-result-info > svg[b-ks0gacmnny] {
    color: var(--hud-chrome);
    flex-shrink: 0;
}

/* A/B buttons container */
.rf-ep-ab-buttons[b-ks0gacmnny] {
    display: flex;
    gap: 3px;
    flex-shrink: 0;
}

.rf-ep-set-btn[b-ks0gacmnny] {
    width: 24px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-2xs);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-bold);
    cursor: pointer;
    transition: all var(--transition-fast);
    border: 1px solid;
    letter-spacing: 0.02em;
}

.rf-ep-set-btn.set-a[b-ks0gacmnny] {
    background: var(--hud-source-10);
    border-color: var(--hud-source-25);
    color: var(--hud-source);
}

.rf-ep-set-btn.set-a:hover[b-ks0gacmnny] {
    background: var(--hud-source-25);
    border-color: var(--hud-source-50);
    box-shadow: 0 0 6px var(--hud-source-20);
}

.rf-ep-set-btn.set-b[b-ks0gacmnny] {
    background: var(--hud-dest-10);
    border-color: var(--hud-dest-25);
    color: var(--hud-dest);
}

.rf-ep-set-btn.set-b:hover[b-ks0gacmnny] {
    background: var(--hud-dest-25);
    border-color: var(--hud-dest-50);
    box-shadow: 0 0 6px var(--hud-dest-20);
}

/* W1.4 — fly-to (camera) button on result rows */
.rf-ep-set-btn.fly[b-ks0gacmnny] {
    background: var(--hud-chrome-05);
    border-color: var(--hud-chrome-20);
    color: var(--hud-chrome);
}

.rf-ep-set-btn.fly:hover[b-ks0gacmnny] {
    background: var(--hud-chrome-15);
    border-color: var(--hud-chrome-40);
    color: var(--text-primary);
    box-shadow: 0 0 6px var(--hud-chrome-20);
}

/* W1.4 — fly-to button on the A/B endpoint badges */
.rf-ep-badge-fly[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: transparent;
    border: 1px solid var(--white-overlay-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.rf-ep-badge-fly:hover[b-ks0gacmnny] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-40);
    box-shadow: 0 0 6px var(--hud-chrome-20);
}

/* Legacy single-click result item (kept for reference but no longer used) */
.rf-ep-result-item[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 12px;
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: left;
}

.rf-ep-result-item:hover[b-ks0gacmnny] {
    background: var(--hud-chrome-08);
    color: var(--text-primary);
}

.rf-ep-result-item svg[b-ks0gacmnny] {
    color: var(--hud-chrome);
    flex-shrink: 0;
}

.rf-ep-result-text[b-ks0gacmnny] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    overflow: hidden;
}

.rf-ep-result-text > span:first-child[b-ks0gacmnny] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.rf-ep-result-meta[b-ks0gacmnny] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.rf-ep-no-results[b-ks0gacmnny] {
    padding: 12px;
    text-align: center;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Loading / Error / Load More ───────────────────────────────────────── */

.rf-ep-loading[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 12px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
}

.rf-ep-spinner[b-ks0gacmnny] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--hud-chrome-15);
    border-top-color: var(--hud-chrome);
    border-radius: 50%;
    animation: ep-spin-b-ks0gacmnny 0.6s linear infinite;
    flex-shrink: 0;
}

.rf-ep-error[b-ks0gacmnny] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--hud-error);
    text-align: center;
}

.rf-ep-retry-btn[b-ks0gacmnny] {
    padding: 4px 12px;
    background: var(--hud-error-10);
    border: 1px solid var(--hud-error-25);
    border-radius: var(--radius-xs);
    color: var(--hud-error);
    font-family: var(--font-mono);
    font-size: 10px;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-ep-retry-btn:hover[b-ks0gacmnny] {
    background: var(--hud-error-20);
}

.rf-ep-load-more[b-ks0gacmnny] {
    display: block;
    width: 100%;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-top: 1px solid var(--hud-chrome-08);
    color: var(--hud-chrome);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
}

.rf-ep-load-more:hover[b-ks0gacmnny] {
    background: var(--hud-chrome-06);
    color: var(--accent-color);
}

/* ── Coords Form ───────────────────────────────────────────────────────── */

.rf-ep-coords-form[b-ks0gacmnny] {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rf-ep-coord-grid[b-ks0gacmnny] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rf-ep-coord-field[b-ks0gacmnny] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rf-ep-coord-field label[b-ks0gacmnny] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.08em;
    opacity: 0.7;
}

.rf-ep-coord-field input[b-ks0gacmnny] {
    width: 100%;
    box-sizing: border-box;
    background: var(--hud-chrome-06);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    padding: 7px 10px;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 12px;
    outline: none;
    transition: border-color var(--transition-fast);
}

.rf-ep-coord-field input[b-ks0gacmnny]::placeholder {
    color: var(--text-muted);
    font-size: 10px;
    opacity: 0.5;
}

.rf-ep-coord-field input:focus[b-ks0gacmnny] {
    border-color: var(--hud-chrome);
}

/* Remove number input spinners for cleaner look */
.rf-ep-coord-field input[type="number"][b-ks0gacmnny]::-webkit-outer-spin-button,
.rf-ep-coord-field input[type="number"][b-ks0gacmnny]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.rf-ep-coord-field input[type="number"][b-ks0gacmnny] {
    -moz-appearance: textfield;
}

.rf-ep-coord-elev-row[b-ks0gacmnny] {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}

.rf-ep-coord-elev-field[b-ks0gacmnny] {
    flex: 1;
}

.rf-ep-coord-lookup[b-ks0gacmnny] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 7px 12px;
    background: var(--hud-chrome-10);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-xs);
    color: var(--hud-chrome);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-semibold);
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
    height: 34px;
    box-sizing: border-box;
}

.rf-ep-coord-lookup:hover:not(:disabled)[b-ks0gacmnny] {
    background: var(--hud-chrome-20);
}

.rf-ep-coord-lookup:disabled[b-ks0gacmnny] {
    opacity: 0.4;
    cursor: not-allowed;
}

.rf-ep-coord-lookup .rf-ep-spinner[b-ks0gacmnny] {
    width: 10px;
    height: 10px;
    border-width: 1.5px;
}

.rf-ep-coord-error[b-ks0gacmnny] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-error);
    padding: 2px 0;
}

.rf-ep-coord-actions[b-ks0gacmnny] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 2px;
}

.rf-ep-coord-set[b-ks0gacmnny] {
    padding: 8px 12px;
    border-radius: var(--radius-xs);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-bold);
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
}

.rf-ep-coord-set:hover:not(:disabled)[b-ks0gacmnny] {
    transform: translateY(-1px);
}

.rf-ep-coord-set:disabled[b-ks0gacmnny] {
    opacity: 0.4;
    cursor: not-allowed;
}

.rf-ep-coord-set.source[b-ks0gacmnny] {
    background: var(--hud-source-12);
    border: 1px solid var(--hud-source-30);
    color: var(--hud-source);
}

.rf-ep-coord-set.source:hover:not(:disabled)[b-ks0gacmnny] {
    background: var(--hud-source-22);
    box-shadow: 0 0 10px var(--hud-source-20);
}

.rf-ep-coord-set.dest[b-ks0gacmnny] {
    background: var(--hud-dest-12);
    border: 1px solid var(--hud-dest-30);
    color: var(--hud-dest);
}

.rf-ep-coord-set.dest:hover:not(:disabled)[b-ks0gacmnny] {
    background: var(--hud-dest-22);
    box-shadow: 0 0 10px var(--hud-dest-20);
}

/* W1.4 — fly-to from the coords tab */
.rf-ep-coord-set.fly[b-ks0gacmnny] {
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-20);
    color: var(--hud-chrome);
}

.rf-ep-coord-set.fly:hover:not(:disabled)[b-ks0gacmnny] {
    background: var(--hud-chrome-15);
    box-shadow: 0 0 10px var(--hud-chrome-20);
    color: var(--text-primary);
}

/* ── Animations ────────────────────────────────────────────────────────── */

@keyframes ep-spin-b-ks0gacmnny {
    to { transform: rotate(360deg); }
}

@keyframes ep-badge-pulse-b-ks0gacmnny {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .rf-ep-coord-grid[b-ks0gacmnny] {
        grid-template-columns: 1fr;
    }
}
/* _content/Ayva.Lidar/LidarViewerPanel.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   RF TOOLS HUD — Main Shell

   The Tactical Glass palette (--hud-*) is defined globally in
   wwwroot/assets/css/ayva-theme.css (":root" — see "RF TOOLS HUD" section).
   It intentionally does NOT live on .rf-shell: the launch screen and shared
   analysis surfaces render outside the shell and must resolve the same tokens.
   Add new HUD tokens there, never here.

   W5.1 — extracted blocks live with their components now:
   launch screen → Shared/LaunchSplash.razor.css,
   context menu  → Shared/ViewportContextMenu.razor.css,
   quick config  → Shared/RfQuickConfig.razor.css.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Shell Layout ──────────────────────────────────────────────────────── */

.rf-shell[b-k2ycbvt357] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: var(--bg-base);
    overflow: hidden;
    outline: none;
}

/* ── Workspace (horizontal: sidepanel + center + settings) ─────────── */

.rf-workspace[b-k2ycbvt357] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

/* ── Left Side Panel (docked, not floating) ────────────────────────── */

.rf-sidepanel[b-k2ycbvt357] {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: var(--hud-glass-medium);
    border-right: 1px solid var(--hud-chrome-15);
    overflow: hidden;
    animation: sidepanel-slide-in-b-k2ycbvt357 0.2s ease;
}

.rf-sidepanel-header[b-k2ycbvt357] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-10);
    flex-shrink: 0;
}

.rf-sidepanel-title[b-k2ycbvt357] {
    font-family: var(--font-mono);
    font-size: var(--hud-text-section);
    font-weight: var(--font-semibold);
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
}

/* W3.1 — side panel tab strip (PATH SETUP | MY ANALYSES) */
.rf-sidepanel-tabs[b-k2ycbvt357] {
    display: flex;
    gap: 4px;
    min-width: 0;
}

.rf-sidepanel-tab[b-k2ycbvt357] {
    padding: 4px 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-xs);
    font-family: var(--font-mono);
    font-size: var(--hud-text-section);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    letter-spacing: 0.12em;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.rf-sidepanel-tab:hover[b-k2ycbvt357] {
    color: var(--text-secondary);
}

.rf-sidepanel-tab.active[b-k2ycbvt357] {
    color: var(--hud-chrome);
    border-color: var(--hud-chrome-20);
    background: var(--hud-chrome-06);
}

.rf-sidepanel-close[b-k2ycbvt357] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-sidepanel-close:hover[b-k2ycbvt357] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

.rf-sidepanel-body[b-k2ycbvt357] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--hud-chrome-25) transparent;
}

.rf-sidepanel-body[b-k2ycbvt357]::-webkit-scrollbar { width: 5px; }
.rf-sidepanel-body[b-k2ycbvt357]::-webkit-scrollbar-track { background: transparent; }
.rf-sidepanel-body[b-k2ycbvt357]::-webkit-scrollbar-thumb { background: var(--hud-chrome-20); border-radius: var(--radius-2xs); }

/* ── Center Column (viewport + control center) ─────────────────────── */

.rf-center[b-k2ycbvt357] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

/* ── Viewport ──────────────────────────────────────────────────────── */

.rf-viewport[b-k2ycbvt357] {
    flex: 1;
    position: relative;
    overflow: hidden;
}

.rf-canvas[b-k2ycbvt357] {
    position: absolute;
    inset: 0;
    background: var(--bg-base);
}

/* ── Right: Settings Panel (docked, non-modal) ─────────────────────── */

.rf-settings-panel[b-k2ycbvt357] {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: var(--hud-glass-heavy);
    border-left: 1px solid var(--hud-chrome-15);
    overflow: hidden;
    animation: settings-slide-in-b-k2ycbvt357 0.2s ease;
}

/* ── Loading Overlay ───────────────────────────────────────────────── */

.rf-loading-overlay[b-k2ycbvt357] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    background: var(--hud-glass-shroud);
    z-index: 100;
}

.rf-loading-spinner[b-k2ycbvt357] {
    width: 40px;
    height: 40px;
    border: 3px solid var(--hud-chrome-15);
    border-top-color: var(--hud-chrome);
    border-radius: 50%;
    animation: spin-b-k2ycbvt357 0.8s linear infinite;
}

.rf-loading-text[b-k2ycbvt357] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
    animation: hud-pulse-b-k2ycbvt357 2s ease-in-out infinite;
}

.rf-loading-sub[b-k2ycbvt357] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Crosshair ─────────────────────────────────────────────────────── */

.rf-crosshair[b-k2ycbvt357] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 50;
}

.rf-crosshair-h[b-k2ycbvt357],
.rf-crosshair-v[b-k2ycbvt357] {
    position: absolute;
    background: var(--hud-chrome-40);
}

.rf-crosshair-h[b-k2ycbvt357] {
    width: 24px;
    height: 1px;
    top: 0;
    left: -12px;
}

.rf-crosshair-v[b-k2ycbvt357] {
    width: 1px;
    height: 24px;
    top: -12px;
    left: 0;
}

/* ── Animations ────────────────────────────────────────────────────── */

@keyframes spin-b-k2ycbvt357 {
    to { transform: rotate(360deg); }
}

@keyframes hud-pulse-b-k2ycbvt357 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes sidepanel-slide-in-b-k2ycbvt357 {
    from { opacity: 0; transform: translateX(-16px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes settings-slide-in-b-k2ycbvt357 {
    from { opacity: 0; transform: translateX(16px); }
    to { opacity: 1; transform: translateX(0); }
}

/* ── Responsive ────────────────────────────────────────────────────── */
/* Minimum SUPPORTED viewport is 1280px (desktop-first engineering tool —
   see Pages/LidarViewer.razor.css). The 1024/768/640 rules below are NOT
   supported targets; they are graceful degradation for below-min-spec
   windows (half-snapped 1920 displays, embedded admin tiles): docks narrow
   at 1024, become overlays at 768, go full-width at 640. */

@media (max-width: 1024px) {
    .rf-sidepanel[b-k2ycbvt357] {
        width: 280px;
    }

    .rf-settings-panel[b-k2ycbvt357] {
        width: 280px;
    }
}

@media (max-width: 768px) {
    .rf-sidepanel[b-k2ycbvt357] {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 300px;
        z-index: 150;
        border-right: 1px solid var(--hud-chrome-20);
    }

    .rf-settings-panel[b-k2ycbvt357] {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 300px;
        z-index: 150;
        border-left: 1px solid var(--hud-chrome-20);
    }
}

@media (max-width: 640px) {
    .rf-sidepanel[b-k2ycbvt357],
    .rf-settings-panel[b-k2ycbvt357] {
        width: 100%;
    }
}

/* ── W2.3: reduced motion — kill decorative tweens/spins ──────────────── */

@media (prefers-reduced-motion: reduce) {
    .rf-sidepanel[b-k2ycbvt357],
    .rf-settings-panel[b-k2ycbvt357] {
        animation: none;
    }

    .rf-sidepanel-close[b-k2ycbvt357] {
        transition: none;
    }
}

/* W3.3 — deep-link rejection strip host (Navigate mode only; the strip
   itself styles via AnalysisErrorStrip's isolated CSS). Floats above the
   launch screen / viewport so a rejected link is never silently ignored. */
.rf-deeplink-error-host[b-k2ycbvt357] {
    position: absolute;
    top: var(--space-md);
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
    width: min(640px, calc(100% - 2 * var(--space-md)));
    pointer-events: none;
}
/* _content/Ayva.Lidar/MenuBar.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   MenuBar — Top toolbar HUD glass styling
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-menubar[b-m47lom7793] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
    padding: 0 var(--space-md);
    background: var(--hud-glass-medium);
    border-bottom: 1px solid var(--hud-chrome-15);
    backdrop-filter: blur(20px);
    z-index: 200;
    flex-shrink: 0;
}

/* ── Left Section ──────────────────────────────────────────────────────── */

.rf-menubar-left[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.rf-menubar-logo[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    color: var(--hud-chrome);
    letter-spacing: 0.15em;
    user-select: none;
    text-shadow: 0 0 8px var(--hud-chrome-20);
}

.rf-logo-tri[b-m47lom7793] {
    font-size: var(--text-base);
}

.rf-menubar-divider[b-m47lom7793] {
    width: 1px;
    height: 20px;
    background: var(--hud-chrome-20);
}

/* ── Mode Buttons ──────────────────────────────────────────────────────── */

.rf-mode-group[b-m47lom7793] {
    display: flex;
    gap: 2px;
}

.rf-mode-btn[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-medium);
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.rf-mode-btn:hover[b-m47lom7793] {
    color: var(--text-primary);
    background: var(--hud-chrome-08);
    border-color: var(--hud-chrome-15);
}

.rf-mode-btn.active[b-m47lom7793] {
    color: var(--hud-chrome);
    background: var(--hud-chrome-15);
    border-color: var(--hud-chrome-35);
    box-shadow: 0 0 8px var(--hud-chrome-15);
}

.rf-mode-icon[b-m47lom7793] {
    flex-shrink: 0;
}

/* ── Search Toggle ────────────────────────────────────────────────────── */

.rf-search-toggle[b-m47lom7793] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-search-toggle:hover[b-m47lom7793] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-30);
    background: var(--hud-chrome-08);
}

.rf-search-toggle.active[b-m47lom7793] {
    color: var(--hud-mode-path);
    border-color: var(--hud-mode-path-30);
    background: var(--hud-mode-path-08);
}

/* ── Right Section ─────────────────────────────────────────────────────── */

.rf-menubar-right[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.rf-toggle-btn[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-toggle-dot[b-m47lom7793] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--text-muted);
    transition: all var(--transition-fast);
}

.rf-toggle-btn.on .rf-toggle-dot[b-m47lom7793] {
    background: var(--hud-toggle-on);
    box-shadow: 0 0 6px var(--hud-toggle-on-40);
}

.rf-toggle-btn:hover[b-m47lom7793] {
    border-color: var(--hud-chrome-30);
    color: var(--text-secondary);
}

.rf-toggle-btn.on[b-m47lom7793] {
    border-color: var(--hud-chrome-30);
    color: var(--text-primary);
}

.rf-kbd-hint[b-m47lom7793] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    padding: 2px 8px;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    opacity: 0.6;
}

/* ── W1.4 Saved Viewpoints dropdown ───────────────────────────────────── */

.rf-views-wrap[b-m47lom7793] {
    position: relative;
}

.rf-views-backdrop[b-m47lom7793] {
    position: fixed;
    inset: 0;
    z-index: 400;
}

.rf-views-dropdown[b-m47lom7793] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 260px;
    padding: var(--space-sm) 0;
    background: var(--hud-glass-heavy);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-md);
    backdrop-filter: blur(16px);
    box-shadow: 0 12px 32px var(--black-overlay-45);
    z-index: 401;
}

.rf-views-title[b-m47lom7793] {
    display: block;
    padding: 4px var(--space-md) 8px;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-semibold);
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
    opacity: 0.7;
}

.rf-views-row[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--space-sm);
}

.rf-views-fly[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    padding: 6px 8px;
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 11px;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: left;
}

.rf-views-fly:hover[b-m47lom7793] {
    background: var(--hud-chrome-10);
    color: var(--text-primary);
}

.rf-views-fly svg[b-m47lom7793] {
    flex-shrink: 0;
    color: var(--hud-chrome);
}

.rf-views-name[b-m47lom7793] {
    flex-shrink: 0;
}

.rf-views-meta[b-m47lom7793] {
    margin-left: auto;
    font-size: 10px;
    color: var(--text-muted);
    white-space: nowrap;
}

.rf-views-icon[b-m47lom7793] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.rf-views-icon:hover[b-m47lom7793] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-40);
}

.rf-views-icon.danger:hover[b-m47lom7793] {
    color: var(--hud-error);
    border-color: var(--hud-error-40);
}

.rf-views-save-slot[b-m47lom7793] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    padding: 6px 8px;
    background: transparent;
    border: 1px dashed var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-views-save-slot:hover[b-m47lom7793] {
    border-color: var(--hud-chrome-40);
    color: var(--text-secondary);
    background: var(--hud-chrome-05);
}

.rf-views-error[b-m47lom7793] {
    padding: 6px var(--space-md) 2px;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--hud-error);
}

.rf-settings-btn[b-m47lom7793],
.rf-help-btn[b-m47lom7793] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-settings-btn:hover[b-m47lom7793],
.rf-help-btn:hover[b-m47lom7793] {
    color: var(--hud-chrome);
    border-color: var(--hud-chrome-35);
    background: var(--hud-chrome-08);
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .rf-mode-label[b-m47lom7793] {
        display: none;
    }

    .rf-menubar-logo .rf-logo-label[b-m47lom7793] {
        display: none;
    }

    .rf-toggle-label[b-m47lom7793] {
        display: none;
    }

    .rf-kbd-hint[b-m47lom7793] {
        display: none;
    }
}

@media (max-width: 640px) {
    .rf-menubar[b-m47lom7793] {
        padding: 0 var(--space-sm);
        height: 40px;
    }

    .rf-mode-btn[b-m47lom7793] {
        padding: 6px 8px;
    }

    .desktop-only[b-m47lom7793] {
        display: none;
    }
}
/* _content/Ayva.Lidar/Modes/MeasureMode.razor.rz.scp.css */
/* =============================================================================
   MeasureMode — Tactical Glass palette with amber accent (--hud-mode-meas)
   ============================================================================= */

.rf-measure[b-l8eqjffuv4] {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ---------- Toolbar ---------- */

.rf-measure-toolbar[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-08);
    gap: 8px;
}

.rf-measure-tools[b-l8eqjffuv4] {
    display: flex;
    gap: 4px;
    flex: 1;
}

.rf-measure-tool-btn[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-medium);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.rf-measure-tool-btn:hover:not(.disabled)[b-l8eqjffuv4] {
    background: var(--hud-chrome-05);
    border-color: var(--hud-chrome-20);
    color: var(--text-secondary);
}

.rf-measure-tool-btn.active[b-l8eqjffuv4] {
    background: var(--hud-mode-meas-08);
    border-color: var(--hud-mode-meas-30);
    color: var(--hud-mode-meas);
}

.rf-measure-tool-btn.disabled[b-l8eqjffuv4] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Clear all button */
.rf-measure-clear-all[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    background: transparent;
    border: 1px solid var(--error-color-20);
    border-radius: var(--radius-sm);
    color: var(--error-color-70);
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: var(--font-medium);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
}

.rf-measure-clear-all:hover[b-l8eqjffuv4] {
    background: var(--error-color-8);
    border-color: var(--error-color-40);
    color: var(--error-color-90);
}

/* ---------- Pending point indicator ---------- */

.rf-measure-pending[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px var(--space-md);
    background: var(--hud-mode-meas-04);
    border-bottom: 1px solid var(--hud-mode-meas-12);
    position: relative;
}

.rf-measure-pending-dot[b-l8eqjffuv4] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--hud-mode-meas);
    flex-shrink: 0;
    animation: rf-meas-pulse-b-l8eqjffuv4 1.5s ease-in-out infinite;
}

@keyframes rf-meas-pulse-b-l8eqjffuv4 {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 var(--hud-mode-meas-40); }
    50% { opacity: 0.7; box-shadow: 0 0 0 4px transparent; }
}

.rf-measure-pending-info[b-l8eqjffuv4] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    min-width: 0;
}

.rf-measure-pending-label[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: var(--font-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--hud-mode-meas);
}

.rf-measure-pending-coords[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-primary);
    letter-spacing: 0.02em;
}

.rf-measure-pending-elev[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
}

.rf-measure-pending-hint[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-mode-meas);
    opacity: 0.7;
    white-space: nowrap;
    flex-shrink: 0;
}

.rf-measure-pending-cancel[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.rf-measure-pending-cancel:hover[b-l8eqjffuv4] {
    background: var(--error-color-10);
    border-color: var(--error-color-30);
    color: var(--error-color-80);
}

/* ---------- Content area ---------- */

.rf-measure-content[b-l8eqjffuv4] {
    padding: var(--space-sm) var(--space-md) var(--space-md);
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--hud-chrome-25) transparent;
}

.rf-measure-content[b-l8eqjffuv4]::-webkit-scrollbar { width: 4px; }
.rf-measure-content[b-l8eqjffuv4]::-webkit-scrollbar-track { background: transparent; }
.rf-measure-content[b-l8eqjffuv4]::-webkit-scrollbar-thumb { background: var(--hud-chrome-20); border-radius: 2px; }

/* ---------- Empty state ---------- */

.rf-measure-empty[b-l8eqjffuv4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: var(--space-lg) var(--space-md);
    text-align: center;
}

.rf-measure-empty-title[b-l8eqjffuv4] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-muted);
}

.rf-measure-empty-sub[b-l8eqjffuv4] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-muted);
    opacity: 0.6;
}

/* ---------- Measurement list ---------- */

.rf-measure-list[b-l8eqjffuv4] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rf-measure-item[b-l8eqjffuv4] {
    padding: 7px 10px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    transition: border-color var(--transition-fast);
}

.rf-measure-item:hover[b-l8eqjffuv4] {
    border-color: var(--hud-chrome-20);
}

.rf-measure-item-row[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.rf-measure-item-index[b-l8eqjffuv4] {
    font-size: 13px;
    color: var(--hud-mode-meas);
    flex-shrink: 0;
    line-height: 1;
}

.rf-measure-item-distance[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    white-space: nowrap;
}

.rf-measure-item-sep[b-l8eqjffuv4] {
    color: var(--hud-chrome-20);
    font-size: 11px;
    flex-shrink: 0;
}

.rf-measure-item-azimuth[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.rf-measure-item-vert[b-l8eqjffuv4] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.rf-measure-item-remove[b-l8eqjffuv4] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    margin-left: auto;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
    opacity: 0;
}

.rf-measure-item:hover .rf-measure-item-remove[b-l8eqjffuv4] {
    opacity: 1;
}

.rf-measure-item-remove:hover[b-l8eqjffuv4] {
    background: var(--error-color-10);
    border-color: var(--error-color-30);
    color: var(--error-color-80);
}

.rf-measure-item-detail[b-l8eqjffuv4] {
    display: flex;
    gap: 12px;
    margin-top: 3px;
    padding-left: 19px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    opacity: 0.7;
}

/* ---------- Responsive ---------- */

@media (max-width: 640px) {
    .rf-measure-toolbar[b-l8eqjffuv4] {
        flex-wrap: wrap;
        gap: 6px;
    }

    .rf-measure-tool-btn[b-l8eqjffuv4] {
        padding: 5px 8px;
        font-size: 9px;
    }

    .rf-measure-pending[b-l8eqjffuv4] {
        flex-wrap: wrap;
        gap: 6px;
    }

    .rf-measure-pending-hint[b-l8eqjffuv4] {
        width: 100%;
        padding-left: 16px;
    }

    .rf-measure-item-row[b-l8eqjffuv4] {
        flex-wrap: wrap;
        gap: 4px;
    }

    .rf-measure-item-remove[b-l8eqjffuv4] {
        opacity: 1;
    }
}

/* ── W2.3: reduced motion ─────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .rf-measure-tool-btn[b-l8eqjffuv4],
    .rf-measure-clear-all[b-l8eqjffuv4],
    .rf-measure-item[b-l8eqjffuv4],
    .rf-measure-item-remove[b-l8eqjffuv4],
    .rf-measure-pending-cancel[b-l8eqjffuv4] {
        transition: none;
    }

    .rf-measure-pending-dot[b-l8eqjffuv4] {
        animation: none;
    }
}
/* _content/Ayva.Lidar/Modes/NavigateMode.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   NavigateMode — keyboard cheatsheet (W4.1: speed/camera controls folded
   into GlobalSettings; this panel is reference-only)
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-nav[b-wbvxgvhrao] {
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

/* ── Shortcuts ─────────────────────────────────────────────────────────── */

.rf-nav-shortcuts[b-wbvxgvhrao] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-md);
}

.rf-nav-shortcut-group[b-wbvxgvhrao] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rf-nav-shortcut-group-label[b-wbvxgvhrao] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.1em;
    opacity: 0.6;
    text-transform: uppercase;
}

.rf-nav-shortcut-row[b-wbvxgvhrao] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding: 4px 8px;
    border-radius: var(--radius-2xs);
}

.rf-nav-shortcut-row:hover[b-wbvxgvhrao] {
    background: var(--hud-chrome-05);
}

.rf-nav-shortcut-keys[b-wbvxgvhrao] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-primary);
    padding: 2px 6px;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-2xs);
    white-space: nowrap;
}

.rf-nav-shortcut-keys.inline[b-wbvxgvhrao] {
    font-size: 10px;
    padding: 1px 5px;
}

.rf-nav-shortcut-desc[b-wbvxgvhrao] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    text-align: right;
}

/* ── Pointers to the single control surfaces ───────────────────────────── */

.rf-nav-pointers[b-wbvxgvhrao] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-md);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--hud-chrome-08);
}

.rf-nav-pointer[b-wbvxgvhrao] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.rf-nav-pointer strong[b-wbvxgvhrao] {
    color: var(--text-secondary);
    font-weight: var(--font-medium);
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .rf-nav-shortcuts[b-wbvxgvhrao] {
        grid-template-columns: 1fr;
    }
}
/* _content/Ayva.Lidar/Modes/PathAnalysisMode.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   PathAnalysisMode — Verdict strip + chart tabs (Tactical Glass)
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-pa[b-vf58trpdz6] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* ── Verdict + Metrics Strip (always visible, never scrolls) ───────── */

.rf-pa-verdict-strip[b-vf58trpdz6] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: 8px var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-08);
    flex-shrink: 0;
    flex-wrap: wrap;
}

.rf-pa-verdict[b-vf58trpdz6] {
    padding: 4px 12px;
    border-radius: var(--radius-xs);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    flex-shrink: 0;
}

.rf-pa-verdict.verdict-excellent[b-vf58trpdz6] {
    background: var(--hud-success-15);
    color: var(--hud-success);
    border: 1px solid var(--hud-success-30);
}

.rf-pa-verdict.verdict-good[b-vf58trpdz6] {
    background: var(--hud-success-12);
    color: var(--hud-success);
    border: 1px solid var(--hud-success-25);
}

.rf-pa-verdict.verdict-marginal[b-vf58trpdz6] {
    background: var(--hud-warning-12);
    color: var(--hud-warning);
    border: 1px solid var(--hud-warning-25);
}

.rf-pa-verdict.verdict-noviable[b-vf58trpdz6] {
    background: var(--hud-error-12);
    color: var(--hud-error);
    border: 1px solid var(--hud-error-25);
}

/* ── W2.1 Ghost overlay toggle + previous-run chip ─────────────────── */

.rf-pa-ghost-toggle[b-vf58trpdz6] {
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    color: var(--text-muted);
    background: transparent;
    border: 1px dashed var(--hud-chrome-25);
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--transition-fast);
}

.rf-pa-ghost-toggle:hover[b-vf58trpdz6] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-40);
}

.rf-pa-ghost-toggle.active[b-vf58trpdz6] {
    color: var(--hud-source);
    border-color: var(--hud-source);
    background: var(--hud-glass-light);
}

.rf-pa-prev-chip[b-vf58trpdz6] {
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    background: var(--hud-glass-light);
    border: 1px dashed var(--hud-chrome-25);
    flex-shrink: 0;
    opacity: 0.8;
}

/* ── Metrics Row ───────────────────────────────────────────────────── */

.rf-pa-metrics-row[b-vf58trpdz6] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex: 1;
    flex-wrap: wrap;
}

.rf-pa-metric[b-vf58trpdz6] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rf-pa-metric-label[b-vf58trpdz6] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    letter-spacing: 0.06em;
}

.rf-pa-metric-value[b-vf58trpdz6] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-primary);
}

.rf-pa-metric-value.margin-good[b-vf58trpdz6] { color: var(--hud-success); }
.rf-pa-metric-value.margin-warn[b-vf58trpdz6] { color: var(--hud-warning); }
.rf-pa-metric-value.margin-bad[b-vf58trpdz6] { color: var(--hud-error); }

.rf-pa-actions-inline[b-vf58trpdz6] {
    flex-shrink: 0;
}

/* ── Chart Tabs ────────────────────────────────────────────────────── */

.rf-pa-chart-tabs[b-vf58trpdz6] {
    display: flex;
    gap: 2px;
    padding: 0 var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-08);
    flex-shrink: 0;
}

.rf-pa-chart-tab[b-vf58trpdz6] {
    padding: 7px 14px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-medium);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-pa-chart-tab:hover[b-vf58trpdz6] { color: var(--text-secondary); }

.rf-pa-chart-tab.active[b-vf58trpdz6] {
    color: var(--hud-mode-path);
    border-bottom-color: var(--hud-mode-path);
}

/* ── Chart Body (fills remaining space) ────────────────────────────── */

.rf-pa-chart-body[b-vf58trpdz6] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: var(--space-sm);
}

/* ── Loading State ─────────────────────────────────────────────────── */

.rf-pa-loading[b-vf58trpdz6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-muted);
}

.rf-pa-spinner[b-vf58trpdz6] {
    width: 18px;
    height: 18px;
    border: 2px solid var(--hud-chrome-15);
    border-top-color: var(--hud-mode-path);
    border-radius: 50%;
    animation: rf-pa-spin-b-vf58trpdz6 0.6s linear infinite;
}

@keyframes rf-pa-spin-b-vf58trpdz6 {
    to { transform: rotate(360deg); }
}

/* ── Empty State ───────────────────────────────────────────────────── */

.rf-pa-empty[b-vf58trpdz6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    text-align: center;
}

.rf-pa-empty strong[b-vf58trpdz6] {
    color: var(--hud-mode-path);
    font-family: var(--font-mono);
    font-size: 11px;
}

/* ── Responsive ────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .rf-pa-verdict-strip[b-vf58trpdz6] {
        padding: 6px var(--space-sm);
        gap: var(--space-sm);
    }

    .rf-pa-metrics-row[b-vf58trpdz6] {
        gap: var(--space-sm);
    }
}

/* ── Nudge mode bar ─────────────────────────────────────────────────── */

.rf-pa-nudge-bar[b-vf58trpdz6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    background: var(--hud-chrome-04, transparent);
}

.rf-pa-nudge-label[b-vf58trpdz6] {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--hud-ink-30);
}

.rf-pa-nudge-btn[b-vf58trpdz6] {
    min-width: 26px;
    padding: 3px 8px;
    font-size: 0.68rem;
    font-weight: 700;
    border: 1px solid var(--hud-chrome-06);
    border-radius: var(--radius-sm);
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: var(--transition-fast, all 0.15s ease);
}

.rf-pa-nudge-btn:disabled[b-vf58trpdz6] {
    opacity: 0.35;
    cursor: default;
}

.rf-pa-nudge-btn.source.active[b-vf58trpdz6] {
    background: var(--hud-source-30);
    border-color: var(--hud-source-50);
}

.rf-pa-nudge-btn.dest.active[b-vf58trpdz6] {
    background: var(--hud-dest-30);
    border-color: var(--hud-dest-50);
}

.rf-pa-nudge-hint[b-vf58trpdz6] {
    font-size: 0.62rem;
    color: var(--hud-ink-30);
    letter-spacing: 0.02em;
}
/* _content/Ayva.Lidar/Modes/ViewshedMode.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   ViewshedMode — Compact layout, generate button always visible
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-viewshed[b-ceyh9ixz4r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: var(--space-sm) var(--space-md);
}

/* ── Config View ───────────────────────────────────────────────────── */

.rf-viewshed-config[b-ceyh9ixz4r] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
}

/* Origin row */
.rf-viewshed-row[b-ceyh9ixz4r] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.rf-viewshed-label[b-ceyh9ixz4r] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.08em;
    opacity: 0.7;
    text-transform: uppercase;
    flex-shrink: 0;
    min-width: 55px;
}

.rf-viewshed-origin-coords[b-ceyh9ixz4r] {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-primary);
}

.rf-viewshed-elev[b-ceyh9ixz4r] {
    color: var(--text-muted);
    font-size: 10px;
    margin-left: 4px;
}

.rf-viewshed-hint[b-ceyh9ixz4r] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.rf-viewshed-tiny-btn[b-ceyh9ixz4r] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
}
.rf-viewshed-tiny-btn:hover[b-ceyh9ixz4r] { color: var(--hud-error); border-color: var(--hud-error-30); }

/* Manual entry row */
.rf-viewshed-manual-row[b-ceyh9ixz4r] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.rf-viewshed-input[b-ceyh9ixz4r] {
    flex: 1;
    min-width: 0;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    padding: 5px 8px;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 11px;
    outline: none;
}
.rf-viewshed-input:focus[b-ceyh9ixz4r] { border-color: var(--hud-mode-view); }
.rf-viewshed-input[b-ceyh9ixz4r]::placeholder { color: var(--text-muted); font-size: 10px; }
.rf-viewshed-input[type="number"][b-ceyh9ixz4r]::-webkit-outer-spin-button,
.rf-viewshed-input[type="number"][b-ceyh9ixz4r]::-webkit-inner-spin-button { -webkit-appearance: none; }
.rf-viewshed-input[type="number"][b-ceyh9ixz4r] { -moz-appearance: textfield; }

.rf-viewshed-set-btn[b-ceyh9ixz4r] {
    padding: 5px 10px;
    background: var(--hud-mode-view-12);
    border: 1px solid var(--hud-mode-view-30);
    border-radius: var(--radius-xs);
    color: var(--hud-mode-view);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-bold);
    cursor: pointer;
    flex-shrink: 0;
}
.rf-viewshed-set-btn:disabled[b-ceyh9ixz4r] { opacity: 0.4; cursor: not-allowed; }

/* Params grid — 2 columns, compact */
.rf-viewshed-params-grid[b-ceyh9ixz4r] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    flex: 1;
    min-height: 0;
}

.rf-viewshed-param[b-ceyh9ixz4r] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rf-viewshed-type-toggle[b-ceyh9ixz4r] {
    display: flex;
    gap: 2px;
}

.rf-viewshed-type-opt[b-ceyh9ixz4r] {
    flex: 1;
    padding: 4px 8px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-2xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
}
.rf-viewshed-type-opt:hover[b-ceyh9ixz4r] { background: var(--hud-chrome-05); color: var(--text-secondary); }
.rf-viewshed-type-opt.active[b-ceyh9ixz4r] {
    background: var(--hud-mode-view-08);
    border-color: var(--hud-mode-view-30);
    color: var(--hud-mode-view);
}

.rf-viewshed-slider-row[b-ceyh9ixz4r] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rf-viewshed-slider[b-ceyh9ixz4r] {
    flex: 1;
    accent-color: var(--hud-mode-view);
    height: 3px;
    min-width: 0;
}

.rf-viewshed-val[b-ceyh9ixz4r] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-primary);
    min-width: 40px;
    text-align: right;
    white-space: nowrap;
}

/* Generate button — always at bottom */
.rf-viewshed-generate-btn[b-ceyh9ixz4r] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 8px;
    background: var(--hud-mode-view-12);
    border: 1px solid var(--hud-mode-view-30);
    border-radius: var(--radius-sm);
    color: var(--hud-mode-view);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-bold);
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
    margin-top: auto;
}
.rf-viewshed-generate-btn:hover:not(:disabled)[b-ceyh9ixz4r] { background: var(--hud-mode-view-20); }
.rf-viewshed-generate-btn:disabled[b-ceyh9ixz4r] { opacity: 0.4; cursor: not-allowed; }

.rf-viewshed-btn-spinner[b-ceyh9ixz4r] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--hud-mode-view-20);
    border-top-color: var(--hud-mode-view);
    border-radius: 50%;
    animation: vs-spin-b-ceyh9ixz4r 0.6s linear infinite;
}

.rf-viewshed-error[b-ceyh9ixz4r] {
    padding: 6px 10px;
    background: var(--hud-error-08);
    border: 1px solid var(--hud-error-20);
    border-radius: var(--radius-xs);
    color: var(--hud-error);
    font-family: var(--font-mono);
    font-size: 10px;
    flex-shrink: 0;
}

/* ── Results View ──────────────────────────────────────────────────── */

.rf-viewshed-results[b-ceyh9ixz4r] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    height: 100%;
}

.rf-viewshed-stat-grid[b-ceyh9ixz4r] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.rf-viewshed-stat[b-ceyh9ixz4r] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-08);
    border-radius: var(--radius-sm);
    text-align: center;
}

.rf-viewshed-stat-value[b-ceyh9ixz4r] {
    font-family: var(--font-mono);
    font-size: 16px;
    font-weight: var(--font-bold);
    color: var(--text-primary);
}
.rf-viewshed-stat-value.rf-viewshed-stat-green[b-ceyh9ixz4r] { color: var(--hud-mode-view); }

.rf-viewshed-stat-label[b-ceyh9ixz4r] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    letter-spacing: 0.06em;
}

.rf-viewshed-result-meta[b-ceyh9ixz4r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    padding: 4px 0;
}

/* W1.6 — elevation provenance chip (DSM / DEM / Mixed), honest data-source badge */
.rf-viewshed-provenance[b-ceyh9ixz4r] {
    padding: 2px 8px;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    letter-spacing: 0.06em;
    white-space: nowrap;
}
.rf-viewshed-provenance-dsm[b-ceyh9ixz4r] {
    border-color: var(--hud-mode-view-30);
    color: var(--hud-mode-view);
}

/* W1.6 — RF-unavailable honesty banner (informational, not an error) */
.rf-viewshed-notice[b-ceyh9ixz4r] {
    padding: 6px 10px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-15);
    border-left: 2px solid var(--hud-warning);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.5;
    flex-shrink: 0;
}

/* W1.6 — 3D overlay show/hide toggle */
.rf-viewshed-overlay-btn[b-ceyh9ixz4r] {
    padding: 8px 14px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all var(--transition-fast);
}
.rf-viewshed-overlay-btn:hover[b-ceyh9ixz4r] {
    border-color: var(--hud-mode-view-30);
    color: var(--hud-mode-view);
}

.rf-viewshed-result-actions[b-ceyh9ixz4r] {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

.rf-viewshed-rerun-btn[b-ceyh9ixz4r] {
    flex: 1;
    padding: 8px;
    background: var(--hud-mode-view-12);
    border: 1px solid var(--hud-mode-view-30);
    border-radius: var(--radius-sm);
    color: var(--hud-mode-view);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-bold);
    letter-spacing: 0.08em;
    cursor: pointer;
}

.rf-viewshed-clear-btn[b-ceyh9ixz4r] {
    padding: 8px 16px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 10px;
    cursor: pointer;
}
.rf-viewshed-clear-btn:hover[b-ceyh9ixz4r] { border-color: var(--hud-error); color: var(--hud-error); }

@keyframes vs-spin-b-ceyh9ixz4r { to { transform: rotate(360deg); } }

@media (max-width: 768px) {
    .rf-viewshed-stat-grid[b-ceyh9ixz4r] { grid-template-columns: 1fr 1fr; }
    .rf-viewshed-params-grid[b-ceyh9ixz4r] { grid-template-columns: 1fr; }
}

/* ── W2.3: reduced motion ─────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .rf-viewshed-type-opt[b-ceyh9ixz4r],
    .rf-viewshed-tiny-btn[b-ceyh9ixz4r],
    .rf-viewshed-generate-btn[b-ceyh9ixz4r],
    .rf-viewshed-rerun-btn[b-ceyh9ixz4r],
    .rf-viewshed-overlay-btn[b-ceyh9ixz4r],
    .rf-viewshed-clear-btn[b-ceyh9ixz4r] {
        transition: none;
    }

    .rf-viewshed-btn-spinner[b-ceyh9ixz4r] {
        animation: none;
    }
}
/* _content/Ayva.Lidar/Pages/LidarViewer.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   LiDAR Viewer page container — themed dark background (glassmorphism).

   MINIMUM SUPPORTED VIEWPORT: 1280px wide (desktop-first, per project
   standard for admin/engineering interfaces). The viewer is a docked
   three-column workstation (320px search dock + viewport + 320px settings
   dock) that needs >=1280px to present all surfaces simultaneously.
   Narrower breakpoints in component CSS (1024/768/640) are graceful
   degradation for below-min-spec windows and embedded admin tiles, not
   supported targets.
   ═══════════════════════════════════════════════════════════════════════════ */

.coms-page-container[b-sw37s85kcu] {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    position: relative;
    min-height: 100vh;
    background: var(--bg-base);
}

/* Prevent MudContainer from forcing 100% width inside the page container. */
.coms-page-container[b-sw37s85kcu]  .mud-container {
    width: auto !important;
    max-width: 100%;
}

/* Fullscreen viewer wrapper. This rule MUST live here: an identically named
   class in Ayva.Admin's AdminPanel.razor.css is scope-isolated to that
   component and can never match the element this page renders — the layout
   previously worked only by accident via .coms-page-container. */
.lidar-fullscreen-container[b-sw37s85kcu] {
    position: absolute;
    inset: 0;
    z-index: 10;
    background: var(--bg-base);
    overflow: hidden;
}
/* _content/Ayva.Lidar/Shared/AnalysisCompareView.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   AnalysisCompareView — W3.1 A/B compare overlay
   Tactical-glass palette (--hud-*) comes from ayva-theme.css (:root).
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-cmp-backdrop[b-e97jln1z6y] {
    position: fixed;
    inset: 0;
    background: var(--overlay-bg, rgba(0, 0, 0, 0.55));
    z-index: 1200;
}

.rf-cmp-panel[b-e97jln1z6y] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(920px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: var(--hud-glass-heavy, var(--hud-glass-medium));
    border: 1px solid var(--hud-chrome-30);
    border-radius: var(--radius-md);
    backdrop-filter: blur(14px);
    z-index: 1201;
}

.rf-cmp-header[b-e97jln1z6y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-15);
}

.rf-cmp-title[b-e97jln1z6y] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    letter-spacing: 0.12em;
    color: var(--hud-chrome);
}

.rf-cmp-close[b-e97jln1z6y] {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 4px;
}

.rf-cmp-close:hover[b-e97jln1z6y] {
    color: var(--text-primary);
}

.rf-cmp-body[b-e97jln1z6y] {
    overflow-y: auto;
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.rf-cmp-runs[b-e97jln1z6y] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
}

.rf-cmp-run[b-e97jln1z6y] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: var(--space-sm);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    background: var(--hud-glass-medium);
}

.rf-cmp-run-tag[b-e97jln1z6y] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 700;
}

.run-a .rf-cmp-run-tag[b-e97jln1z6y] {
    background: var(--hud-mode-path-30);
    color: var(--hud-mode-path);
}

.run-b .rf-cmp-run-tag[b-e97jln1z6y] {
    background: var(--hud-mode-meas-30);
    color: var(--hud-mode-meas);
}

.rf-cmp-run-label[b-e97jln1z6y] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-primary);
}

.rf-cmp-run-date[b-e97jln1z6y] {
    flex-shrink: 0;
    font-family: var(--font-primary);
    font-size: 0.625rem;
    color: var(--text-muted);
}

.rf-cmp-changed[b-e97jln1z6y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.rf-cmp-changed.none[b-e97jln1z6y] {
    color: var(--text-muted);
}

.rf-cmp-changed-label[b-e97jln1z6y] {
    letter-spacing: 0.08em;
    color: var(--hud-warning);
}

.rf-cmp-chip[b-e97jln1z6y] {
    padding: 1px 7px;
    border: 1px solid var(--hud-warning-25);
    border-radius: var(--radius-sm);
    color: var(--hud-warning);
    font-size: 0.625rem;
}

.rf-cmp-section[b-e97jln1z6y] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rf-cmp-section-label[b-e97jln1z6y] {
    font-family: var(--font-primary);
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    color: var(--hud-chrome);
}

.rf-cmp-table[b-e97jln1z6y] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
}

.rf-cmp-table th[b-e97jln1z6y] {
    text-align: left;
    padding: 4px 8px;
    color: var(--text-muted);
    font-weight: 500;
    border-bottom: 1px solid var(--hud-chrome-20);
}

.rf-cmp-table td[b-e97jln1z6y] {
    padding: 4px 8px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--hud-chrome-08, var(--hud-chrome-15));
}

.rf-cmp-table tr.changed td[b-e97jln1z6y] {
    color: var(--text-primary);
    background: var(--hud-warning-08, var(--hud-mode-meas-08));
}

.rf-cmp-table tr.changed td:first-child[b-e97jln1z6y] {
    border-left: 2px solid var(--hud-warning);
}

.rf-cmp-table td.delta[b-e97jln1z6y] {
    color: var(--hud-mode-path);
}

.rf-cmp-note[b-e97jln1z6y] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Terrain overlay SVG ── */

.rf-cmp-chart[b-e97jln1z6y] {
    width: 100%;
    height: 220px;
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
}

.rf-cmp-chart .cmp-fresnel[b-e97jln1z6y] {
    fill: var(--hud-mode-path-08);
    stroke: var(--hud-mode-path-30);
    stroke-width: 0.5;
}

.rf-cmp-chart polyline[b-e97jln1z6y] {
    fill: none;
    vector-effect: non-scaling-stroke;
}

.rf-cmp-chart .cmp-ground-a[b-e97jln1z6y] {
    stroke: var(--hud-source);
    stroke-width: 1.5;
}

.rf-cmp-chart .cmp-ground-a.dem[b-e97jln1z6y] {
    stroke: var(--hud-chrome-50);
    stroke-dasharray: 3 2;
}

.rf-cmp-chart .cmp-los-a[b-e97jln1z6y] {
    stroke: var(--hud-mode-path);
    stroke-width: 1.5;
}

.rf-cmp-chart .cmp-ground-b[b-e97jln1z6y] {
    stroke: var(--hud-mode-meas);
    stroke-width: 1.25;
    stroke-dasharray: 5 3;
    opacity: 0.8;
}

.rf-cmp-chart .cmp-los-b[b-e97jln1z6y] {
    stroke: var(--hud-mode-meas);
    stroke-width: 1;
    stroke-dasharray: 2 3;
    opacity: 0.7;
}

.rf-cmp-legend[b-e97jln1z6y] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-family: var(--font-primary);
    font-size: 0.625rem;
    color: var(--text-muted);
}

.rf-cmp-legend .lg[b-e97jln1z6y]::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 2px;
    margin-right: 4px;
    vertical-align: middle;
}

.rf-cmp-legend .a-ground[b-e97jln1z6y]::before { background: var(--hud-source); }
.rf-cmp-legend .a-los[b-e97jln1z6y]::before { background: var(--hud-mode-path); }
.rf-cmp-legend .b-ground[b-e97jln1z6y]::before { background: var(--hud-mode-meas); }
.rf-cmp-legend .b-los[b-e97jln1z6y]::before { background: var(--hud-mode-meas); opacity: 0.6; }
.rf-cmp-legend .unit[b-e97jln1z6y] { margin-left: auto; }

@media (max-width: 768px) {
    .rf-cmp-runs[b-e97jln1z6y] {
        grid-template-columns: 1fr;
    }
}
/* _content/Ayva.Lidar/Shared/AnalysisErrorStrip.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   AnalysisErrorStrip — W1.7 truth-arrival error / status strip
   Tactical-glass palette (--hud-*) comes from ayva-theme.css (:root).
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-errstrip[b-meroxgtnu1] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-error-30);
    border-left: 3px solid var(--hud-error);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
}

.rf-errstrip-main[b-meroxgtnu1] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--hud-error);
}

.rf-errstrip-main svg[b-meroxgtnu1] {
    flex-shrink: 0;
    margin-top: 1px;
}

.rf-errstrip-text[b-meroxgtnu1] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.rf-errstrip-hint[b-meroxgtnu1] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--text-secondary);
    padding-left: 21px;
}

/* DSM-coverage note — informational (amber), not an error */
.rf-errstrip.dsm-note[b-meroxgtnu1] {
    border-color: var(--hud-warning-25);
    border-left-color: var(--hud-warning);
}

.rf-errstrip.dsm-note .rf-errstrip-main[b-meroxgtnu1] {
    color: var(--hud-warning);
}

.rf-errstrip.dsm-note .rf-errstrip-text[b-meroxgtnu1] {
    color: var(--text-secondary);
}
/* _content/Ayva.Lidar/Shared/GlobalSettings.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   GlobalSettings — Docked panel content (parent provides container)
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-gs-content[b-geusrjaz17] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.rf-gs-header[b-geusrjaz17] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-10);
}

.rf-gs-title[b-geusrjaz17] {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-semibold);
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
}

.rf-gs-close[b-geusrjaz17] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-gs-close:hover[b-geusrjaz17] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

.rf-gs-body[b-geusrjaz17] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-md);
    scrollbar-width: thin;
    scrollbar-color: var(--hud-chrome-20) transparent;
}

/* ── Sections ──────────────────────────────────────────────────────────── */

.rf-gs-section[b-geusrjaz17] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-05);
}

.rf-gs-section:last-child[b-geusrjaz17] {
    border-bottom: none;
    margin-bottom: 0;
}

.rf-gs-section-label[b-geusrjaz17] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
    opacity: 0.7;
}

.rf-gs-section-header-row[b-geusrjaz17] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── Fields ────────────────────────────────────────────────────────────── */

.rf-gs-field[b-geusrjaz17] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rf-gs-field-label[b-geusrjaz17] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    letter-spacing: 0.08em;
}

/* Two-column grid for compact layout */
.rf-gs-grid-2col[b-geusrjaz17] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm) var(--space-md);
}

.rf-gs-slider-row[b-geusrjaz17] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.rf-gs-slider[b-geusrjaz17] {
    flex: 1;
    accent-color: var(--hud-chrome);
    height: 4px;
    min-width: 0;
}

.rf-gs-value[b-geusrjaz17] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-primary);
    min-width: 32px;
    text-align: right;
    white-space: nowrap;
}

/* Select buttons row */
.rf-gs-select-row[b-geusrjaz17] {
    display: flex;
    gap: 2px;
}

.rf-gs-select-btn[b-geusrjaz17] {
    flex: 1;
    padding: 5px 4px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
    white-space: nowrap;
}

.rf-gs-select-btn:hover[b-geusrjaz17] {
    background: var(--hud-chrome-05);
    border-color: var(--hud-chrome-20);
    color: var(--text-secondary);
}

.rf-gs-select-btn.active[b-geusrjaz17] {
    background: var(--hud-chrome-15);
    border-color: var(--hud-chrome-35);
    color: var(--hud-chrome);
}

/* Dropdown select */
.rf-gs-dropdown[b-geusrjaz17] {
    width: 100%;
    padding: 5px 8px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 10px;
    cursor: pointer;
    transition: border-color var(--transition-fast);
    appearance: auto;
}

.rf-gs-dropdown:hover[b-geusrjaz17],
.rf-gs-dropdown:focus[b-geusrjaz17] {
    border-color: var(--hud-chrome-35);
    outline: none;
}

.rf-gs-dropdown option[b-geusrjaz17] {
    background: var(--hud-glass-heavy);
    color: var(--text-primary);
}

/* Toggles */
.rf-gs-toggle[b-geusrjaz17] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    cursor: pointer;
    padding: 4px 0;
}

.rf-gs-toggle input[type="checkbox"][b-geusrjaz17] {
    accent-color: var(--hud-chrome);
}

.rf-gs-toggle-label[b-geusrjaz17] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

/* W5.2b — provenance legend under the DSM-boundary toggle. */
.rf-gs-hint[b-geusrjaz17] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0;
    padding-left: var(--space-md);
    border-left: 2px solid var(--hud-chrome-20);
}

/* ── Reset button ─────────────────────────────────────────────────────── */

.rf-gs-reset-btn[b-geusrjaz17] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-gs-reset-btn:hover[b-geusrjaz17] {
    border-color: var(--hud-chrome-30);
    color: var(--hud-chrome);
    background: var(--hud-chrome-05);
}

/* ── Classification color grid ────────────────────────────────────────── */

.rf-gs-class-grid[b-geusrjaz17] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}

.rf-gs-class-item[b-geusrjaz17] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 4px;
    border-radius: var(--radius-2xs);
    transition: background var(--transition-fast);
}

.rf-gs-class-item:hover[b-geusrjaz17] {
    background: var(--hud-chrome-05);
}

.rf-gs-color-swatch[b-geusrjaz17] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    padding: 0;
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-2xs);
    cursor: pointer;
    background: transparent;
}

.rf-gs-color-swatch[b-geusrjaz17]::-webkit-color-swatch-wrapper {
    padding: 1px;
}

.rf-gs-color-swatch[b-geusrjaz17]::-webkit-color-swatch {
    border: none;
    border-radius: 2px;
}

.rf-gs-color-swatch[b-geusrjaz17]::-moz-color-swatch {
    border: none;
    border-radius: 2px;
}

.rf-gs-class-label[b-geusrjaz17] {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Placeholder */
.rf-gs-placeholder[b-geusrjaz17] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    padding: var(--space-sm);
    background: var(--hud-chrome-05);
    border-radius: var(--radius-xs);
    text-align: center;
}

/* ── Responsive (container-width aware) ───────────────────────────────── */

@media (max-width: 640px) {
    .rf-gs-content[b-geusrjaz17] {
        width: 100%;
    }

    .rf-gs-grid-2col[b-geusrjaz17] {
        grid-template-columns: 1fr;
    }

    .rf-gs-class-grid[b-geusrjaz17] {
        grid-template-columns: 1fr;
    }
}

/* ── W3.4 Presets ─────────────────────────────────────────────────────── */

.rf-gs-preset-row[b-geusrjaz17] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.rf-gs-preset-btn[b-geusrjaz17] {
    padding: 5px 8px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.rf-gs-preset-btn:hover:not(:disabled)[b-geusrjaz17] {
    color: var(--text-primary);
    border-color: var(--hud-chrome-30);
}

.rf-gs-preset-btn:disabled[b-geusrjaz17] {
    opacity: 0.4;
    cursor: not-allowed;
}

.rf-gs-preset-btn.reset[b-geusrjaz17] {
    align-self: flex-start;
    color: var(--hud-warning);
    border-color: var(--hud-warning-25);
}

.rf-gs-custom-preset[b-geusrjaz17] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.rf-gs-preset-del[b-geusrjaz17] {
    padding: 2px 6px;
    background: transparent;
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-gs-preset-del:hover[b-geusrjaz17] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

.rf-gs-preset-save[b-geusrjaz17] {
    display: flex;
    gap: 4px;
}

.rf-gs-preset-save input[b-geusrjaz17] {
    flex: 1;
    min-width: 0;
    padding: 5px 8px;
    background: var(--hud-chrome-05);
    border: 1px solid var(--hud-chrome-10);
    border-radius: var(--radius-xs);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: 10px;
}

.rf-gs-preset-save input:focus[b-geusrjaz17] {
    outline: none;
    border-color: var(--hud-chrome-30);
}
/* _content/Ayva.Lidar/Shared/HotkeyHelpOverlay.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   HotkeyHelpOverlay — '?' shortcut reference (W4.1)
   Glassmorphism modal over the viewer; focus-trapped; Esc closes.
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-help-backdrop[b-ztd3zrgmia] {
    position: fixed;
    inset: 0;
    background: var(--dialog-backdrop);
    z-index: 400;
}

.rf-help-sentinel[b-ztd3zrgmia] {
    position: fixed;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.rf-help-dialog[b-ztd3zrgmia] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, calc(100vw - 32px));
    max-height: min(80vh, 640px);
    display: flex;
    flex-direction: column;
    background: var(--hud-glass-heavy);
    border: 1px solid var(--hud-chrome-25);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(16px);
    z-index: 401;
    overflow: hidden;
}

.rf-help-header[b-ztd3zrgmia] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md);
    border-bottom: 1px solid var(--hud-chrome-15);
}

.rf-help-title[b-ztd3zrgmia] {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--font-semibold);
    letter-spacing: 0.12em;
    color: var(--hud-chrome);
}

.rf-help-close[b-ztd3zrgmia] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-help-close:hover[b-ztd3zrgmia],
.rf-help-close:focus-visible[b-ztd3zrgmia] {
    background: var(--hud-chrome-20);
    border-color: var(--hud-chrome-40);
    color: var(--text-primary);
}

.rf-help-body[b-ztd3zrgmia] {
    padding: var(--space-md);
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-md);
}

.rf-help-group[b-ztd3zrgmia] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rf-help-group-label[b-ztd3zrgmia] {
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.rf-help-row[b-ztd3zrgmia] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
}

.rf-help-keys[b-ztd3zrgmia] {
    flex-shrink: 0;
    min-width: 84px;
    padding: 2px 6px;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--hud-chrome);
    text-align: center;
}

.rf-help-keys.inline[b-ztd3zrgmia] {
    min-width: unset;
}

.rf-help-desc[b-ztd3zrgmia] {
    font-size: 11px;
    color: var(--text-secondary);
}

.rf-help-footer[b-ztd3zrgmia] {
    padding: var(--space-sm) var(--space-md);
    border-top: 1px solid var(--hud-chrome-10);
    font-size: 10px;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

@media (max-width: 640px) {
    .rf-help-body[b-ztd3zrgmia] {
        grid-template-columns: 1fr;
    }
}
/* _content/Ayva.Lidar/Shared/LaunchSplash.razor.rz.scp.css */
/* ── W5.1 Launch Splash (extracted from LidarViewerPanel.razor.css) ─────
   Tokens come from the global Tactical Glass palette (--hud-*) in
   wwwroot/assets/css/ayva-theme.css — the splash renders OUTSIDE .rf-shell
   and must resolve the same tokens. */

.rf-launch-screen[b-g8czo43c4m] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-base);
}

.rf-launch-card[b-g8czo43c4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-2xl);
    background: var(--hud-glass-light);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-xl);
    backdrop-filter: blur(16px);
    max-width: 480px;
    width: 90%;
    animation: launch-fade-in-b-g8czo43c4m 0.6s ease;
}

.rf-launch-logo[b-g8czo43c4m] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-family: var(--font-mono);
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--hud-chrome);
    letter-spacing: 0.15em;
}

.rf-logo-triangle[b-g8czo43c4m] {
    font-size: var(--text-2xl);
}

.rf-logo-text[b-g8czo43c4m] {
    text-shadow: 0 0 12px var(--hud-chrome-30);
}

.rf-launch-subtitle[b-g8czo43c4m] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    text-align: center;
    margin: 0;
}

.rf-launch-sources[b-g8czo43c4m],
.rf-launch-coords[b-g8czo43c4m] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.rf-section-label[b-g8czo43c4m] {
    font-family: var(--font-mono);
    font-size: var(--hud-text-section);
    font-weight: var(--font-semibold);
    color: var(--hud-chrome);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
}

.rf-source-toggle[b-g8czo43c4m] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    cursor: pointer;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.rf-source-toggle input[type="checkbox"][b-g8czo43c4m] {
    accent-color: var(--hud-chrome);
}

.rf-coords-row[b-g8czo43c4m] {
    display: grid;
    /* minmax(0, 1fr): number inputs carry an intrinsic min-content width
       that beats plain 1fr (grid min-width:auto) — the ELEV field escaped
       the modal without it. */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
}

.rf-coord-field[b-g8czo43c4m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rf-coord-field label[b-g8czo43c4m] {
    font-family: var(--font-mono);
    font-size: var(--hud-text-label);
    color: var(--hud-chrome);
    letter-spacing: 0.1em;
    opacity: 0.6;
}

.rf-coord-field input[b-g8czo43c4m] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    padding: var(--space-xs) var(--space-sm);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    outline: none;
    transition: border-color var(--transition-fast);
}

.rf-coord-field input:focus[b-g8czo43c4m] {
    border-color: var(--hud-chrome);
}

.rf-launch-btn[b-g8czo43c4m] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-lg);
    background: var(--accent-gradient);
    border: none;
    border-radius: var(--radius-sm);
    color: var(--hud-text-bright);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-launch-btn:hover[b-g8czo43c4m] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

/* W5.2b — empty registry: launch is pointless with nothing to load. */
.rf-launch-btn:disabled[b-g8czo43c4m] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.rf-launch-empty[b-g8czo43c4m] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    background: var(--hud-chrome-08);
    border: 1px dashed var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    padding: var(--space-sm) var(--space-md);
    margin: 0;
}

.rf-launch-note[b-g8czo43c4m] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-align: center;
    margin: 0;
}

@keyframes launch-fade-in-b-g8czo43c4m {
    from { opacity: 0; transform: scale(0.97); }
    to { opacity: 1; transform: scale(1); }
}

/* Below-min-spec degradation (min supported viewport is 1280px — see
   Pages/LidarViewer.razor.css). */
@media (max-width: 768px) {
    .rf-launch-card[b-g8czo43c4m] {
        padding: var(--space-lg);
    }

    .rf-coords-row[b-g8czo43c4m] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .rf-launch-card[b-g8czo43c4m] {
        padding: var(--space-md);
        gap: var(--space-md);
    }

    .rf-launch-logo[b-g8czo43c4m] {
        font-size: var(--text-lg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rf-launch-card[b-g8czo43c4m] {
        animation: none;
    }

    .rf-launch-btn[b-g8czo43c4m] {
        transition: none;
    }
}
/* _content/Ayva.Lidar/Shared/MyAnalysesRail.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   MyAnalysesRail — W3.1 saved-analysis library (left dock tab)
   Tactical-glass palette (--hud-*) comes from ayva-theme.css (:root).
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-lib[b-t6729hefyv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-height: 0;
}

.rf-lib-controls[b-t6729hefyv] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.rf-lib-search[b-t6729hefyv] {
    flex: 1;
    min-width: 0;
}

.rf-lib-search input[b-t6729hefyv],
.rf-lib-viability[b-t6729hefyv] {
    width: 100%;
    padding: 5px 8px;
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
}

.rf-lib-viability[b-t6729hefyv] {
    width: auto;
    flex-shrink: 0;
}

.rf-lib-search input:focus[b-t6729hefyv],
.rf-lib-viability:focus[b-t6729hefyv] {
    outline: none;
    border-color: var(--hud-chrome-40);
}

.rf-lib-loading[b-t6729hefyv],
.rf-lib-empty[b-t6729hefyv] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--space-md);
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.5;
}

.rf-lib-error[b-t6729hefyv] {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--hud-error-30);
    border-left: 3px solid var(--hud-error);
    border-radius: var(--radius-sm);
    background: var(--hud-glass-medium);
    color: var(--hud-error);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
}

.rf-lib-spinner[b-t6729hefyv] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--hud-chrome-20);
    border-top-color: var(--hud-chrome);
    border-radius: 50%;
    animation: rf-lib-spin-b-t6729hefyv 0.8s linear infinite;
}

@keyframes rf-lib-spin-b-t6729hefyv {
    to { transform: rotate(360deg); }
}

.rf-lib-rows[b-t6729hefyv] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow-y: auto;
    min-height: 0;
}

.rf-lib-row[b-t6729hefyv] {
    padding: var(--space-sm);
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
    transition: var(--transition-fast);
}

.rf-lib-row:hover[b-t6729hefyv] {
    border-color: var(--hud-chrome-30);
}

.rf-lib-row.pending-delete[b-t6729hefyv] {
    border-color: var(--hud-error-30);
}

.rf-lib-row-head[b-t6729hefyv] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.rf-lib-compare[b-t6729hefyv] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.rf-lib-label[b-t6729hefyv] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-primary);
}

.rf-lib-verdict[b-t6729hefyv] {
    flex-shrink: 0;
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    border: 1px solid var(--hud-chrome-25);
    color: var(--text-secondary);
}

.rf-lib-verdict.v-excellent[b-t6729hefyv],
.rf-lib-verdict.v-good[b-t6729hefyv] {
    color: var(--hud-success);
    border-color: var(--hud-success-30);
}

.rf-lib-verdict.v-marginal[b-t6729hefyv] {
    color: var(--hud-warning);
    border-color: var(--hud-warning-25);
}

.rf-lib-verdict.v-notviable[b-t6729hefyv] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

.rf-lib-row-meta[b-t6729hefyv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-family: var(--font-primary);
    font-size: 0.625rem;
    color: var(--text-muted);
}

.rf-lib-badge[b-t6729hefyv] {
    padding: 0 5px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--hud-chrome-25);
    color: var(--text-secondary);
    letter-spacing: 0.04em;
}

.rf-lib-badge.prov[b-t6729hefyv] {
    border-color: var(--hud-mode-path-30);
    color: var(--hud-mode-path);
}

.rf-lib-badge.cust[b-t6729hefyv] {
    border-color: var(--hud-source);
    color: var(--hud-source);
}

.rf-lib-expiry.expired[b-t6729hefyv] {
    color: var(--hud-error);
}

.rf-lib-row-actions[b-t6729hefyv] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.rf-lib-act[b-t6729hefyv] {
    padding: 3px 8px;
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition-fast);
}

.rf-lib-act:hover:not(:disabled)[b-t6729hefyv] {
    border-color: var(--hud-chrome-40);
    color: var(--text-primary);
}

.rf-lib-act:disabled[b-t6729hefyv] {
    opacity: 0.4;
    cursor: not-allowed;
}

.rf-lib-act.danger[b-t6729hefyv] {
    color: var(--hud-error);
    border-color: var(--hud-error-30);
}

.rf-lib-act.primary[b-t6729hefyv] {
    color: var(--hud-mode-path);
    border-color: var(--hud-mode-path-30);
}

.rf-lib-pager[b-t6729hefyv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.rf-lib-page-info[b-t6729hefyv] {
    font-family: var(--font-primary);
    font-size: 0.625rem;
    color: var(--text-muted);
}

.rf-lib-compare-bar[b-t6729hefyv] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--space-sm);
    border: 1px solid var(--hud-mode-path-30);
    border-radius: var(--radius-sm);
    background: var(--hud-mode-path-08);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}
/* _content/Ayva.Lidar/Shared/RemediationHint.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   RemediationHint — W2.1 actionable fix hint next to the verdict.
   Visual language matches AnalysisErrorStrip (tactical-glass strip), but as
   guidance (accent/warning) rather than failure (error).
   ═══════════════════════════════════════════════════════════════════════════ */

.rf-remed[b-9gpq1y13t8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--hud-glass-medium);
    border: 1px solid var(--hud-chrome-20);
    border-left: 3px solid var(--hud-warning);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
}

.rf-remed-main[b-9gpq1y13t8] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--hud-warning);
}

.rf-remed-main svg[b-9gpq1y13t8] {
    flex-shrink: 0;
    margin-top: 1px;
}

.rf-remed-text[b-9gpq1y13t8] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

/* Budget-limited: informative accent, not obstruction amber */
.rf-remed.remed-budget[b-9gpq1y13t8] {
    border-left-color: var(--hud-source);
}

.rf-remed.remed-budget .rf-remed-main[b-9gpq1y13t8] {
    color: var(--hud-source);
}

/* Seam caveat — honesty first: suspect data gets its own line */
.rf-remed-caveat[b-9gpq1y13t8] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--text-secondary);
    padding-left: 21px;
    font-style: italic;
}
/* _content/Ayva.Lidar/Shared/RfQuickConfig.razor.rz.scp.css */
/* ── W5.1 Quick Config (extracted from LidarViewerPanel.razor.css) ──────
   Inline in the side panel below endpoint search. */

.rf-quickconfig[b-5rd8bmffcd] {
    padding: 0 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rf-qc-divider[b-5rd8bmffcd] {
    height: 1px;
    background: var(--hud-chrome-10);
    margin: 4px 0 8px;
}

.rf-qc-label[b-5rd8bmffcd] {
    font-family: var(--font-mono);
    font-size: var(--hud-text-section);
    font-weight: var(--font-semibold);
    color: var(--hud-mode-path);
    letter-spacing: 0.1em;
}

.rf-qc-grid[b-5rd8bmffcd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.rf-qc-field[b-5rd8bmffcd] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rf-qc-field label[b-5rd8bmffcd] {
    font-family: var(--font-mono);
    font-size: var(--hud-text-label);
    color: var(--text-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rf-qc-field input[b-5rd8bmffcd],
.rf-qc-field select[b-5rd8bmffcd] {
    width: 100%;
    box-sizing: border-box;
    background: var(--hud-chrome-08);
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    padding: 6px 8px;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--hud-text-value);
    outline: none;
    transition: border-color var(--transition-fast);
}

.rf-qc-field input:focus[b-5rd8bmffcd],
.rf-qc-field select:focus[b-5rd8bmffcd] {
    border-color: var(--hud-mode-path);
}

.rf-qc-field select option[b-5rd8bmffcd] {
    background: var(--hud-glass-solid);
    color: var(--text-primary);
}

/* Remove number spinners */
.rf-qc-field input[type="number"][b-5rd8bmffcd]::-webkit-outer-spin-button,
.rf-qc-field input[type="number"][b-5rd8bmffcd]::-webkit-inner-spin-button {
    -webkit-appearance: none; margin: 0;
}
.rf-qc-field input[type="number"][b-5rd8bmffcd] { -moz-appearance: textfield; }

.rf-analyze-btn[b-5rd8bmffcd] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, var(--hud-mode-path), var(--hud-source));
    border: none;
    border-radius: var(--radius-sm);
    color: var(--hud-ink);
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: var(--font-bold);
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all var(--transition-fast);
    margin-top: 4px;
}

.rf-analyze-btn:hover:not(:disabled)[b-5rd8bmffcd] {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px var(--hud-mode-path-30);
}

.rf-analyze-btn:disabled[b-5rd8bmffcd] {
    opacity: 0.5;
    cursor: not-allowed;
}

.rf-btn-spinner[b-5rd8bmffcd] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--hud-ink-30);
    border-top-color: var(--hud-ink);
    border-radius: 50%;
    animation: qc-spin-b-5rd8bmffcd 0.6s linear infinite;
}

.rf-clear-btn[b-5rd8bmffcd] {
    width: 100%;
    padding: 7px;
    background: transparent;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: var(--hud-text-label);
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.rf-clear-btn:hover[b-5rd8bmffcd] {
    border-color: var(--hud-error);
    color: var(--hud-error);
}

.rf-qc-hint[b-5rd8bmffcd] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    border-top: 1px solid var(--hud-chrome-08);
}

.rf-qc-hint svg[b-5rd8bmffcd] {
    flex-shrink: 0;
    color: var(--hud-mode-path);
    opacity: 0.6;
}

@keyframes qc-spin-b-5rd8bmffcd {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .rf-analyze-btn[b-5rd8bmffcd],
    .rf-clear-btn[b-5rd8bmffcd] {
        transition: none;
    }
}
/* _content/Ayva.Lidar/Shared/ShareExportMenu.razor.rz.scp.css */
/* ShareExportMenu — Dropdown with share & export options */

.se-container[b-kmi7t11nsh] {
    position: relative;
    display: inline-block;
}

.se-trigger[b-kmi7t11nsh] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--hud-chrome-10);
    border: 1px solid var(--hud-chrome-30);
    color: var(--hud-chrome);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 11px;
    font-family: var(--font-mono);
    font-weight: var(--font-semibold);
    letter-spacing: 0.04em;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.se-trigger:hover:not(:disabled)[b-kmi7t11nsh] {
    background: var(--hud-chrome-20);
    border-color: var(--hud-chrome);
    color: var(--text-primary);
}

.se-trigger.active[b-kmi7t11nsh] {
    background: var(--hud-chrome-20);
    border-color: var(--hud-chrome);
}

.se-trigger:disabled[b-kmi7t11nsh] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Backdrop */
.se-backdrop[b-kmi7t11nsh] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

/* Dropdown */
.se-dropdown[b-kmi7t11nsh] {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    background: var(--hud-glass-heavy);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    z-index: 100;
    overflow: hidden;
    backdrop-filter: blur(12px);
}

/* Sections */
.se-section[b-kmi7t11nsh] {
    padding: 8px 0;
}

.se-section + .se-section[b-kmi7t11nsh] {
    border-top: 1px solid var(--hud-chrome-10);
}

.se-section-label[b-kmi7t11nsh] {
    display: block;
    padding: 4px 14px 6px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    font-weight: var(--font-semibold);
}

/* Items */
.se-item[b-kmi7t11nsh] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 7px 14px;
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 12px;
    font-family: var(--font-primary);
    text-align: left;
    transition: all var(--transition-fast);
}

.se-item:hover:not(:disabled)[b-kmi7t11nsh] {
    background: var(--hud-chrome-10);
    color: var(--text-primary);
}

.se-item:disabled[b-kmi7t11nsh] {
    opacity: 0.4;
    cursor: not-allowed;
}

.se-item svg[b-kmi7t11nsh] {
    flex-shrink: 0;
    opacity: 0.7;
}

.se-badge[b-kmi7t11nsh] {
    margin-left: auto;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: var(--radius-2xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.se-badge.success[b-kmi7t11nsh] {
    background: var(--hud-success-15);
    color: var(--hud-success);
}

/* W1.7 — honest send-outcome badges */
.se-badge.failed[b-kmi7t11nsh] {
    background: var(--hud-error-15);
    color: var(--hud-error);
}

.se-badge.suppressed[b-kmi7t11nsh] {
    background: var(--hud-warning-12);
    color: var(--hud-warning);
    text-transform: none; /* keep 'dev-suppressed' readable */
}

/* Input row */
.se-input-row[b-kmi7t11nsh] {
    display: flex;
    gap: 6px;
    padding: 4px 14px 6px;
}

.se-input[b-kmi7t11nsh] {
    flex: 1;
    padding: 5px 8px;
    background: var(--hud-glass-heavy);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: 11px;
    font-family: var(--font-mono);
    outline: none;
}

.se-input:focus[b-kmi7t11nsh] {
    border-color: var(--hud-chrome);
}

.se-input[b-kmi7t11nsh]::placeholder {
    color: var(--text-muted);
}

.se-send-btn[b-kmi7t11nsh] {
    padding: 5px 10px;
    background: var(--hud-chrome);
    border: none;
    border-radius: var(--radius-sm);
    color: var(--hud-text-bright);
    font-size: 11px;
    font-weight: var(--font-semibold);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.se-send-btn:hover:not(:disabled)[b-kmi7t11nsh] {
    filter: brightness(1.2);
}

.se-send-btn:disabled[b-kmi7t11nsh] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Status */
.se-status[b-kmi7t11nsh] {
    padding: 6px 14px;
    font-size: 11px;
    border-top: 1px solid var(--hud-chrome-10);
}

.se-status.success[b-kmi7t11nsh] {
    color: var(--hud-success);
}

.se-status.error[b-kmi7t11nsh] {
    color: var(--hud-error);
}

.se-status.warn[b-kmi7t11nsh] {
    color: var(--hud-warning);
}

/* Busy */
.se-busy[b-kmi7t11nsh] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-top: 1px solid var(--hud-chrome-10);
    font-size: 11px;
    color: var(--text-muted);
}

.se-busy-spinner[b-kmi7t11nsh] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--hud-chrome-15);
    border-top-color: var(--hud-chrome);
    border-radius: 50%;
    animation: se-spin-b-kmi7t11nsh 0.7s linear infinite;
}

@keyframes se-spin-b-kmi7t11nsh {
    to { transform: rotate(360deg); }
}

/* ── W2.3: focus-trap sentinels + focus visibility + reduced motion ───── */

.se-focus-sentinel[b-kmi7t11nsh] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.se-item:focus-visible[b-kmi7t11nsh],
.se-trigger:focus-visible[b-kmi7t11nsh],
.se-send-btn:focus-visible[b-kmi7t11nsh] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
    .se-trigger[b-kmi7t11nsh],
    .se-item[b-kmi7t11nsh],
    .se-send-btn[b-kmi7t11nsh] {
        transition: none;
    }

    .se-busy-spinner[b-kmi7t11nsh] {
        animation: none;
    }
}

/* ── W3.2/W3.8 customer linkage + consent ─────────────────────────────── */

.se-linked[b-kmi7t11nsh] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid var(--hud-source-25);
    border-radius: var(--radius-sm);
    background: var(--hud-source-08);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
}

.se-linked-tag[b-kmi7t11nsh] {
    flex-shrink: 0;
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    color: var(--hud-source);
}

.se-linked-name[b-kmi7t11nsh] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
}

.se-linked-clear[b-kmi7t11nsh] {
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    padding: 0 2px;
}

.se-linked-clear:hover[b-kmi7t11nsh] {
    color: var(--hud-error);
}

.se-suggest[b-kmi7t11nsh] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 4px 8px;
    background: transparent;
    border: 1px dashed var(--hud-source-25);
    border-radius: var(--radius-sm);
    color: var(--hud-source);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: var(--transition-fast);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.se-suggest:hover[b-kmi7t11nsh] {
    background: var(--hud-source-08);
}

.se-typeahead[b-kmi7t11nsh] {
    display: flex;
    flex-direction: column;
    max-height: 160px;
    overflow-y: auto;
    border: 1px solid var(--hud-chrome-15);
    border-radius: var(--radius-sm);
}

.se-typeahead-item[b-kmi7t11nsh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 8px;
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    text-align: left;
    cursor: pointer;
}

.se-typeahead-item:hover[b-kmi7t11nsh] {
    background: var(--hud-chrome-08);
    color: var(--text-primary);
}

.se-typeahead-id[b-kmi7t11nsh] {
    flex-shrink: 0;
    color: var(--text-muted);
}

.se-check[b-kmi7t11nsh] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 2px 0;
    font-family: var(--font-primary);
    font-size: 0.6875rem;
    line-height: 1.4;
    color: var(--text-secondary);
    cursor: pointer;
}

.se-check input[b-kmi7t11nsh] {
    margin-top: 2px;
    flex-shrink: 0;
}

.se-check.warn[b-kmi7t11nsh] {
    color: var(--hud-warning);
}

.se-hint[b-kmi7t11nsh] {
    font-family: var(--font-primary);
    font-size: 0.6875rem;
    color: var(--text-muted);
    padding: 2px 0;
}
/* _content/Ayva.Lidar/Shared/ViewportContextMenu.razor.rz.scp.css */
/* ── W5.1 Right-click Context Menu (extracted from LidarViewerPanel.razor.css) ── */

.rf-context-menu[b-pw4g36si5j] {
    position: absolute;
    z-index: 300;
    background: var(--hud-glass-heavy);
    border: 1px solid var(--hud-chrome-20);
    border-radius: var(--radius-md);
    padding: 4px;
    min-width: 200px;
    backdrop-filter: blur(16px);
    animation: ctx-appear-b-pw4g36si5j 0.12s ease;
    box-shadow: 0 8px 32px var(--black-overlay-50);
}

.rf-ctx-item[b-pw4g36si5j] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: background var(--transition-fast);
    text-align: left;
}

.rf-ctx-item:hover[b-pw4g36si5j] {
    background: var(--hud-chrome-10);
}

.rf-ctx-badge[b-pw4g36si5j] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: var(--radius-xs);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: var(--font-bold);
    flex-shrink: 0;
}

.rf-ctx-badge.source[b-pw4g36si5j] {
    background: var(--hud-source-20);
    color: var(--hud-source);
}

.rf-ctx-badge.dest[b-pw4g36si5j] {
    background: var(--hud-dest-20);
    color: var(--hud-dest);
}

.rf-ctx-icon[b-pw4g36si5j] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--hud-mode-view);
}

.rf-ctx-divider[b-pw4g36si5j] {
    height: 1px;
    background: var(--hud-chrome-10);
    margin: 4px 8px;
}

.rf-ctx-coords[b-pw4g36si5j] {
    padding: 6px 12px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.4;
}

/* W2.3: sky-click honesty + disabled context items */
.rf-ctx-nosurface[b-pw4g36si5j] {
    padding: var(--space-xs) var(--space-sm);
    color: var(--warning-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    line-height: 1.4;
    max-width: 220px;
}

.rf-ctx-item:disabled[b-pw4g36si5j] {
    opacity: 0.4;
    cursor: not-allowed;
}

.rf-ctx-item:disabled:hover[b-pw4g36si5j] {
    background: transparent;
}

@keyframes ctx-appear-b-pw4g36si5j {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .rf-context-menu[b-pw4g36si5j] {
        animation: none;
    }

    .rf-ctx-item[b-pw4g36si5j] {
        transition: none;
    }
}
