@import '_content/LeafletForBlazor/LeafletForBlazor.bundle.scp.css';

/* _content/ConexaMobilityAdmin/Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-2tcymhnbu9] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-2tcymhnbu9] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/ConexaMobilityAdmin/Components/Pages/CreateRideDialog.razor.rz.scp.css */
.create-ride-sugs[b-qnrmmq9drg] {
    max-height: 220px;
    overflow-y: auto;
    position: relative;
    z-index: 20;
}

.create-ride-sug[b-qnrmmq9drg] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
}

.create-ride-sug:hover[b-qnrmmq9drg] {
    background: var(--mud-palette-action-default-hover);
}
/* _content/ConexaMobilityAdmin/Components/Pages/Home.razor.rz.scp.css */
.movexa-dashboard[b-ao7t5dbl2m] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

.movexa-dashboard-kpis[b-ao7t5dbl2m] {
    flex-shrink: 0;
    padding: 0.875rem 1.25rem 0.75rem;
    position: relative;
    z-index: 10;
    background: var(--movexa-bg);
    border-bottom: 1px solid var(--movexa-glass-border);
}

.movexa-ops-kpi-rail[b-ao7t5dbl2m] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.625rem 0.5rem 0.75rem;
    border-radius: 16px;
    min-width: 0;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    min-width: 0;
}

.movexa-ops-kpi-cell[b-ao7t5dbl2m] {
    position: relative;
    min-width: 0;
}

.movexa-ops-kpi-cell + .movexa-ops-kpi-cell[b-ao7t5dbl2m]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 2.75rem;
    background: var(--movexa-glass-border);
    pointer-events: none;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: 12px !important;
    padding: 0.625rem 0.75rem 0.625rem 1.15rem !important;
    height: 100%;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail:hover {
    border-color: transparent !important;
    box-shadow: none !important;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail.movexa-kpi--interactive:hover {
    background: rgba(99, 102, 241, 0.08) !important;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail.movexa-kpi--selected {
    background: rgba(99, 102, 241, 0.12) !important;
}

.movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail .mud-typography-h5 {
    font-size: 1.5rem;
    line-height: 1.15;
}

.movexa-ops-kpi-toolbar[b-ao7t5dbl2m] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem 1rem;
    padding: 0 0.375rem;
}

.movexa-ops-live[b-ao7t5dbl2m] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--movexa-on-surface-variant);
    white-space: nowrap;
}

.movexa-ops-live--ok[b-ao7t5dbl2m] {
    background: rgba(52, 211, 153, 0.12);
}

.movexa-ops-live--muted[b-ao7t5dbl2m] {
    background: var(--movexa-muted-fill);
}

.movexa-ops-live__dot[b-ao7t5dbl2m] {
    width: 0.4375rem;
    height: 0.4375rem;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.22);
    flex-shrink: 0;
}

/* Layer chips ? Figma LayerChip filled/outlined */
.movexa-ops-layer-chips[b-ao7t5dbl2m] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.movexa-ops-layer-chips[b-ao7t5dbl2m]  .mud-chip {
    font-weight: 600;
    font-size: 0.75rem;
    border-radius: 999px;
    letter-spacing: 0.01em;
}

.movexa-ops-layer-chips[b-ao7t5dbl2m]  .mud-chip-filled {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.movexa-ops-layer-chips[b-ao7t5dbl2m]  .movexa-ops-chip-spinner {
    width: 14px !important;
    height: 14px !important;
    margin-right: 0.35rem;
}

.movexa-dashboard-map-body[b-ao7t5dbl2m] {
    position: relative;
    flex: 1;
    min-height: 0;
    width: 100%;
    z-index: 1;
    overflow: hidden;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m] {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  > body {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  > div,
.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-container {
    width: 100% !important;
    height: 100% !important;
}

:global(.movexa-theme-dark) .movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-tile-pane,
:global(.movexa-theme-light) .movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-tile-pane {
    filter: none;
}

/* Las rutas dibujadas en el overlay-pane por defecto (fallback LFB cuando el
   Leaflet nativo falla) son interactivas y, al ser trazos gruesos, tapan el mapa
   e impiden arrastrarlo (pan). Las rutas del render JS ya usan interactive:false
   en sus panes propios; esto restablece la misma paridad para el fallback. */
.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-overlay-pane path {
    pointer-events: none;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  path.movexa-traccar-pin {
    pointer-events: auto !important;
    cursor: pointer;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-tooltip.movexa-vehicle-tip {
    z-index: 1200;
}

.movexa-ops-map-legend[b-ao7t5dbl2m] {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    top: auto;
    left: auto;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.45rem 0.65rem;
    width: max-content;
    max-width: 13.5rem;
    height: fit-content;
    max-height: none;
    pointer-events: none;
}

.movexa-ops-map-legend__toggle[b-ao7t5dbl2m] {
    pointer-events: auto;
    align-self: flex-start;
    border: 1px solid var(--movexa-glass-border, rgba(255,255,255,0.12));
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
}

.movexa-ops-map-legend--collapsed[b-ao7t5dbl2m] {
    max-width: none;
}

.movexa-ops-map-legend__style[b-ao7t5dbl2m] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 100%;
    margin-bottom: 0.25rem;
    pointer-events: auto;
}

.movexa-ops-map-legend__style-label[b-ao7t5dbl2m] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--movexa-on-surface-variant, #94a3b8);
}

.movexa-ops-map-legend[b-ao7t5dbl2m]  .movexa-ops-route-style-select {
    min-width: 10.5rem;
    pointer-events: auto;
}

.movexa-ops-map-legend[b-ao7t5dbl2m]  .movexa-ops-route-style-select .mud-input-control {
    margin: 0;
}

.movexa-ops-map-legend[b-ao7t5dbl2m]  .movexa-ops-route-style-select .mud-input {
    font-size: 0.75rem;
}

.movexa-ops-map-legend__item[b-ao7t5dbl2m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--movexa-on-surface);
    line-height: 1.2;
}

.movexa-ops-map-legend__swatch[b-ao7t5dbl2m] {
    flex-shrink: 0;
    width: 0.7rem;
    height: 0.7rem;
    background: var(--mx-legend-color, #94a3b8);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.movexa-ops-map-legend__swatch--circle[b-ao7t5dbl2m] {
    border-radius: 50%;
}

.movexa-ops-map-legend__swatch--pin[b-ao7t5dbl2m] {
    width: 0.55rem;
    height: 0.8rem;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.movexa-ops-map-legend__swatch--flag[b-ao7t5dbl2m] {
    width: 0.85rem;
    height: 0.55rem;
    border-radius: 2px;
}

.movexa-ops-map-legend__swatch--line[b-ao7t5dbl2m],
.movexa-ops-map-legend__swatch--line-dashed[b-ao7t5dbl2m] {
    width: 1rem;
    height: 0.18rem;
    border-radius: 99px;
    border: none;
}

.movexa-ops-map-legend__swatch--line-dashed[b-ao7t5dbl2m] {
    background: repeating-linear-gradient(
        90deg,
        var(--mx-legend-color, #fbbf24) 0 0.28rem,
        transparent 0.28rem 0.48rem
    );
}

/* Selector de capas base (arriba a la derecha) */
.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-top.leaflet-right {
    top: 1rem;
    right: 1rem;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-layers {
    border: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
    background: var(--movexa-glass-surface);
    color: var(--movexa-on-surface);
    border-radius: 8px;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-layers-expanded {
    padding: 0.35rem 0.5rem;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-layers label {
    color: var(--movexa-on-surface);
}

/* Zoom (+/-) debajo del selector de capas */
.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-top.leaflet-left {
    left: auto;
    right: 1rem;
    top: var(--movexa-zoom-top, 6.75rem);
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-zoom {
    border: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-zoom a {
    background: var(--movexa-glass-surface);
    color: var(--movexa-on-surface);
    border-color: var(--movexa-glass-border);
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-control-zoom a:hover {
    background: rgba(99, 102, 241, 0.35);
    color: var(--movexa-on-surface);
}

.movexa-dashboard-panel[b-ao7t5dbl2m] {
    position: absolute;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.movexa-dashboard-panel--devices[b-ao7t5dbl2m] {
    top: auto;
    bottom: 1rem;
    left: 1rem;
    width: 20rem;
    max-height: min(48%, calc(100% - 2rem));
    box-shadow:
        0 8px 24px -2px rgba(15, 23, 42, 0.12),
        0 2px 6px rgba(15, 23, 42, 0.06);
}

.movexa-dashboard-map-status[b-ao7t5dbl2m] {
    margin: 0 0.25rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.movexa-dashboard-panel--actions[b-ao7t5dbl2m] {
    top: 1rem;
    left: 1rem;
    right: auto;
    max-width: calc(100% - 2rem);
    width: max-content;
    padding: 0.75rem 1rem;
    box-shadow:
        0 8px 24px -2px rgba(15, 23, 42, 0.12),
        0 2px 6px rgba(15, 23, 42, 0.06);
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-tooltip {
    background: var(--movexa-glass-surface);
    border: 1px solid var(--movexa-glass-border);
    color: var(--movexa-on-surface);
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    padding: 0;
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-tooltip::before {
    border-top-color: var(--movexa-glass-surface);
}

.movexa-dashboard-map-layer[b-ao7t5dbl2m]  .movexa-marker-tooltip {
    padding: 0.55rem 0.7rem;
    line-height: 1.35;
    font-size: 0.78rem;
}

.movexa-dashboard-device-list[b-ao7t5dbl2m] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0 0.25rem 0.25rem;
}

.movexa-active-trips-list[b-ao7t5dbl2m] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.movexa-active-trips-empty[b-ao7t5dbl2m] {
    padding-top: 0.25rem;
}

.movexa-active-trips-empty__text[b-ao7t5dbl2m] {
    color: var(--movexa-on-surface-variant);
    line-height: 1.4;
}

button.movexa-active-trip-item[b-ao7t5dbl2m] {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    width: 100%;
    border-left: 3px solid var(--mx-trip-color, transparent);
    padding-left: 0.55rem;
}

button.movexa-active-trip-item:hover[b-ao7t5dbl2m] {
    background: var(--movexa-muted-fill);
    border-color: var(--movexa-glass-hover-border);
}

button.movexa-active-trip-item--selected[b-ao7t5dbl2m],
button.movexa-active-trip-item.movexa-active-trip-item--selected[b-ao7t5dbl2m] {
    background: rgba(99, 102, 241, 0.2);
    border-color: rgba(129, 140, 248, 0.55);
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.25);
}

.movexa-active-trip-badge--assigned[b-ao7t5dbl2m] {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.16);
    border-color: rgba(59, 130, 246, 0.35);
}

.movexa-active-trip-badge--accepted[b-ao7t5dbl2m] {
    color: #c4b5fd;
    background: rgba(139, 92, 246, 0.16);
    border-color: rgba(139, 92, 246, 0.35);
}

.movexa-active-trip-badge--arrived[b-ao7t5dbl2m] {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.16);
    border-color: rgba(245, 158, 11, 0.35);
}

.movexa-active-trip-badge--started[b-ao7t5dbl2m] {
    color: #6ee7b7;
    background: rgba(16, 185, 129, 0.16);
    border-color: rgba(16, 185, 129, 0.35);
}

/* Cola B2B (Actual / Siguiente) ? neutro; no competir con estado Started */
.movexa-active-trip-badge--slot[b-ao7t5dbl2m] {
    color: var(--movexa-on-surface-variant);
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(148, 163, 184, 0.32);
    font-weight: 600;
}

.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    background: transparent;
}

.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list-item,
.movexa-dashboard-device-list[b-ao7t5dbl2m]  [role="group"] {
    padding: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list-item:hover .movexa-fleet-list-item {
    background: var(--movexa-muted-fill);
    border-color: var(--movexa-glass-hover-border);
}

.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list-item.mud-selected-item .movexa-fleet-list-item {
    /* Figma OpsListRow Selected: #ededfc / #828cf7 */
    background: color-mix(in srgb, var(--movexa-primary) 12%, var(--movexa-surface));
    border-color: color-mix(in srgb, var(--movexa-primary) 55%, transparent);
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.2);
}

/* Figma OpsListRow 1:247 ? column: [title | badge] then subtitle */
.movexa-fleet-list-item[b-ao7t5dbl2m] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    width: 100%;
    padding: 0.5rem 0.625rem;
    border: 1px solid color-mix(in srgb, var(--movexa-on-surface) 10%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--movexa-on-surface) 3.5%, var(--movexa-surface));
    box-sizing: border-box;
}

.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list-item:nth-child(odd) .movexa-fleet-list-item,
.movexa-dashboard-device-list[b-ao7t5dbl2m]  .mud-list-item:nth-child(even) .movexa-fleet-list-item {
    background: color-mix(in srgb, var(--movexa-on-surface) 3.5%, var(--movexa-surface));
}

.movexa-fleet-list-item__row[b-ao7t5dbl2m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.movexa-fleet-list-item__title[b-ao7t5dbl2m] {
    flex: 1;
    min-width: 0;
    display: block;
    font-size: 0.8125rem; /* 13px ? Figma OpsListRow */
    font-weight: 600;
    line-height: 1.25;
    color: var(--movexa-on-surface);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.movexa-fleet-list-item__subtitle[b-ao7t5dbl2m] {
    display: block;
    font-size: 0.6875rem; /* 11px */
    line-height: 1.2;
    color: var(--movexa-on-surface-variant);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.movexa-fleet-list-item__badges[b-ao7t5dbl2m] {
    display: flex;
    flex-shrink: 0;
    flex-wrap: nowrap;
    gap: 0.35rem;
    width: auto;
}

.movexa-fleet-badge[b-ao7t5dbl2m] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1875rem 0.5rem; /* 3px 8px ? Figma OpsListRow */
    border-radius: 999px;
    font-size: 0.6875rem; /* 11px */
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    border: 1px solid transparent;
}

.movexa-fleet-badge[b-ao7t5dbl2m]  .mud-icon-root {
    font-size: 0.75rem !important;
    width: 0.75rem;
    height: 0.75rem;
}

.movexa-fleet-badge--gps-on[b-ao7t5dbl2m] {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.45);
}

.movexa-fleet-badge--gps-off[b-ao7t5dbl2m] {
    color: #fed7aa;
    background: rgba(249, 115, 22, 0.16);
    border-color: rgba(249, 115, 22, 0.4);
}

.movexa-fleet-badge--app-on[b-ao7t5dbl2m] {
    color: #c7d2fe;
    background: rgba(99, 102, 241, 0.22);
    border-color: rgba(129, 140, 248, 0.5);
}

.movexa-fleet-badge--app-off[b-ao7t5dbl2m] {
    color: var(--movexa-on-surface-variant);
    background: var(--movexa-muted-fill);
    border-color: var(--movexa-glass-border);
}

@media (max-width: 960px) {
    .movexa-dashboard-kpis[b-ao7t5dbl2m] {
        padding: 0.625rem 0.75rem 0.5rem;
    }

    .movexa-ops-kpi-rail[b-ao7t5dbl2m] {
        gap: 0.625rem;
        padding: 0.5rem 0.35rem 0.625rem;
        border-radius: 14px;
    }

    .movexa-ops-kpi-metrics[b-ao7t5dbl2m] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .movexa-ops-kpi-cell:nth-child(5)[b-ao7t5dbl2m] {
        grid-column: 1 / -1;
    }

    .movexa-ops-kpi-cell:nth-child(odd)[b-ao7t5dbl2m]::before {
        display: none;
    }

    .movexa-ops-kpi-cell:nth-child(even)[b-ao7t5dbl2m]::before {
        display: block;
    }

    .movexa-ops-kpi-metrics[b-ao7t5dbl2m]  .movexa-kpi--rail {
        padding: 0.625rem 0.75rem 0.625rem 1.1rem !important;
    }

    .movexa-ops-kpi-toolbar[b-ao7t5dbl2m] {
        flex-direction: column;
        align-items: stretch;
    }

    .movexa-ops-layer-chips[b-ao7t5dbl2m] {
        justify-content: flex-start;
    }

    /* Map + sheet share vertical space ? no overlay */
    .movexa-dashboard-map-body[b-ao7t5dbl2m] {
        display: flex;
        flex-direction: column;
    }

    .movexa-dashboard-map-layer[b-ao7t5dbl2m] {
        position: relative;
        inset: auto;
        flex: 1 1 0;
        min-height: 12rem;
        width: 100%;
        z-index: 0;
    }

    .movexa-dashboard-map-layer[b-ao7t5dbl2m]  > body {
        position: absolute !important;
        inset: 0 !important;
    }

    .movexa-bottom-sheet-md.movexa-dashboard-panel--devices[b-ao7t5dbl2m] {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        width: 100%;
        max-height: 42%;
        flex: 0 1 auto;
        border-radius: 16px 16px 0 0;
        z-index: 2;
        box-shadow:
            0 -6px 20px -4px rgba(15, 23, 42, 0.12),
            0 -1px 4px rgba(15, 23, 42, 0.06);
    }

    .movexa-dashboard-panel--actions[b-ao7t5dbl2m] {
        left: 0.5rem;
        top: 0.75rem;
        right: 0.5rem;
        bottom: auto;
        max-width: none;
        /* Stay over the map strip only (not the sheet) */
        z-index: 3;
    }

    .movexa-dashboard-panel--devices[b-ao7t5dbl2m] {
        top: auto;
    }

    .movexa-dashboard-map-layer[b-ao7t5dbl2m]  .leaflet-top.leaflet-left {
        left: 0.75rem;
        right: auto;
        top: 0.75rem;
    }

    .movexa-ops-map-legend[b-ao7t5dbl2m] {
        right: 0.75rem;
        bottom: 0.75rem;
        z-index: 4;
        max-width: 11rem;
    }
}

/* Spec 036 — vehicle GPS freshness in the list */
.movexa-cmp-freshness[b-ao7t5dbl2m] {
    opacity: 0.72;
    font-size: 0.68rem !important;
}
/* _content/ConexaMobilityAdmin/Components/Pages/Policies.razor.rz.scp.css */
.movexa-matching-viz[b-fl8onow0g2] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--movexa-glass-border);
}

.movexa-matching-viz__eyebrow[b-fl8onow0g2] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.movexa-matching-viz__pulse[b-fl8onow0g2] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.28);
    animation: movexa-matching-pulse-b-fl8onow0g2 1.8s ease-in-out infinite;
}

.movexa-matching-viz__eyebrow-text[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--movexa-cta, #5b5ee8);
}

.movexa-matching-viz__title[b-fl8onow0g2] {
    margin: 0 0 0.25rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--movexa-on-surface);
}

.movexa-matching-viz__subtitle[b-fl8onow0g2] {
    margin: 0;
    max-width: 48rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-viz__body[b-fl8onow0g2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

@media (min-width: 960px) {
    .movexa-matching-viz__body[b-fl8onow0g2] {
        grid-template-columns: minmax(260px, 0.95fr) minmax(280px, 1.05fr);
        gap: 1.25rem;
    }
}

.movexa-matching-radar[b-fl8onow0g2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid var(--movexa-glass-border);
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--movexa-primary) 8%, var(--movexa-surface)) 0%,
            color-mix(in srgb, var(--movexa-primary) 4%, var(--movexa-muted-fill)) 100%
        );
}

.movexa-matching-radar__label-row[b-fl8onow0g2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    align-self: stretch;
}

.movexa-matching-radar__label[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-radar__hint[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.6875rem;
    color: var(--movexa-on-surface-variant);
    opacity: 0.85;
}

.movexa-matching-radar__canvas[b-fl8onow0g2] {
    position: relative;
    width: min(100%, 360px);
    aspect-ratio: 360 / 280;
    overflow: visible;
    touch-action: none;
    cursor: crosshair;
    user-select: none;
}

.movexa-matching-radar__canvas--dragging[b-fl8onow0g2] {
    cursor: grabbing;
}

.movexa-matching-radar__ring[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    border-radius: 50%;
    pointer-events: none;
    transition: width 80ms ease, box-shadow 160ms ease;
}

.movexa-matching-radar__canvas--dragging .movexa-matching-radar__ring[b-fl8onow0g2] {
    transition: none;
}

.movexa-matching-radar__ring--max[b-fl8onow0g2] {
    width: var(--matching-max-pct, 86%);
    aspect-ratio: 1;
    border: 2px dashed color-mix(in srgb, var(--movexa-primary) 55%, transparent);
    background: color-mix(in srgb, var(--movexa-primary) 6%, transparent);
}

.movexa-matching-radar__ring--preferred[b-fl8onow0g2] {
    width: var(--matching-preferred-pct, 40%);
    aspect-ratio: 1;
    border: 2px solid var(--movexa-cta, #5b5ee8);
    background: color-mix(in srgb, var(--movexa-cta, #5b5ee8) 16%, transparent);
}

.movexa-matching-radar__ring--active[b-fl8onow0g2] {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--movexa-primary) 22%, transparent);
}

.movexa-matching-radar__handle[b-fl8onow0g2] {
    position: absolute;
    top: 50%;
    left: var(--handle-left, 50%);
    z-index: 5;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    translate: -50% -50%;
    cursor: grab;
    box-shadow:
        0 0 0 4px color-mix(in srgb, var(--movexa-primary) 18%, transparent),
        0 2px 10px rgba(11, 19, 38, 0.32);
    touch-action: none;
    animation: movexa-radar-handle-pulse-b-fl8onow0g2 2.4s ease-in-out infinite;
}

.movexa-matching-radar__handle:active[b-fl8onow0g2],
.movexa-matching-radar__handle--dragging[b-fl8onow0g2],
.movexa-matching-radar__canvas--dragging .movexa-matching-radar__handle[b-fl8onow0g2] {
    cursor: grabbing;
    animation: none;
}

.movexa-matching-radar__handle--preferred[b-fl8onow0g2] {
    left: var(--matching-preferred-handle, 70%);
    background: var(--movexa-cta, #5b5ee8);
}

.movexa-matching-radar__handle--max[b-fl8onow0g2] {
    left: var(--matching-max-handle, 93%);
    background: var(--movexa-primary);
}

.movexa-matching-radar__handle-value[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    translate: -50% 0;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;
    color: #f0f4ff;
    background: #0b1326;
    pointer-events: none;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(11, 19, 38, 0.35);
}

.movexa-matching-radar__handle:focus-visible[b-fl8onow0g2] {
    outline: 2px solid var(--movexa-cta, #5b5ee8);
    outline-offset: 3px;
}

@keyframes movexa-radar-handle-pulse-b-fl8onow0g2 {
    0%, 100% {
        box-shadow:
            0 0 0 4px color-mix(in srgb, var(--movexa-primary) 18%, transparent),
            0 2px 10px rgba(11, 19, 38, 0.32);
    }
    50% {
        box-shadow:
            0 0 0 7px color-mix(in srgb, var(--movexa-primary) 28%, transparent),
            0 2px 12px rgba(11, 19, 38, 0.38);
    }
}

@media (prefers-reduced-motion: reduce) {
    .movexa-matching-radar__handle[b-fl8onow0g2] {
        animation: none;
    }
}

.movexa-matching-radar__pin-halo[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 28px;
    height: 28px;
    translate: -50% -50%;
    border-radius: 50%;
    background: color-mix(in srgb, var(--movexa-cta, #5b5ee8) 18%, transparent);
}

.movexa-matching-radar__pin[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 12px;
    translate: -50% -50%;
    border-radius: 50%;
    background: var(--movexa-cta, #5b5ee8);
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(11, 19, 38, 0.2);
}

.movexa-matching-radar__pickup[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    top: calc(50% + 16px);
    translate: -50% 0;
    margin: 0;
    font-size: 0.625rem;
    font-weight: 700;
    color: var(--movexa-on-surface);
}

.movexa-matching-radar__legend[b-fl8onow0g2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.6875rem;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-radar__legend li[b-fl8onow0g2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.movexa-matching-radar__swatch[b-fl8onow0g2] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

.movexa-matching-radar__swatch--preferred[b-fl8onow0g2] {
    background: var(--movexa-cta, #5b5ee8);
}

.movexa-matching-radar__swatch--expand[b-fl8onow0g2] {
    background: var(--movexa-primary);
}

.movexa-matching-radar__swatch--out[b-fl8onow0g2] {
    background: color-mix(in srgb, var(--movexa-on-surface-variant) 55%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--movexa-on-surface-variant) 70%, transparent);
}

.movexa-matching-radar__outcome[b-fl8onow0g2] {
    margin: 0;
    max-width: 22rem;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1.45;
    font-weight: 600;
    color: var(--movexa-on-surface);
}

.movexa-matching-radar__driver[b-fl8onow0g2] {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    translate: -50% -50%;
}

.movexa-matching-radar__driver-label[b-fl8onow0g2] {
    position: absolute;
    z-index: 2;
    margin: 0;
    padding: 0.1rem 0.3rem;
    border-radius: 4px;
    font-size: 0.5625rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--movexa-on-surface);
    background: color-mix(in srgb, var(--movexa-surface) 88%, transparent);
    white-space: nowrap;
    translate: 10px -50%;
    pointer-events: none;
}

.movexa-matching-radar__driver--preferred[b-fl8onow0g2] {
    background: #34d399;
}

.movexa-matching-radar__driver--expand[b-fl8onow0g2] {
    background: #fbbf24;
}

.movexa-matching-radar__driver--out[b-fl8onow0g2] {
    width: 12px;
    height: 12px;
    background: color-mix(in srgb, #f87171 85%, transparent);
}

.movexa-matching-radar__driver-label--out[b-fl8onow0g2] {
    color: #f87171;
}

.movexa-matching-steps[b-fl8onow0g2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.movexa-matching-steps__label[b-fl8onow0g2] {
    margin: 0 0 0.1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-step[b-fl8onow0g2] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.875rem;
    border-radius: 14px;
    border: 1px solid var(--movexa-glass-border);
    background: var(--movexa-surface);
}

.movexa-matching-step__badge[b-fl8onow0g2] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 700;
}

.movexa-matching-step__badge--1[b-fl8onow0g2] {
    color: var(--movexa-cta, #5b5ee8);
    background: color-mix(in srgb, var(--movexa-cta, #5b5ee8) 14%, transparent);
}

.movexa-matching-step__badge--2[b-fl8onow0g2] {
    color: #d97706;
    background: rgba(217, 119, 6, 0.14);
}

.movexa-matching-step__badge--3[b-fl8onow0g2] {
    color: #10b981;
    background: rgba(16, 185, 129, 0.14);
}

.movexa-matching-step__badge--4[b-fl8onow0g2] {
    color: #e11d48;
    background: rgba(225, 29, 72, 0.14);
}

.movexa-matching-step__title[b-fl8onow0g2] {
    margin: 0 0 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--movexa-on-surface);
}

.movexa-matching-step__detail[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-timeline[b-fl8onow0g2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid var(--movexa-glass-border);
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--movexa-primary) 8%, var(--movexa-surface)) 0%,
            color-mix(in srgb, var(--movexa-primary) 4%, var(--movexa-muted-fill)) 100%
        );
    color: var(--movexa-on-surface);
}

.movexa-matching-timeline__head[b-fl8onow0g2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-start;
    justify-content: space-between;
}

.movexa-matching-timeline__title[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--movexa-on-surface);
}

.movexa-matching-timeline__sub[b-fl8onow0g2] {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-timeline__pill[b-fl8onow0g2] {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--movexa-cta, #5b5ee8);
    background: color-mix(in srgb, var(--movexa-primary) 16%, transparent);
    white-space: nowrap;
}

.movexa-matching-timeline__track[b-fl8onow0g2] {
    position: relative;
    display: flex;
    gap: 4px;
    align-items: stretch;
    min-height: 2.75rem;
    padding-top: 1rem;
}

.movexa-matching-timeline__track-bg[b-fl8onow0g2] {
    position: absolute;
    left: 0;
    right: 0;
    top: 1rem;
    height: 20px;
    border-radius: 9px;
    background: color-mix(in srgb, var(--movexa-on-surface) 10%, transparent);
}

.movexa-matching-timeline__block[b-fl8onow0g2] {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 0;
    height: 20px;
    border-radius: 6px;
    background: var(--movexa-primary);
}

.movexa-matching-timeline__block--mid[b-fl8onow0g2] {
    opacity: 0.72;
}

.movexa-matching-timeline__block--late[b-fl8onow0g2] {
    opacity: 0.45;
}

.movexa-matching-timeline__block-label[b-fl8onow0g2] {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 2px);
    translate: -50% 0;
    font-size: 0.5625rem;
    font-weight: 500;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-timeline__cut[b-fl8onow0g2] {
    position: relative;
    z-index: 2;
    flex: 0 0 3px;
    align-self: stretch;
    margin-top: -0.35rem;
    border-radius: 2px;
    background: #f87171;
}

.movexa-matching-timeline__cut-label[b-fl8onow0g2] {
    position: absolute;
    right: 0;
    top: calc(100% + 2px);
    font-size: 0.625rem;
    font-weight: 600;
    color: #f87171;
    white-space: nowrap;
}

.movexa-matching-timeline__axis[b-fl8onow0g2] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.625rem;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-timeline__sub strong[b-fl8onow0g2] {
    color: var(--movexa-cta, #5b5ee8);
    font-weight: 700;
}

.movexa-matching-timeline__footnote[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-chips[b-fl8onow0g2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
}

.movexa-matching-chip[b-fl8onow0g2] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.875rem;
    border-radius: 14px;
    border: 1px solid var(--movexa-glass-border);
    background: var(--movexa-surface);
}

.movexa-matching-chip__label[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-chip__value[b-fl8onow0g2] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.movexa-matching-chip__hint[b-fl8onow0g2] {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--movexa-on-surface-variant);
}

.movexa-matching-chip--preferred[b-fl8onow0g2] {
    border-color: color-mix(in srgb, var(--movexa-cta, #5b5ee8) 28%, transparent);
}

.movexa-matching-chip--preferred .movexa-matching-chip__value[b-fl8onow0g2] {
    color: var(--movexa-cta, #5b5ee8);
}

.movexa-matching-chip--max[b-fl8onow0g2] {
    border-color: color-mix(in srgb, var(--movexa-primary) 28%, transparent);
}

.movexa-matching-chip--max .movexa-matching-chip__value[b-fl8onow0g2] {
    color: var(--movexa-primary);
}

.movexa-matching-chip--offer[b-fl8onow0g2] {
    border-color: rgba(16, 185, 129, 0.28);
}

.movexa-matching-chip--offer .movexa-matching-chip__value[b-fl8onow0g2] {
    color: #10b981;
}

.movexa-matching-chip--limit[b-fl8onow0g2] {
    border-color: rgba(225, 29, 72, 0.28);
}

.movexa-matching-chip--limit .movexa-matching-chip__value[b-fl8onow0g2] {
    color: #e11d48;
}

.movexa-matching-form__title-row[b-fl8onow0g2] {
    margin-bottom: 1rem;
}

.movexa-matching-form__title[b-fl8onow0g2] {
    margin: 0 !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--movexa-on-surface);
}

.movexa-matching-form__grid[b-fl8onow0g2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 1.25rem;
}

@media (min-width: 720px) {
    .movexa-matching-form__grid[b-fl8onow0g2] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@keyframes movexa-matching-pulse-b-fl8onow0g2 {
    0%,
    100% {
        box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.22);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(52, 211, 153, 0.12);
    }
}

@media (prefers-reduced-motion: reduce) {
    .movexa-matching-viz__pulse[b-fl8onow0g2] {
        animation: none;
    }
}
/* _content/ConexaMobilityAdmin/Components/Shared/FareSimulatorRoutePicker.razor.rz.scp.css */
.create-ride-sugs[b-2hrsqohck1] {
    max-height: 220px;
    overflow-y: auto;
    position: relative;
    z-index: 20;
}

.create-ride-sug[b-2hrsqohck1] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
}

.create-ride-sug:hover[b-2hrsqohck1] {
    background: var(--mud-palette-action-default-hover);
}

.movexa-route-stop[b-2hrsqohck1] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.movexa-route-stop-input[b-2hrsqohck1] {
    flex: 1;
    min-width: 0;
}

.movexa-route-stop-actions[b-2hrsqohck1] {
    display: flex;
    gap: 0.25rem;
    padding-top: 0.35rem;
    flex-shrink: 0;
}

.movexa-route-stop--pickup-set[b-2hrsqohck1] {
    border-color: rgba(52, 211, 153, 0.4);
    background: rgba(52, 211, 153, 0.07);
}

.movexa-route-stop--dest-set[b-2hrsqohck1] {
    border-color: rgba(99, 102, 241, 0.4);
    background: rgba(99, 102, 241, 0.07);
}

.movexa-route-stop--pickup-active[b-2hrsqohck1] {
    border-color: #34d399;
    box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.45);
}

.movexa-route-stop--dest-active[b-2hrsqohck1] {
    border-color: #6366f1;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.45);
}

.movexa-route-map-legend[b-2hrsqohck1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-bottom: 0.35rem;
}

.movexa-route-map-legend-item[b-2hrsqohck1] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.movexa-route-map-legend-dot[b-2hrsqohck1] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}

.movexa-route-map-legend-dot--pickup[b-2hrsqohck1] {
    background: #34d399;
}

.movexa-route-map-legend-dot--dest[b-2hrsqohck1] {
    background: #6366f1;
}

[b-2hrsqohck1] .movexa-fare-sim-map-host {
    position: relative;
    min-height: 280px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--movexa-glass-border, rgba(255, 255, 255, 0.12));
    background: var(--movexa-map-host-bg);
}

[b-2hrsqohck1] .movexa-fare-sim-map-host > body {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
}

[b-2hrsqohck1] .movexa-fare-sim-map-host > div,
[b-2hrsqohck1] .movexa-fare-sim-map-host .leaflet-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 280px;
    border-radius: 12px;
}
