/* /Features/ActividadesHotoil/ABM/ABMActividadHotoil.razor.rz.scp.css */
.mud-dialog.dlg--ultra .abm-hotoil-card[b-h185244nx4] {
    min-height: 0;
}

.mud-dialog.dlg--ultra .abm-hotoil-tabs .mud-tabs-panels[b-h185244nx4] {
    height: clamp(520px, 66vh, 680px);
    overflow-y: auto;
    overflow-x: hidden;
}

.mud-dialog.dlg--ultra .abm-hotoil-tabs .mud-tabs-tabbar[b-h185244nx4] {
    display: flex;
    gap: 4px;
}

.mud-dialog.dlg--ultra .abm-hotoil-tabs .mud-tabs-toolbar-content[b-h185244nx4] {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mud-dialog.dlg--ultra .abm-hotoil-tabs .mud-tab[b-h185244nx4] {
    min-width: 0;
    max-width: none;
    justify-content: center;
}

.mud-dialog.dlg--ultra .abm-hotoil-tabs .mud-tab .mud-tab-content[b-h185244nx4] {
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.1;
}
/* /Features/Calendario/Agenda.razor.rz.scp.css */
/* ==========================================================================
   AGENDA — GOOGLE CALENDAR LIKE
   ========================================================================== */

.agenda-page[b-fsgmi6ot7n] {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    background: #f8f9fa; /* Fondo exacto de Google Workspace */
    --ag-radius: 12px;
    --ag-line: #dadce0; /* Color de grilla de Google */
    --ag-surface: #ffffff;
    --ag-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
    --ag-shadow-soft: 0 1px 2px 0 rgba(60,64,67,.15);
    --ag-sidebar-w: 400px;
    --ag-h: 40px;
    --ag-text: #3c4043;
    --ag-muted: #70757a;
    --ag-blue: #1a73e8;
    --ag-blue-soft: #d2e3fc;
    --ag-blue-soft-hover: #c6dafc;
    --ag-amber-soft: #fef7e0;
    --ag-amber-border: #f6c453;
    --ag-amber-text: #ea8600;
    --ag-selected-bg: #e8f0fe;
    --ag-selected-border: #1a73e8;
}

/* ===========================
   TOPBAR
   =========================== */

.agenda-topbar[b-fsgmi6ot7n] {
    position: relative;
    border-radius: var(--ag-radius);
    background: #f8f9fa;
    border: 1px solid var(--ag-line);
    padding: 10px 16px;
    min-height: 64px;
    display: flex;
    justify-content: center;
    flex: 0 0 auto;
    z-index: 50;
    box-shadow: var(--ag-shadow-soft);
}

.agenda-topbar-row[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    background: #f8f9fa;
}

.agenda-left[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
}

.agenda-titleblock[b-fsgmi6ot7n] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

.agenda-title[b-fsgmi6ot7n] {
    font-weight: 500;
    font-size: 1.25rem;
    letter-spacing: -0.01em;
    color: var(--ag-text);
    white-space: nowrap;
}

.agenda-meta[b-fsgmi6ot7n] {
    font-size: .85rem;
    color: var(--ag-muted);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.agenda-meta-strong[b-fsgmi6ot7n] {
    font-weight: 600;
    color: var(--ag-text);
}

.agenda-meta-soft[b-fsgmi6ot7n] {
    opacity: .9;
}

.agenda-meta-sep[b-fsgmi6ot7n] {
    opacity: .55;
}

/* ===========================
   CONTROLS & LEGEND
   =========================== */

.agenda-controls[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    min-height: var(--ag-h);
}

.agenda-search[b-fsgmi6ot7n] {
    flex: 0 0 auto;
    width: 220px;
    min-width: 180px;
    transition: width .2s ease;
}

    .agenda-search:focus-within[b-fsgmi6ot7n] {
        width: 280px;
    }

.agenda-search-input :deep(.mud-input-root)[b-fsgmi6ot7n] {
    background: #f1f3f4 !important; /* Gris de buscador Google */
    border-radius: 8px;
    font-size: .95rem;
    height: 38px;
    margin-top: 0 !important;
}

.agenda-search-input :deep(.mud-input-outlined-border)[b-fsgmi6ot7n] {
    border-color: transparent !important;
}

.agenda-search-input :deep(.mud-input-root.mud-input-focused)[b-fsgmi6ot7n] {
    background: #ffffff !important;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);
}

.agenda-monthdock-host[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    height: 38px;
    flex: 0 0 auto;
    min-width: 0;
    position: relative;
    z-index: 20;
}

.agenda-right[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0 0 auto;
}

.agenda-legend[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-right: 16px;
    border-right: 1px solid var(--ag-line);
    height: 28px;
}

.legend-item[b-fsgmi6ot7n] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-dot[b-fsgmi6ot7n] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

    .legend-dot.dot-planned[b-fsgmi6ot7n] {
        background-color: var(--ag-blue);
    }

    .legend-dot.dot-unplanned[b-fsgmi6ot7n] {
        background-color: var(--ag-amber-text);
    }

.legend-text[b-fsgmi6ot7n] {
    font-size: 0.85rem;
    color: var(--ag-text);
    font-weight: 400;
    white-space: nowrap;
}

.agenda-icon-btn[b-fsgmi6ot7n] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.agenda-cta[b-fsgmi6ot7n] {
    border-radius: 20px;
    text-transform: none;
    font-weight: 500;
    padding-inline: 18px !important;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,.3);
}

/* ===========================
   CALENDAR
   =========================== */

.agenda-calendar[b-fsgmi6ot7n] {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    background: var(--ag-surface);
    border-radius: var(--ag-radius);
    border: 1px solid var(--ag-line);
    overflow: hidden;
    box-shadow: var(--ag-shadow-soft);
}

.agenda-calendar--full[b-fsgmi6ot7n] {
    width: 100%;
    min-width: 0;
}

.agenda-calendar-scroll[b-fsgmi6ot7n] {
    flex: 1;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: 100%;
    position: relative;
    scrollbar-width: thin;
    scrollbar-color: rgba(95,99,104,.35) transparent;
}

    .agenda-calendar-scroll[b-fsgmi6ot7n]::-webkit-scrollbar {
        width: 8px;
    }

    .agenda-calendar-scroll[b-fsgmi6ot7n]::-webkit-scrollbar-track {
        background: transparent;
    }

    .agenda-calendar-scroll[b-fsgmi6ot7n]::-webkit-scrollbar-thumb {
        background: rgba(95,99,104,.25);
        border-radius: 8px;
    }

.agenda-calendar[b-fsgmi6ot7n],
.agenda-calendar-scroll[b-fsgmi6ot7n],
:deep(.agenda-mud-calendar)[b-fsgmi6ot7n] {
    width: 100%;
    min-width: 0;
    min-height: 0;
}

/* Encabezado de días */
:deep(.agenda-mud-calendar .mud-cal-month-header)[b-fsgmi6ot7n] {
    background: #ffffff;
    border-bottom: 1px solid var(--ag-line);
    position: sticky;
    top: 0;
    z-index: 10;
}

:deep(.agenda-mud-calendar .mud-cal-month)[b-fsgmi6ot7n] {
    width: 100% !important;
    min-height: 100% !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    grid-template-rows: auto repeat(6, minmax(130px, auto)) !important;
    border-collapse: collapse;
    background: #fff;
}

:deep(.agenda-mud-calendar .mud-cal-month thead)[b-fsgmi6ot7n],
:deep(.agenda-mud-calendar .mud-cal-month tbody)[b-fsgmi6ot7n],
:deep(.agenda-mud-calendar .mud-cal-month tr)[b-fsgmi6ot7n] {
    display: contents !important;
}

:deep(.agenda-mud-calendar .mud-cal-month th)[b-fsgmi6ot7n] {
    height: 36px !important;
    padding: 0 !important;
    border: none !important;
    border-right: 1px solid var(--ag-line) !important;
    border-bottom: 1px solid var(--ag-line) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    color: var(--ag-muted);
    background: #fff;
}

:deep(.agenda-mud-calendar .mud-cal-month th:last-child)[b-fsgmi6ot7n] {
    border-right: none !important;
}

/* Celda del día */
:deep(.agenda-mud-calendar .mud-cal-month-cell)[b-fsgmi6ot7n] {
    min-height: 130px !important;
    height: auto !important;
    padding: 8px !important;
    background: #fff !important;
    border-right: 1px solid var(--ag-line) !important;
    border-bottom: 1px solid var(--ag-line) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    position: relative !important;
    vertical-align: top;
    transition: none !important;
}

:deep(.agenda-mud-calendar .mud-cal-month-cell:nth-child(7n))[b-fsgmi6ot7n] {
    border-right: none !important;
}

:deep(.agenda-mud-calendar .mud-cal-month-cell:hover)[b-fsgmi6ot7n] {
    background: #f8f9fa !important;
}

:deep(.agenda-mud-calendar .mud-cal-day-number)[b-fsgmi6ot7n] {
    font-size: .85rem !important;
    font-weight: 500 !important;
    color: var(--ag-text);
    margin-bottom: 8px !important;
    width: 28px;
    height: 28px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    align-self: center;
}

:deep(.agenda-mud-calendar .mud-cal-today .mud-cal-day-number)[b-fsgmi6ot7n] {
    background: var(--ag-blue);
    color: #fff !important;
    font-weight: 500 !important;
}

:deep(.agenda-mud-calendar .mud-cal-month-cell .mud-cal-cell-template)[b-fsgmi6ot7n] {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding: 0 !important;
}

:deep(.agenda-mud-calendar .mud-cal-overflow-hidden)[b-fsgmi6ot7n] {
    display: none !important;
}

/* ===========================
   EVENTOS ESTILO GOOGLE CALENDAR
   =========================== */

.agenda-pill[b-fsgmi6ot7n] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    width: 100%;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: var(--ag-text);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    border: none !important;
    box-shadow: none !important;
    overflow: hidden;
    white-space: nowrap;
    user-select: none;
    transition: background-color 0.15s ease-in-out;
    margin-bottom: 1px;
}

    .agenda-pill:hover[b-fsgmi6ot7n] {
        background: #f1f3f4 !important;
    }

    .agenda-pill:active[b-fsgmi6ot7n] {
        background: #e8eaed !important;
    }

    .agenda-pill.selected[b-fsgmi6ot7n] {
        background-color: var(--ag-selected-bg) !important;
        color: var(--ag-selected-border) !important;
    }

        .agenda-pill.selected:hover[b-fsgmi6ot7n] {
            background-color: var(--ag-blue-soft) !important;
        }

.pill-content[b-fsgmi6ot7n] {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100%;
}

.pill-dot[b-fsgmi6ot7n] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.agenda-pill.is-planned .pill-dot[b-fsgmi6ot7n] {
    background-color: var(--ag-blue);
}

.agenda-pill.is-unplanned .pill-dot[b-fsgmi6ot7n] {
    background-color: var(--ag-amber-text);
}

.pill-line1[b-fsgmi6ot7n] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: .82rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    margin: 0 !important;
    color: inherit;
}

.pill-line2[b-fsgmi6ot7n],
.pill-status-dot[b-fsgmi6ot7n] {
    display: none !important;
}

/* Fuera del mes */
:deep(.agenda-mud-calendar .mud-cal-month-cell.mud-cal-other-month)[b-fsgmi6ot7n] {
    background: #f8f9fa !important;
}

:deep(.agenda-mud-calendar .mud-cal-month-cell.mud-cal-other-month .mud-cal-day-number)[b-fsgmi6ot7n] {
    color: var(--ag-muted) !important;
    opacity: .7 !important;
}

/* ===========================
   EVENT COUNTER
   =========================== */

.agenda-event-counter[b-fsgmi6ot7n] {
    position: absolute;
    bottom: 6px;
    right: 8px;
    background: transparent;
    color: var(--ag-muted);
    font-size: .8rem;
    font-weight: 500;
    padding: 0;
    z-index: 5;
    pointer-events: none;
}

/* ===========================
   TOOLBAR DOCK
   =========================== */

:deep(.agenda-monthdock-toolbar-moved)[b-fsgmi6ot7n] {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

:deep(.agenda-monthdock-inline)[b-fsgmi6ot7n] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    gap: 8px !important;
    background: #fff;
    border: 1px solid var(--ag-line);
    border-radius: 8px;
    height: 38px !important;
    padding: 0 8px !important;
}

:deep(.agenda-monthdock-inline .mud-icon-button)[b-fsgmi6ot7n] {
    width: 32px !important;
    height: 32px !important;
    padding: 6px !important;
    border-radius: 50% !important;
    color: var(--ag-muted) !important;
}

:deep(.agenda-monthdock-inline .mud-icon-button:hover)[b-fsgmi6ot7n] {
    background: #f1f3f4 !important;
    color: var(--ag-text) !important;
}

:deep(.agenda-monthdock-inline .mud-button-root)[b-fsgmi6ot7n],
:deep(.agenda-monthdock-inline [role='button'])[b-fsgmi6ot7n] {
    min-width: 140px !important;
    justify-content: center !important;
    color: var(--ag-text) !important;
    height: 32px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    font-size: .95rem !important;
    text-transform: none !important;
}

:deep(.agenda-monthdock-inline .mud-button-root:hover)[b-fsgmi6ot7n] {
    background-color: #f1f3f4 !important;
}

/* ===========================
   BODY & LAYOUT GRID
   =========================== */

.agenda-body[b-fsgmi6ot7n] {
    flex: 1;
    min-height: 0;
    min-width: 0;
    display: grid;
    /* Usamos minmax para el calendario y un ancho fijo para el panel de detalle */
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 16px;
}

.agenda-calendar-wrapper[b-fsgmi6ot7n],
.agenda-detail-wrapper[b-fsgmi6ot7n] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ===========================
   RESPONSIVE (TABLET & MOBILE)
   =========================== */

@media (max-width: 1024px) {
    .agenda-body[b-fsgmi6ot7n] {
        /* En pantallas medianas achicamos un poco el panel fijo para que el calendario respire */
        grid-template-columns: minmax(0, 1fr) 400px;
    }
    .agenda-legend[b-fsgmi6ot7n] {
        display: none;
    }
}

@media (max-width: 768px) {
    .agenda-body[b-fsgmi6ot7n] {
        /* En mobile colapsa todo a una sola columna */
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto;
    }

    .agenda-page[b-fsgmi6ot7n] {
        padding: 8px;
        gap: 8px;
    }

    .agenda-topbar[b-fsgmi6ot7n] {
        min-height: auto;
        padding: 12px;
    }

    .agenda-topbar-row[b-fsgmi6ot7n] {
        flex-wrap: wrap;
    }

    .agenda-left[b-fsgmi6ot7n],
    .agenda-right[b-fsgmi6ot7n] {
        width: 100%;
        min-width: 0;
    }

    .agenda-left[b-fsgmi6ot7n] {
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: wrap;
    }

    .agenda-controls[b-fsgmi6ot7n] {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
        border-radius: 14px;
        min-height: auto;
        padding: 10px;
    }

    .agenda-search[b-fsgmi6ot7n] {
        width: 100% !important;
        min-width: 0 !important;
    }

        .agenda-search:focus-within[b-fsgmi6ot7n] {
            width: 100% !important;
        }

    .agenda-right[b-fsgmi6ot7n] {
        justify-content: space-between;
    }

    .agenda-legend[b-fsgmi6ot7n] {
        display: none;
    }

    :deep(.agenda-mud-calendar .mud-cal-month th)[b-fsgmi6ot7n] {
        font-size: .7rem !important;
        height: 36px !important;
    }

    :deep(.agenda-mud-calendar .mud-cal-month-cell)[b-fsgmi6ot7n] {
        min-height: 88px !important;
        padding: 4px !important;
    }

    :deep(.agenda-mud-calendar .mud-cal-day-number)[b-fsgmi6ot7n] {
        width: 22px;
        height: 22px;
        font-size: .8rem !important;
        margin-bottom: 3px !important;
    }

    .agenda-pill[b-fsgmi6ot7n] {
        height: 20px !important;
        min-height: 20px !important;
        padding: 0 4px !important;
        border-radius: 4px !important;
    }

    .pill-content[b-fsgmi6ot7n] {
        gap: 4px !important;
    }

    .pill-time[b-fsgmi6ot7n] {
        font-size: .62rem;
    }

    .pill-line1[b-fsgmi6ot7n] {
        font-size: .66rem !important;
    }
}

/* ===========================
   DARK MODE
   =========================== */

:global(.mud-theme-dark) .agenda-page[b-fsgmi6ot7n] {
    background: #202124;
    --ag-line: #3c4043;
    --ag-surface: #202124;
    --ag-text: #e8eaed;
    --ag-muted: #9aa0a6;
    --ag-blue: #8ab4f8;
    --ag-blue-soft: rgba(138,180,248,.12);
    --ag-blue-soft-hover: rgba(138,180,248,.24);
    --ag-amber-text: #fde293;
    --ag-selected-bg: rgba(138,180,248,.24);
    --ag-selected-border: #8ab4f8;
}

:global(.mud-theme-dark) .agenda-topbar[b-fsgmi6ot7n],
:global(.mud-theme-dark) .agenda-calendar[b-fsgmi6ot7n],
:global(.mud-theme-dark) .agenda-topbar-row[b-fsgmi6ot7n],
:global(.mud-theme-dark) :deep(.agenda-mud-calendar .mud-cal-month-header)[b-fsgmi6ot7n],
:global(.mud-theme-dark) :deep(.agenda-mud-calendar .mud-cal-month th)[b-fsgmi6ot7n],
:global(.mud-theme-dark) :deep(.agenda-mud-calendar .mud-cal-month-cell)[b-fsgmi6ot7n],
:global(.mud-theme-dark) :deep(.agenda-mud-calendar .mud-cal-month)[b-fsgmi6ot7n] {
    background: #f8f9fa !important;
}

:global(.mud-theme-dark) .agenda-search-input :deep(.mud-input-root)[b-fsgmi6ot7n] {
    background: #3c4043 !important;
}

:global(.mud-theme-dark) .agenda-search-input :deep(.mud-input-root.mud-input-focused)[b-fsgmi6ot7n] {
    background: #202124 !important;
}

:global(.mud-theme-dark) :deep(.agenda-monthdock-inline)[b-fsgmi6ot7n] {
    background: #202124 !important;
    border-color: #5f6368 !important;
}
/* /Features/Maniobras/Dialogs/AgregarManiobraHotoilDialog.razor.rz.scp.css */
.grid[b-rljjv2g0c6] {
    align-items: flex-start;
}

.section[b-rljjv2g0c6] {
    display: block;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .25px;
    margin: 0 0 6px 2px;
    opacity: .92;
    text-transform: uppercase;
}

.lbl[b-rljjv2g0c6] {
    display: block;
    font-size: .74rem;
    font-weight: 650;
    margin: 0 0 4px 2px;
    opacity: .75;
}

.mud-dialog.dlg--ultra .campo .mud-input-control[b-rljjv2g0c6],
.mud-dialog.dlg--ultra .campo .mud-input-root[b-rljjv2g0c6],
.mud-dialog.dlg--ultra .campo .mud-input[b-rljjv2g0c6],
.mud-dialog.dlg--ultra .campo .mud-select[b-rljjv2g0c6],
.mud-dialog.dlg--ultra .campo .mud-select-input[b-rljjv2g0c6] {
    min-height: var(--field-h, 34px) !important;
}

.mud-dialog.dlg--ultra .campo .mud-input-slot[b-rljjv2g0c6] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.mud-dialog.dlg--ultra .time2[b-rljjv2g0c6] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 240px;
}

    .mud-dialog.dlg--ultra .time2 .time-part[b-rljjv2g0c6] {
        min-width: 0;
    }

.mud-dialog.dlg--ultra .time-colon[b-rljjv2g0c6] {
    font-weight: 900;
    opacity: .7;
    user-select: none;
    line-height: 1;
    padding: 0 2px;
}

.unit-row[b-rljjv2g0c6] {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}

.unit-pill[b-rljjv2g0c6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: rgba(255, 255, 255, 0.6);
    font-weight: 800;
    font-size: .78rem;
    letter-spacing: .2px;
    opacity: .9;
}

@@media (min-width: 960px) {
    .mud-dialog.dlg--ultra .grid .mud-input-control[b-rljjv2g0c6] {
        max-width: 100%;
    }
}
/* /Features/Reportes/TiempoReal/Components/ActividadesHistoricasPorMovilTab.razor.rz.scp.css */
.filter-container[b-n4rjmpd3xk] {
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    padding: 16px;
}

.tabla-dilecto .mud-table-cell[b-n4rjmpd3xk] {
    padding: 8px 12px;
}

.estado-chip[b-n4rjmpd3xk] {
    font-weight: 500;
}

.intervenciones-cell[b-n4rjmpd3xk] {
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Reportes/TiempoReal/Components/MedicionesDiariasPorVehiculoTiempoRealTab.razor.rz.scp.css */
.chart-box[b-jhyypf9a9x] {
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    padding: 12px;
}

.md-tab-wrap[b-jhyypf9a9x] {
    position: relative;
}

.md-loading[b-jhyypf9a9x] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(1px);
    z-index: 2;
}

.md-loading-text[b-jhyypf9a9x] {
    font-weight: 600;
    color: #0F172A;
}

.native-date-field[b-jhyypf9a9x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

    .native-date-field label[b-jhyypf9a9x] {
        font-size: .75rem;
        font-weight: 600;
        color: rgba(15, 23, 42, .72);
    }

.native-date-input[b-jhyypf9a9x] {
    height: 40px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, .23);
    background: #fff;
    color: #0F172A;
    padding: 8px 10px;
    font-size: .95rem;
    min-width: 180px;
}
/* /Features/Reportes/TiempoReal/Components/RecorridosTiempoRealTab.razor.rz.scp.css */
.rec-tab[b-ivooxcha61] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

    .rec-tab .card-h[b-ivooxcha61],
    .rec-tab .card-b[b-ivooxcha61] {
        background: transparent !important;
        border: none !important;
    }

    .rec-tab .card-b[b-ivooxcha61] {
        padding: 0 !important;
    }

.rec-map-wrap[b-ivooxcha61] {
    position: relative;
    z-index: 0;
}

.rec-loading[b-ivooxcha61] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(1px);
    z-index: 2;
}

.native-date-field[b-ivooxcha61] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

    .native-date-field label[b-ivooxcha61] {
        font-size: .75rem;
        font-weight: 600;
        color: rgba(15, 23, 42, .72);
    }

.native-date-input[b-ivooxcha61] {
    height: 40px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, .23);
    background: #fff;
    color: #0F172A;
    padding: 8px 10px;
    font-size: .95rem;
    min-width: 180px;
}
/* /Features/Reportes/TiempoReal/Components/TiempoRealDetalle.razor.rz.scp.css */
/* =========================================================================
   TIEMPO REAL — DETALLE (Estructura + Estilos) — SIN DATOS
   Replica visual del prototipo HTML
   ========================================================================= */

.trd-loading[b-ypj40x7013] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(244, 246, 251, .45);
    backdrop-filter: blur(6px);
}

.trd-loading-inner[b-ypj40x7013] {
    min-width: 220px;
    padding: 20px 22px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, .12);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 12px 28px rgba(2, 6, 23, .12);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.trd-loading-text[b-ypj40x7013] {
    font-size: 13px;
    font-weight: 800;
    color: rgba(15, 23, 42, .78);
}

.app[b-ypj40x7013] {
    /* Vars del prototipo */
    --bg: #f4f6fb;
    --panel: #ffffff;
    --text: #0f172a;
    --muted: rgba(15, 23, 42, .62);
    --line: rgba(15, 23, 42, .10);
    --line2: rgba(15, 23, 42, .07);
    --primary: #2267b2;
    --ok: #16a34a;
    --warn: #f59e0b;
    --bad: #ef4444;
    --shadow: 0 10px 26px rgba(2, 6, 23, .08);
    --shadow2: 0 6px 18px rgba(2, 6, 23, .08);
    --r: 14px;
    --r2: 12px;
    --r3: 10px;
    --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --sans: "Segoe UI", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --content-max: 1480px;
    font-family: var(--sans);
    color: var(--text);
    min-height: 100vh;
    background: radial-gradient(1200px 700px at 20% 10%, rgba(34, 103, 178, .07), transparent 55%), radial-gradient(900px 600px at 90% 20%, rgba(245, 158, 11, .06), transparent 60%), var(--bg);
    display: grid;
    grid-template-rows: auto auto 1fr;
    overflow: hidden;
}

*[b-ypj40x7013] {
    box-sizing: border-box;
}

.container[b-ypj40x7013] {
    width: min(var(--content-max), 100%);
    margin: 0 auto;
    padding: 0 18px;
}

/* ===== Header ===== */
.top[b-ypj40x7013] {
    z-index: 30;
    background: linear-gradient(180deg, rgba(244,246,251,.92), rgba(244,246,251,.76));
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}

.top-inner[b-ypj40x7013] {
    padding: 14px 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.brand[b-ypj40x7013] {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 280px;
}

.dot[b-ypj40x7013] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    transform: translateY(5px);
    flex-shrink: 0;
}

.dot.ok[b-ypj40x7013] {
    background: var(--ok);
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .14);
}

.dot.warn[b-ypj40x7013] {
    background: var(--warn);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, .18);
}

.vehBlock[b-ypj40x7013] {
    display: grid;
    gap: 2px;
    line-height: 1.1;
}

.vehTitle[b-ypj40x7013] {
    margin: 0;
    font-size: 18px;
    font-weight: 880;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.vehSub[b-ypj40x7013] {
    font-size: 12px;
    font-weight: 850;
    color: rgba(15,23,42,.60);
    letter-spacing: .01em;
    white-space: nowrap;
}

.mono[b-ypj40x7013] {
    font-family: var(--mono);
    letter-spacing: -0.01em;
}

/* Meta al lado */
.meta[b-ypj40x7013] {
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex: 1;
    min-width: 260px;
}

.metaItem[b-ypj40x7013] {
    display: inline-grid;
    grid-template-rows: auto auto;
    gap: 2px;
    padding: 7px 10px;
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.74);
    border-radius: var(--r3);
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
    white-space: nowrap;
    min-width: 140px;
}

.metaItem .k[b-ypj40x7013] {
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(15,23,42,.58);
    font-weight: 900;
    margin: 0;
    line-height: 1.1;
}

.metaItem .v[b-ypj40x7013] {
    font-size: 13px;
    font-weight: 920;
    color: rgba(15,23,42,.90);
    margin: 0;
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.15;
}

/* ===== Tabs ===== */
.tabs[b-ypj40x7013] {
    z-index: 20;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
    backdrop-filter: blur(10px);
}

.tabs-inner[b-ypj40x7013] {
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seg[b-ypj40x7013] {
    display: inline-flex;
    gap: 0;
    padding: 0;
    border-radius: var(--r2);
    border: 1px solid rgba(15, 23, 42, .12);
    background: rgba(15, 23, 42, .03);
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
}

.seg button[b-ypj40x7013] {
    border: 0;
    background: transparent;
    padding: 9px 12px;
    font-size: 12.8px;
    font-weight: 950;
    color: rgba(15, 23, 42, .74);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    user-select: none;
    outline: none;
    transition: background .12s ease, color .12s ease, transform .10s ease;
}

.seg button + button[b-ypj40x7013] {
    border-left: 1px solid rgba(15,23,42,.10);
}

.seg button:hover[b-ypj40x7013] {
    background: rgba(34, 103, 178, .07);
    color: rgba(27, 79, 134, 1);
}

.seg button.active[b-ypj40x7013] {
    background: rgba(34, 103, 178, .14);
    color: rgba(27, 79, 134, 1);
}

.seg button:focus-visible[b-ypj40x7013] {
    box-shadow: inset 0 0 0 2px rgba(34,103,178,.35);
}

/* ===== Main body ===== */
.main[b-ypj40x7013] {
    height: 100%;
    overflow: hidden;
    padding: 14px 0 18px;
}

.body-container[b-ypj40x7013] {
    height: 100%;
}

.scroll[b-ypj40x7013] {
    height: 100%;
    overflow: auto;
    padding-right: 8px;
    scroll-behavior: smooth;
}

.scroll[b-ypj40x7013]::-webkit-scrollbar {
    width: 10px;
}

.scroll[b-ypj40x7013]::-webkit-scrollbar-track {
    background: rgba(15,23,42,.04);
    border-radius: 999px;
}

.scroll[b-ypj40x7013]::-webkit-scrollbar-thumb {
    background: rgba(15,23,42,.14);
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.75);
}

.scroll[b-ypj40x7013]::-webkit-scrollbar-thumb:hover {
    background: rgba(15,23,42,.22);
}

/* ===== Cards / Wrappers ===== */
.chartWrap[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.08);
    background: rgba(255,255,255,.92);
    border-radius: var(--r);
    overflow: hidden;
    box-shadow: var(--shadow2);
}

.chartTop[b-ypj40x7013] {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15,23,42,.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    background: linear-gradient(180deg, rgba(251,252,255,1), rgba(255,255,255,1));
}

.chartMeta[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.chartBody[b-ypj40x7013] {
    padding: 10px 12px 10px;
}

.btn[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.12);
    background: rgba(255,255,255,.86);
    border-radius: var(--r2);
    padding: 7px 10px;
    font-size: 12.5px;
    font-weight: 950;
    color: rgba(15,23,42,.78);
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(15,23,42,.04);
    transition: transform .10s ease, border-color .12s ease, background .12s ease;
}

.btn:hover[b-ypj40x7013] {
    transform: translateY(-1px);
    border-color: rgba(34,103,178,.22);
    background: rgba(34,103,178,.06);
    color: rgba(27,79,134,1);
}

.btn:active[b-ypj40x7013] {
    transform: translateY(0);
}

.btn:focus-visible[b-ypj40x7013] {
    box-shadow: 0 0 0 3px rgba(34,103,178,.16);
}

canvas[b-ypj40x7013] {
    width: 100%;
    height: 380px;
    display: block;
    border-radius: var(--r2);
    background: linear-gradient(180deg, rgba(251,252,255,1), rgba(255,255,255,1));
    border: 1px solid rgba(15,23,42,.06);
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.legend[b-ypj40x7013] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 2px 2px;
}

.legendLeft[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tog[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.12);
    background: rgba(255,255,255,.80);
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12.5px;
    font-weight: 950;
    color: rgba(15,23,42,.78);
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: transform .10s ease, border-color .12s ease, background .12s ease, opacity .12s ease;
}

.tog:hover[b-ypj40x7013] {
    transform: translateY(-1px);
    border-color: rgba(34,103,178,.22);
    background: rgba(34,103,178,.06);
    color: rgba(27,79,134,1);
}

.tog:active[b-ypj40x7013] {
    transform: translateY(0);
}

.tog:focus-visible[b-ypj40x7013] {
    box-shadow: 0 0 0 3px rgba(34,103,178,.16);
}

.tog.off[b-ypj40x7013] {
    opacity: .55;
    background: rgba(255,255,255,.62);
}

.sw[b-ypj40x7013] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    box-shadow: 0 0 0 3px rgba(15,23,42,.06);
    transform: translateY(.5px);
    flex-shrink: 0;
}

.sw.p[b-ypj40x7013] {
    background: rgba(34,103,178,.95);
    box-shadow: 0 0 0 3px rgba(34,103,178,.14);
}

.sw.t[b-ypj40x7013] {
    background: rgba(245,158,11,.95);
    box-shadow: 0 0 0 3px rgba(245,158,11,.18);
}

.sw.c[b-ypj40x7013] {
    background: rgba(22,163,74,.95);
    box-shadow: 0 0 0 3px rgba(22,163,74,.14);
}

.sw.a[b-ypj40x7013] {
    background: rgba(239,68,68,.92);
    box-shadow: 0 0 0 3px rgba(239,68,68,.14);
}

.hint[b-ypj40x7013] {
    font-size: 12px;
    font-weight: 850;
    color: rgba(15,23,42,.55);
    white-space: nowrap;
}

/* ===== Table ===== */
/* ===== Table (SCOPED) ===== */
.tableWrap[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: var(--r);
    overflow: hidden;
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow2);
}

/* OJO: ahora solo afecta tablas dentro de .tableWrap */
.tableWrap > table[b-ypj40x7013],
.tableWrap table[b-ypj40x7013] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.tableWrap thead th[b-ypj40x7013] {
    position: sticky;
    top: 0;
    z-index: 1;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: rgba(15, 23, 42, .56);
    padding: 10px 10px;
    border-bottom: 1px solid rgba(15,23,42,.07);
    background: rgba(244,246,251,.85);
    white-space: nowrap;
    backdrop-filter: blur(8px);
}

.tableWrap tbody td[b-ypj40x7013] {
    padding: 10px 10px;
    border-bottom: 1px solid rgba(15,23,42,.06);
    vertical-align: top;
    color: rgba(15,23,42,.88);
    white-space: nowrap;
}

.tableWrap tbody tr:nth-child(2n)[b-ypj40x7013] {
    background: rgba(15,23,42,.015);
}

.tableWrap tbody tr:hover[b-ypj40x7013] {
    background: rgba(34, 103, 178, .055);
}

.tableWrap tbody tr.active[b-ypj40x7013] {
    background: rgba(34, 103, 178, .09);
    outline: 1px solid rgba(34,103,178,.18);
}

.tableWrap tbody tr.active td:first-child[b-ypj40x7013] {
    box-shadow: inset 3px 0 0 rgba(34,103,178,.55);
}


tbody tr.active td:first-child[b-ypj40x7013] {
    box-shadow: inset 3px 0 0 rgba(34,103,178,.55);
}

.ellipsis[b-ypj40x7013] {
    max-width: 280px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== Dispositivo ===== */
.card[b-ypj40x7013] {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(10px);
    border-radius: var(--r);
    box-shadow: var(--shadow2);
    overflow: hidden;
}

.card-h[b-ypj40x7013] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line2);
    background: linear-gradient(180deg, rgba(251,252,255,1), rgba(255,255,255,1));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.card-h .t[b-ypj40x7013] {
    margin: 0;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: -0.01em;
}

.card-b[b-ypj40x7013] {
    padding: 12px;
}

.kv-grid[b-ypj40x7013] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
}

.flag[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: var(--r3);
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.86);
    font-size: 12.5px;
    font-weight: 950;
    color: rgba(15,23,42,.78);
}

.flag.ok[b-ypj40x7013] {
    border-color: rgba(22, 163, 74, .22);
    background: rgba(22, 163, 74, .10);
    color: rgba(22, 101, 52, 1);
}

.flag.warn[b-ypj40x7013] {
    border-color: rgba(245, 158, 11, .26);
    background: rgba(245, 158, 11, .12);
    color: rgba(146, 64, 14, 1);
}

/* ===== Histórico filtros ===== */
.tableHead[b-ypj40x7013] {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15,23,42,.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    background: linear-gradient(180deg, rgba(251,252,255,1), rgba(255,255,255,1));
}

.subnote[b-ypj40x7013] {
    font-size: 12px;
    font-weight: 850;
    color: rgba(15,23,42,.64);
}

.filters[b-ypj40x7013] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.inp[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.12);
    background: rgba(255,255,255,.90);
    border-radius: var(--r2);
    padding: 8px 10px;
    font-size: 12.8px;
    font-weight: 850;
    color: rgba(15,23,42,.80);
    outline: none;
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
}

.inp[b-ypj40x7013]::placeholder {
    color: rgba(15,23,42,.42);
    font-weight: 850;
}

.inp:focus[b-ypj40x7013] {
    border-color: rgba(34,103,178,.28);
    box-shadow: 0 0 0 3px rgba(34,103,178,.12);
}

/* ===== Recorridos: mapa ===== */
.mapWrap[b-ypj40x7013] {
    border: 1px solid rgba(15,23,42,.08);
    background: rgba(255,255,255,.92);
    border-radius: var(--r);
    overflow: hidden;
    box-shadow: var(--shadow2);
}

.mapHead[b-ypj40x7013] {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15,23,42,.07);
    background: linear-gradient(180deg, rgba(251,252,255,1), rgba(255,255,255,1));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.mapHead .ttl[b-ypj40x7013] {
    font-size: 12.5px;
    font-weight: 950;
    color: rgba(15,23,42,.78);
}

#recMap[b-ypj40x7013] {
    height: 320px;
    width: 100%;
}

/* ===== NUEVO: TIEMPO REAL (TAB) ===== */
.rtGrid[b-ypj40x7013] {
    display: grid;
    grid-template-columns: 1.05fr 1.6fr;
    gap: 12px;
    align-items: stretch;
}


.rtLiveCanvas[b-ypj40x7013] {
    height: 320px;
    cursor: default;
}

.rtTopRight[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.pulse[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 9px;
    border-radius: 999px;
    border: 1px solid rgba(22,163,74,.22);
    background: rgba(22,163,74,.10);
    color: rgba(22,101,52,1);
    font-size: 12px;
    font-weight: 950;
    user-select: none;
}

.pulseDot[b-ypj40x7013] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--ok);
    box-shadow: 0 0 0 4px rgba(22,163,74,.16);
    animation: pulseOk-b-ypj40x7013 1.1s ease-in-out infinite;
}

@keyframes pulseOk-b-ypj40x7013 {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    60% {
        transform: scale(1.18);
        opacity: .75;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.rtSub[b-ypj40x7013] {
    font-size: 12px;
    font-weight: 900;
    color: rgba(15,23,42,.60);
}

.rtMiniLegend[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.rtMiniLegend .tag[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 9px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.12);
    background: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 950;
    color: rgba(15,23,42,.78);
    user-select: none;
    cursor: default;
}

.rtCardSoft[b-ypj40x7013] {
    box-shadow: none;
    border-color: rgba(15,23,42,.08);
    background: rgba(255,255,255,.82);
}

.rtChartSoft[b-ypj40x7013] {
    box-shadow: none;
    border-color: rgba(15,23,42,.08);
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
    canvas[b-ypj40x7013] {
        height: 340px;
    }

    .kv-grid[b-ypj40x7013] {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .meta[b-ypj40x7013] {
        justify-content: flex-start;
    }

    .metaItem[b-ypj40x7013] {
        min-width: 160px;
    }

    .rtGrid[b-ypj40x7013] {
        grid-template-columns: 1fr;
    }

    .rtLiveCanvas[b-ypj40x7013] {
        height: 300px;
    }
}

@media (max-width: 560px) {
    .container[b-ypj40x7013] {
        padding: 0 12px;
    }

    canvas[b-ypj40x7013] {
        height: 320px;
    }

    .kv-grid[b-ypj40x7013] {
        grid-template-columns: 1fr;
    }

    .seg[b-ypj40x7013] {
        width: 100%;
    }

    .seg button[b-ypj40x7013] {
        width: 100%;
        justify-content: center;
    }

    .filters[b-ypj40x7013] {
        width: 100%;
        justify-content: stretch;
    }

    .filters .inp[b-ypj40x7013] {
        flex: 1;
        min-width: 140px;
    }

    .legend[b-ypj40x7013] {
        padding-top: 12px;
    }

    .hint[b-ypj40x7013] {
        display: none;
    }

    .metaItem[b-ypj40x7013] {
        min-width: unset;
        flex: 1;
    }

    .rtLiveCanvas[b-ypj40x7013] {
        height: 280px;
    }
}
.cell-badge[b-ypj40x7013] {
    display: inline-flex;
    align-items: center;
    padding: 2px 5px;
    border-radius: 3px;
    font-weight: 500;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    border: none;
    box-shadow: none;
}

.cell-badge--tracking[b-ypj40x7013] {
    background: #e8f5e9;
    color: #2e7d32;
}

.cell-badge--stopped[b-ypj40x7013] {
    background: #e3f2fd;
    color: #1565c0;
}

.cell-location-extra[b-ypj40x7013] {
    color: rgba(15, 23, 42, 0.72);
    font-size: 0.9em;
}
.stopped-premium-box[b-ypj40x7013] {
    position: relative;
    height: 420px;
    background: linear-gradient(180deg, #fbfdff 0%, #f1f5f9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0 0 var(--radius) var(--radius);
}

.stopped-content[b-ypj40x7013] {
    text-align: center;
    padding: 0 24px;
    animation: tracking-content-fade 900ms cubic-bezier(.22, .61, .36, 1);
}

.stopped-icon[b-ypj40x7013] {
    font-size: 3.5rem !important;
    color: #94a3b8;
    margin-bottom: 16px;
}

.stopped-heading[b-ypj40x7013] {
    font-size: 1.35rem;
    font-weight: 800;
    color: #334155;
    margin: 0 0 8px 0;
    letter-spacing: -0.02em;
}

.stopped-text-muted[b-ypj40x7013] {
    font-size: 0.95rem;
    color: #64748b;
    max-width: 400px;
    line-height: 1.55;
    margin: 0;
}
/* /Features/Reportes/TiempoReal/Components/UltimasMedicionesChart.razor.rz.scp.css */
.rtChartWrap[b-583h8gsyz4] {
    width: 100%;
    position: relative;
    z-index: 1;
}

    .rtChartToolbar[b-583h8gsyz4] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 10px;
        flex-wrap: wrap;
    }

    .rtChartTitleMain[b-583h8gsyz4] {
        font-weight: 900;
        font-size: 13px;
        color: rgba(15,23,42,.88);
    }

    .rtChartTitleSub[b-583h8gsyz4] {
        font-weight: 700;
        font-size: 11px;
        color: rgba(15,23,42,.55);
    }

    .rtChartEmpty[b-583h8gsyz4] {
        margin-top: 10px;
        padding: 10px 12px;
        border: 1px dashed rgba(15,23,42,.16);
        border-radius: 12px;
        background: rgba(244,246,251,.6);
        color: rgba(15,23,42,.65);
        font-weight: 700;
        font-size: 12px;
    }
/* /Features/Reportes/TiempoReal/TiempoReal.razor.rz.scp.css */
*[b-k6t4ifrp52] {
    box-sizing: border-box;
}

.page[b-k6t4ifrp52] {
    --bg: #f4f6fb;
    --panel: #ffffff;
    --panel2: #fbfcff;
    --line: rgba(15,23,42,.10);
    --line2: rgba(15,23,42,.07);
    --text: #0f172a;
    --muted: rgba(15,23,42,.62);
    --primary: #2267b2;
    --primary-soft: rgba(34,103,178,.08);
    --primary-soft-2: rgba(34,103,178,.12);
    --radius: 14px;
    --shadow: 0 10px 26px rgba(2,6,23,.07);
    --shadow-soft: 0 4px 12px rgba(2,6,23,.05);
    --mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --sans: "Segoe UI", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --focus: 0 0 0 3px rgba(34,103,178,.18);
    --hover: rgba(34,103,178,.055);
    --hover-strong: rgba(34,103,178,.075);
    --selectedOutline: rgba(34,103,178,.18);
    --selectedBg: rgba(34,103,178,.045);
    --ok: #12b981;
    --warn: #f59e0b;
    --danger: #ef4444;
    font-family: var(--sans);
    color: var(--text);
    background: transparent;
    min-height: 100vh;
    margin: 0 auto;
    padding: 10px 10px 14px;
    display: grid;
    gap: 10px;
    border-radius: 20px;
}

.card[b-k6t4ifrp52] {
    background: linear-gradient(180deg, #ffffff, #fbfcff);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.stack[b-k6t4ifrp52] {
    display: flex;
    flex-direction: column;
}

.stack-table[b-k6t4ifrp52] {
    width: 100%;
    min-width: 0;
}

.table-meta[b-k6t4ifrp52] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,252,255,.96));
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    justify-content: space-between;
    backdrop-filter: blur(6px);
}

.meta-left[b-k6t4ifrp52] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.meta-right[b-k6t4ifrp52] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.stack-map[b-k6t4ifrp52] {
    margin-top: 10px;
    border-top: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(2,6,23,.01), transparent);
    border-radius: 0 0 var(--radius) var(--radius);
    overflow: hidden;
}

#map[b-k6t4ifrp52] {
    width: 100%;
    height: clamp(420px, 52vh, 620px);
    min-height: 420px;
    background: #f7f8fc;
}

.iconbtn[b-k6t4ifrp52] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid rgba(15,23,42,.12);
    background: #fff;
    cursor: pointer;
    transition: background .12s ease, transform .12s ease, border-color .12s ease, box-shadow .12s ease, color .12s ease;
    box-shadow: 0 1px 0 rgba(2,6,23,.03);
    color: rgba(15,23,42,.82);
    user-select: none;
}

    .iconbtn:hover[b-k6t4ifrp52] {
        background: rgba(2,6,23,.03);
        transform: translateY(-1px);
        border-color: rgba(15,23,42,.18);
        color: var(--primary);
    }

    .iconbtn:active[b-k6t4ifrp52] {
        transform: none;
    }

    .iconbtn:focus-visible[b-k6t4ifrp52] {
        outline: none;
        box-shadow: 0 1px 0 rgba(2,6,23,.03), var(--focus);
        border-color: rgba(34,103,178,.35);
    }

    .iconbtn.iconbtn-mini[b-k6t4ifrp52] {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

.table-wrap[b-k6t4ifrp52] {
    overflow: auto;
    border-top: 1px solid var(--line2);
    flex: 1;
    min-height: 280px;
    background: linear-gradient(180deg, rgba(2,6,23,.01), transparent);
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,.18) transparent;
}

    .table-wrap[b-k6t4ifrp52]::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }

    .table-wrap[b-k6t4ifrp52]::-webkit-scrollbar-track {
        background: transparent;
    }

    .table-wrap[b-k6t4ifrp52]::-webkit-scrollbar-thumb {
        background: rgba(15,23,42,.16);
        border-radius: 999px;
        border: 2px solid transparent;
        background-clip: padding-box;
    }

table.detail[b-k6t4ifrp52] {
    width: 100%;
    min-width: 1240px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .88rem;
}

.detail thead th[b-k6t4ifrp52] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: rgba(255,255,255,.94);
    backdrop-filter: saturate(1.2) blur(8px);
    border-bottom: 1px solid var(--line);
    color: rgba(15,23,42,.58);
    font-weight: 860;
    font-size: .77rem;
    letter-spacing: .02em;
    padding: 10px 10px;
    text-align: left;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(2,6,23,.03);
    text-transform: uppercase;
}

    .detail thead th:first-child[b-k6t4ifrp52] {
        padding-left: 12px;
    }

    .detail thead th:last-child[b-k6t4ifrp52] {
        padding-right: 12px;
    }

.detail tbody td[b-k6t4ifrp52] {
    border-top: 1px solid rgba(15,23,42,.06);
    padding: 10px 10px;
    vertical-align: middle;
    white-space: nowrap;
    transition: background-color .14s ease, color .14s ease;
}

    .detail tbody td:first-child[b-k6t4ifrp52] {
        padding-left: 12px;
    }

    .detail tbody td:last-child[b-k6t4ifrp52] {
        padding-right: 12px;
    }

.detail tbody tr:nth-child(odd)[b-k6t4ifrp52] {
    background: rgba(2,6,23,.012);
}

.detail tbody tr:hover[b-k6t4ifrp52] {
    background: var(--hover);
}

.detail tbody tr.is-selected[b-k6t4ifrp52] {
    background-color: var(--selectedBg);
    outline: 1px solid var(--selectedOutline);
    outline-offset: -1px;
}

.detail tbody tr.is-updated[b-k6t4ifrp52] {
    animation: rowFlash-b-k6t4ifrp52 900ms ease-out 1;
    box-shadow: inset 0 0 0 9999px rgba(18,185,129,.10);
}

@keyframes rowFlash-b-k6t4ifrp52 {
    0% {
        box-shadow: inset 0 0 0 9999px rgba(18,185,129,.14);
    }

    100% {
        box-shadow: inset 0 0 0 9999px rgba(18,185,129,0);
    }
}

.detail tbody tr.is-stale[b-k6t4ifrp52] {
    filter: saturate(.92);
}

    .detail tbody tr.is-stale td[b-k6t4ifrp52] {
        color: rgba(15,23,42,.72);
        background: rgba(245,158,11,.035);
    }

.mono[b-k6t4ifrp52] {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.muted[b-k6t4ifrp52] {
    color: var(--muted);
}

.checkcell[b-k6t4ifrp52] {
    text-align: center;
    width: 56px;
}

input[type="checkbox"][b-k6t4ifrp52] {
    width: 16px;
    height: 16px;
    accent-color: var(--primary);
    cursor: pointer;
}

    input[type="checkbox"]:focus-visible[b-k6t4ifrp52] {
        outline: none;
        box-shadow: var(--focus);
        border-radius: 4px;
    }

.cell-link[b-k6t4ifrp52] {
    cursor: pointer;
}

.cell-link-txt[b-k6t4ifrp52] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 860;
    color: rgba(15,23,42,.88);
    text-decoration: underline;
    text-decoration-color: rgba(34,103,178,.30);
    text-underline-offset: 2px;
    transition: color .12s ease, text-decoration-color .12s ease, transform .12s ease;
}

    .cell-link-txt[b-k6t4ifrp52]::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: var(--primary);
        box-shadow: 0 0 0 4px rgba(34,103,178,.10);
        flex: 0 0 auto;
    }

.cell-link:hover .cell-link-txt[b-k6t4ifrp52] {
    color: var(--primary);
    text-decoration-color: rgba(34,103,178,.65);
    transform: translateX(1px);
}

.statecell[b-k6t4ifrp52] {
    width: 100%;
    min-width: 170px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 10px;
}

.statecell-interno[b-k6t4ifrp52] {
    font-weight: 900;
    letter-spacing: .15px;
    color: rgba(15,23,42,.96);
}

.rt-state[b-k6t4ifrp52] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    transform: translateY(.5px) scale(1);
    border: 1px solid rgba(15,23,42,.12);
    animation: pulseOk-b-k6t4ifrp52 1.2s ease-in-out infinite;
    box-shadow: 0 0 0 4px rgba(2,6,23,.04);
    flex: 0 0 auto;
}

.rt-ok[b-k6t4ifrp52] {
    background: var(--ok);
    box-shadow: 0 0 0 4px rgba(18,185,129,.18);
}

.rt-warn[b-k6t4ifrp52] {
    background: var(--warn);
    box-shadow: 0 0 0 4px rgba(245,158,11,.18);
}

@keyframes pulseOk-b-k6t4ifrp52 {
    0%, 100% {
        transform: translateY(.5px) scale(1);
        filter: brightness(1);
    }

    50% {
        transform: translateY(.5px) scale(1.14);
        filter: brightness(1.08);
    }
}

/* Variables */
.compact-vars[b-k6t4ifrp52] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    max-width: 440px;
}

    .compact-vars .segment[b-k6t4ifrp52] {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 31px;
        padding: 4px 9px;
        border-radius: 10px;
        border: 1px solid rgba(15,23,42,.10);
        background: rgba(2,6,23,.02);
        box-shadow: 0 1px 0 rgba(2,6,23,.03);
    }

    .compact-vars .label[b-k6t4ifrp52] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        border-radius: 999px;
        background: rgba(34,103,178,.10);
        color: rgba(15,23,42,.70);
        font-size: .68rem;
        font-weight: 900;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .compact-vars .body[b-k6t4ifrp52] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
    }

    .compact-vars .vals[b-k6t4ifrp52] {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-width: 0;
    }

    .compact-vars .v[b-k6t4ifrp52] {
        font-family: var(--mono);
        font-size: .83rem;
        font-weight: 900;
        color: rgba(15,23,42,.88);
        line-height: 1.1;
        white-space: nowrap;
    }

    .compact-vars .pipe[b-k6t4ifrp52] {
        color: rgba(15,23,42,.34);
        font-weight: 900;
    }

    .compact-vars .u[b-k6t4ifrp52] {
        color: rgba(15,23,42,.56);
        font-size: .73rem;
        font-weight: 800;
        white-space: nowrap;
    }

/* Badge realizadas */
.done-trigger[b-k6t4ifrp52] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 52px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(34,103,178,.06);
    color: rgba(15,23,42,.80);
    font-weight: 860;
    user-select: none;
    cursor: default;
    box-shadow: 0 1px 0 rgba(2,6,23,.03);
}

/* Servicio y maniobra: mejor lectura */
.detail tbody td:nth-child(2)[b-k6t4ifrp52],
.detail tbody td:nth-child(7)[b-k6t4ifrp52] {
    color: rgba(15,23,42,.82);
    font-weight: 600;
}

/* Duración y última sinc algo más nítidos */
.detail tbody td:nth-child(4)[b-k6t4ifrp52],
.detail tbody td:nth-child(5)[b-k6t4ifrp52],
.detail tbody td:nth-child(8)[b-k6t4ifrp52] {
    color: rgba(15,23,42,.84);
    font-weight: 700;
}

/* Error */
.errorbar[b-k6t4ifrp52] {
    padding: 10px 10px;
    background: rgba(239,68,68,.08);
    border-bottom: 1px solid rgba(239,68,68,.22);
    color: rgba(15,23,42,.86);
}

/* Loading */
.loading-inline[b-k6t4ifrp52] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid rgba(34,103,178,.22);
    border-radius: 999px;
    background: rgba(34,103,178,.08);
    color: rgba(15,23,42,.86);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
}

.loadingdot[b-k6t4ifrp52] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(34,103,178,.18);
    animation: pulseLoading-b-k6t4ifrp52 1.1s ease-in-out infinite;
}

@keyframes pulseLoading-b-k6t4ifrp52 {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.2);
        opacity: .6;
    }
}

.stack.layout-stacked[b-k6t4ifrp52] {
    display: flex;
    flex-direction: column;
}

.stack.layout-split[b-k6t4ifrp52] {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 10px;
    align-items: stretch;
}

    .stack.layout-split .stack-map[b-k6t4ifrp52] {
        margin-top: 0;
        border-top: 0;
        border-left: 1px solid var(--line);
        border-radius: 0 var(--radius) var(--radius) 0;
    }

    .stack.layout-split .stack-table[b-k6t4ifrp52] {
        border-radius: var(--radius) 0 0 var(--radius);
    }

    .stack.layout-split #map[b-k6t4ifrp52] {
        height: 100%;
        min-height: 520px;
    }

    .stack.layout-split .table-wrap[b-k6t4ifrp52] {
        min-height: 520px;
    }

@media (max-width:1100px) {
    table.detail[b-k6t4ifrp52] {
        min-width: 1120px;
    }

    .stack.layout-split[b-k6t4ifrp52] {
        display: flex;
        flex-direction: column;
    }

        .stack.layout-split .stack-map[b-k6t4ifrp52] {
            border-left: 0;
            border-top: 1px solid var(--line);
            border-radius: 0 0 var(--radius) var(--radius);
        }

        .stack.layout-split #map[b-k6t4ifrp52] {
            min-height: 420px;
            height: clamp(420px, 52vh, 560px);
        }

        .stack.layout-split .table-wrap[b-k6t4ifrp52] {
            min-height: 280px;
        }
}

@media (max-width: 768px) {
    .table-meta[b-k6t4ifrp52] {
        padding: 9px 10px;
    }

    .detail thead th[b-k6t4ifrp52] {
        padding: 9px 8px;
        font-size: .73rem;
    }

    .detail tbody td[b-k6t4ifrp52] {
        padding: 9px 8px;
    }

    .statecell[b-k6t4ifrp52] {
        min-width: 150px;
        gap: 8px;
    }

    .compact-vars[b-k6t4ifrp52] {
        max-width: 360px;
    }

        .compact-vars .segment[b-k6t4ifrp52] {
            padding: 4px 8px;
        }
}

@media (prefers-reduced-motion: reduce) {
    .rt-state[b-k6t4ifrp52] {
        animation: none;
    }

    .detail tbody tr.is-updated[b-k6t4ifrp52] {
        animation: none;
    }

    .iconbtn[b-k6t4ifrp52] {
        transition: none;
    }

    .detail tbody tr[b-k6t4ifrp52],
    .detail tbody td[b-k6t4ifrp52],
    .cell-link-txt[b-k6t4ifrp52] {
        transition: none;
    }
}
/* ==========================================================================
   UBICACIÓN COMO ESTADO VISUAL
   - Transportando => Tracking
   - Detenido      => Stopped
   ========================================================================== */

.tr-location-cell[b-k6t4ifrp52],
.cell-link[b-k6t4ifrp52] {
    cursor: pointer;
}

.cell-badge[b-k6t4ifrp52] {
    display: inline-flex;
    align-items: center;
    padding: 2px 5px; /* Inspirado en el 0 3px original, levemente más alto para esta tabla */
    border-radius: 3px;
    font-weight: 500;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    border: none;
    box-shadow: none;
    transition: transform .12s ease, opacity .12s ease;
}

/* TRACKING (En movimiento) */
.cell-badge--tracking[b-k6t4ifrp52] {
    background: #e8f5e9;
    color: #2e7d32;
}

/* STOPPED (Detenido) */
.cell-badge--stopped[b-k6t4ifrp52] {
    background: #e3f2fd;
    color: #1565c0;
}
.tr-statecell-wrap[b-k6t4ifrp52] {
    display: flex;
    align-items: center;
    gap: 10px; /* Ajusta este valor si prefieres más o menos espacio */
}
/* /Features/ReportesHotoil/MedicionesDiariasPorVehiculo/MedicionesHotoilDiariasPorVehiculo.razor.rz.scp.css */
.filters-paper[b-wot1zrrfzd] {
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}

.chart-box[b-wot1zrrfzd] {
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    padding: 12px;
}
/* Igualar altura y estilo del input nativo al MudSelect Dense Outlined */
.filtros-inline input[type="date"][b-wot1zrrfzd] {
    height: 40px;
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, 0.23);
    border-radius: 4px;
    font-size: 0.875rem;
    font-family: inherit;
    background: transparent;
    color: inherit;
    outline: none;
    transition: border-color 0.2s;
}

    .filtros-inline input[type="date"]:hover[b-wot1zrrfzd] {
        border-color: rgba(0, 0, 0, 0.87);
    }

    .filtros-inline input[type="date"]:focus[b-wot1zrrfzd] {
        border-color: var(--mud-palette-primary);
        border-width: 2px;
    }

/* Eliminar el espacio inferior oculto del MudSelect */
.filtros-inline .mud-input-control[b-wot1zrrfzd] {
    margin-bottom: 0 !important;
}

.filtros-inline .mud-input-control-helper-container[b-wot1zrrfzd] {
    display: none !important;
}
/* /Features/ReportesHotoil/TareaDetalle/Components/Tarea/Encabezado/TareaStateDisplay.razor.rz.scp.css */
/* TareaStateDisplay.razor.css */

.tarea-stepper[b-98v47468a1] {
    --ts-text: var(--mud-palette-text-primary, rgba(0, 0, 0, .87));
    --ts-muted: var(--mud-palette-text-secondary, rgba(0, 0, 0, .60));
    --ts-primary: var(--mud-palette-primary, #1e88e5);
    --ts-success: #2e7d32;
    --ts-idle-bg: rgba(0, 0, 0, .04);
    --ts-idle-border: rgba(0, 0, 0, .10);
    --ts-line-idle: rgba(0, 0, 0, .12);
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
    align-items: start;
    column-gap: 0;
    padding: 6px 0;
    width: 100%;
}

/* Step container */
.tarea-step[b-98v47468a1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
    min-width: 54px;
    position: relative;
}

/* Indicator circle */
.tarea-step__indicator[b-98v47468a1] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    position: relative;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
}

/* Pending state */
.tarea-step.pending .tarea-step__indicator[b-98v47468a1] {
    background: var(--ts-idle-bg);
    border: 1.5px solid var(--ts-idle-border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}

.tarea-step.pending .tarea-step__number[b-98v47468a1] {
    font-weight: 650;
    font-size: .88rem;
    color: var(--ts-muted);
    font-variant-numeric: tabular-nums;
}

/* Active state */
.tarea-step.active .tarea-step__indicator[b-98v47468a1] {
    background: var(--ts-primary);
    border: 2px solid color-mix(in srgb, var(--ts-primary) 70%, transparent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ts-primary) 16%, transparent), 0 4px 14px color-mix(in srgb, var(--ts-primary) 38%, transparent), 0 1px 4px rgba(0, 0, 0, .14);
    transform: scale(1.1);
}

.tarea-step.active .tarea-step__number[b-98v47468a1] {
    font-weight: 800;
    font-size: .92rem;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

/* Completed state */
.tarea-step.completed .tarea-step__indicator[b-98v47468a1] {
    background: var(--ts-success);
    border: 2px solid color-mix(in srgb, var(--ts-success) 68%, transparent);
    box-shadow: 0 2px 10px color-mix(in srgb, var(--ts-success) 28%, transparent), 0 1px 3px rgba(0, 0, 0, .10);
}

.tarea-step__check[b-98v47468a1] {
    width: 19px;
    height: 19px;
    color: #fff;
    animation: checkmark-appear-b-98v47468a1 0.45s ease-out;
}

@keyframes checkmark-appear-b-98v47468a1 {
    0% {
        opacity: 0;
        transform: scale(0.5) rotate(-45deg);
    }

    50% {
        transform: scale(1.12) rotate(5deg);
    }

    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

/* Labels */
.tarea-step__label[b-98v47468a1] {
    margin-top: 9px;
    font-size: .72rem;
    line-height: 1.25;
    text-align: center;
    max-width: 92px;
    color: var(--ts-muted);
    letter-spacing: .012em;
    user-select: none;
    transition: all 0.3s ease;
    font-weight: 550;
}

.tarea-step.active .tarea-step__label[b-98v47468a1] {
    color: var(--ts-text);
    font-weight: 700;
    letter-spacing: .02em;
}

.tarea-step.completed .tarea-step__label[b-98v47468a1] {
    color: color-mix(in srgb, var(--ts-text) 82%, transparent);
    font-weight: 650;
}

/* Connector line */
.tarea-connector[b-98v47468a1] {
    height: 2.5px;
    width: 100%;
    margin-top: 17px;
    align-self: start;
    background: var(--ts-line-idle);
    border-radius: 999px;
    position: relative;
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

    .tarea-connector.completed[b-98v47468a1] {
        background: linear-gradient( 90deg, var(--ts-success) 0%, color-mix(in srgb, var(--ts-success) 88%, transparent) 100% );
        box-shadow: 0 1px 4px color-mix(in srgb, var(--ts-success) 22%, transparent);
    }

/* Hover effects */
.tarea-step.pending .tarea-step__indicator:hover[b-98v47468a1] {
    background: color-mix(in srgb, var(--ts-idle-bg) 50%, rgba(0, 0, 0, .06));
    border-color: color-mix(in srgb, var(--ts-idle-border) 75%, transparent);
    transform: scale(1.02);
}

.tarea-step.completed .tarea-step__indicator:hover[b-98v47468a1] {
    box-shadow: 0 3px 12px color-mix(in srgb, var(--ts-success) 32%, transparent), 0 1px 3px rgba(0, 0, 0, .10);
}

/* Mobile responsive */
@media (max-width: 599.98px) {
    .tarea-stepper[b-98v47468a1] {
        padding: 4px 0;
    }

    .tarea-step[b-98v47468a1] {
        min-width: 48px;
    }

    .tarea-step__indicator[b-98v47468a1] {
        width: 32px;
        height: 32px;
    }

    .tarea-step.active .tarea-step__indicator[b-98v47468a1] {
        transform: scale(1.08);
    }

    .tarea-step__number[b-98v47468a1] {
        font-size: .84rem !important;
    }

    .tarea-step.active .tarea-step__number[b-98v47468a1] {
        font-size: .88rem !important;
    }

    .tarea-step__check[b-98v47468a1] {
        width: 17px;
        height: 17px;
    }

    .tarea-connector[b-98v47468a1] {
        height: 2px;
        margin-top: 15px;
    }

    .tarea-step__label[b-98v47468a1] {
        margin-top: 7px;
        font-size: .68rem;
        max-width: 78px;
    }
}

/* Extra small screens */
@media (max-width: 400px) {
    .tarea-step[b-98v47468a1] {
        min-width: 42px;
    }

    .tarea-step__indicator[b-98v47468a1] {
        width: 30px;
        height: 30px;
    }

    .tarea-step__label[b-98v47468a1] {
        font-size: .64rem;
        max-width: 70px;
    }

    .tarea-step__check[b-98v47468a1] {
        width: 16px;
        height: 16px;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-ky2dyjrth1] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-ky2dyjrth1] {
    flex: 1;
}

.sidebar[b-ky2dyjrth1] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-ky2dyjrth1] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-ky2dyjrth1]  a, .top-row[b-ky2dyjrth1]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-ky2dyjrth1]  a:hover, .top-row[b-ky2dyjrth1]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-ky2dyjrth1]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-ky2dyjrth1] {
        justify-content: space-between;
    }

    .top-row[b-ky2dyjrth1]  a, .top-row[b-ky2dyjrth1]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-ky2dyjrth1] {
        flex-direction: row;
    }

    .sidebar[b-ky2dyjrth1] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-ky2dyjrth1] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-ky2dyjrth1]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-ky2dyjrth1], article[b-ky2dyjrth1] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

.environment-ribbon[b-ky2dyjrth1] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 10px;
    z-index: 2000;
    pointer-events: none;
    box-shadow: 0 2px 10px rgba(20, 184, 166, 0.45);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
/* /Pages/Inicio.razor.rz.scp.css */
.dash-topbar[b-p37ono00h2] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.dash-top-left[b-p37ono00h2] {
    min-width: 0;
}

.dash-top-center[b-p37ono00h2] {
    display: flex;
    justify-content: center;
}

.dash-top-right[b-p37ono00h2] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.dash-tabs[b-p37ono00h2] {
    display: inline-flex;
    gap: 0;
    padding: 0;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, .12);
    background: rgba(15, 23, 42, .03);
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
}

.dash-tab-btn[b-p37ono00h2] {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 9px 12px;
    font-size: 12.8px;
    font-weight: 950;
    color: rgba(15, 23, 42, .74);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    user-select: none;
    outline: none;
    transition: background .12s ease, color .12s ease, transform .10s ease;
}

.dash-tab-btn + .dash-tab-btn[b-p37ono00h2] {
    border-left: 1px solid rgba(15,23,42,.10);
}

.dash-tab-btn:hover[b-p37ono00h2] {
    background: rgba(34, 103, 178, .07);
    color: rgba(27, 79, 134, 1);
}

.dash-tab-btn.active[b-p37ono00h2] {
    background: rgba(34, 103, 178, .14);
    color: rgba(27, 79, 134, 1);
}

.dash-tab-btn:focus-visible[b-p37ono00h2] {
    box-shadow: inset 0 0 0 2px rgba(34,103,178,.35);
}

.dash-home-shell[b-p37ono00h2], .dash-embed-shell[b-p37ono00h2], .dash-board-shell[b-p37ono00h2] {
    border: 1px solid rgba(0,0,0,0.10);
    border-radius: 18px;
    background: rgba(255,255,255,0.70);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    padding: 14px;
    overflow: hidden;
    height: calc(100vh - 180px);
}

.dash-home-shell[b-p37ono00h2] {
    background: radial-gradient(1000px 300px at 20% 0%, rgba(27,110,194,0.10), transparent 55%), radial-gradient(900px 260px at 80% 15%, rgba(0,113,193,0.08), transparent 60%), linear-gradient(180deg, rgba(255,255,255,0.80), rgba(255,255,255,0.55));
}

.dash-embed-shell[b-p37ono00h2] {
    padding: 14px;
}

.dash-dashboard-shell[b-p37ono00h2] {
    height: calc(100vh - 180px); /* ajustado al alto real del topbar */
    padding: 0; /* ✅ lo que necesitás */
    overflow-y: auto;
    overflow-x: hidden; /* ✅ evita bugs de layout/scroll en contenedores flex/grid */
    min-height: 0; /* ✅ scroll suave en móviles */
    -webkit-overflow-scrolling: touch; /* ✅ evita “salto” cuando aparece la scrollbar (Chrome/Edge) */
    scrollbar-gutter: stable;
}

/*.dash-dashboard-shell > * {
    min-height: 0;
}*/

.dash-home-grid[b-p37ono00h2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.dash-home-card[b-p37ono00h2] {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.10);
    border-radius: 18px;
    min-height: 148px;
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
    overflow: hidden;
    outline: none;
}

.dash-home-card[b-p37ono00h2]::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(27,110,194,0.0), rgba(27,110,194,0.18), rgba(0,113,193,0.18), rgba(27,110,194,0.0));
    opacity: 0;
    transition: opacity .14s ease;
    pointer-events: none;
}

.dash-home-card:hover[b-p37ono00h2] {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(0,0,0,0.12);
    border-color: rgba(27,110,194,0.22);
    background: rgba(255,255,255,0.95);
}

.dash-home-card:hover[b-p37ono00h2]::before {
    opacity: 1;
}

.dash-card-top[b-p37ono00h2] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.dash-card-icon[b-p37ono00h2] {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    flex: 0 0 auto;
}

.dash-card-titles[b-p37ono00h2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.dash-card-title[b-p37ono00h2] {
    font-size: 16px;
    font-weight: 800;
    color: #1f2937;
    line-height: 1.15;
}

.dash-card-sub[b-p37ono00h2] {
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-card-bottom[b-p37ono00h2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dash-card-cta[b-p37ono00h2] {
    font-size: 12px;
    font-weight: 800;
    color: #1b6ec2;
    background: rgba(27,110,194,0.10);
    border: 1px solid rgba(27,110,194,0.16);
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.dash-chip-role[b-p37ono00h2] {
    font-size: 11px;
    font-weight: 800;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.06);
    color: #374151;
    background: #eef2f7;
    white-space: nowrap;
}

.dash-chip-role.only-operadora[b-p37ono00h2] {
    color: rgba(38,176,80,1);
    background: rgba(38,176,80,0.12);
    border-color: rgba(38,176,80,0.22);
}

.dash-chip-role.only-servicio[b-p37ono00h2] {
    color: rgba(255,115,0,1);
    background: rgba(255,115,0,0.12);
    border-color: rgba(255,115,0,0.22);
}

.card-approve .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #26b050, rgba(38,176,80,0.70));
}

.card-history .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #1b6ec2, #0071c1);
}

.card-finished .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #111827, rgba(17,24,39,0.75));
}

.card-validate .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #ff7300, rgba(255,115,0,0.75));
}

.card-measure .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #0071c1, rgba(0,113,193,0.75));
}

.card-calendar .dash-card-icon[b-p37ono00h2] {
    background: linear-gradient(135deg, #6d28d9, rgba(109,40,217,0.70));
}

.dash-board-header[b-p37ono00h2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.dash-board-grid[b-p37ono00h2] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.dash-board-col[b-p37ono00h2] {
    border: 1px solid rgba(0,0,0,0.08);
    background: rgba(255,255,255,0.85);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    min-height: 240px;
    display: flex;
    flex-direction: column;
}

.dash-board-colhead[b-p37ono00h2] {
    padding: 12px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    background: rgba(0,0,0,0.02);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dash-board-colbody[b-p37ono00h2] {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: auto;
    max-height: calc(100vh - 270px);
}

.dash-board-item[b-p37ono00h2] {
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
    border-radius: 14px;
    padding: 10px;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dash-board-item:hover[b-p37ono00h2] {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0,0,0,0.12);
    border-color: rgba(27,110,194,0.22);
}

.dash-board-item-title[b-p37ono00h2] {
    font-size: 13px;
    font-weight: 800;
    color: #1f2937;
    line-height: 1.2;
    margin-bottom: 4px;
}

.dash-board-item-sub[b-p37ono00h2] {
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    line-height: 1.25;
    margin-bottom: 8px;
}

.dash-board-item-foot[b-p37ono00h2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dash-board-item-date[b-p37ono00h2] {
    font-size: 11px;
    color: #6b7280;
    white-space: nowrap;
}

.dash-board-item-pill[b-p37ono00h2] {
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.08);
    background: rgba(0,0,0,0.03);
    color: #374151;
    white-space: nowrap;
}

.dash-empty[b-p37ono00h2] {
    font-size: 12px;
    color: #6b7280;
    padding: 14px 10px;
    border: 1px dashed rgba(0,0,0,0.12);
    border-radius: 14px;
    background: rgba(0,0,0,0.015);
    text-align: center;
}

.dash-empty.wide[b-p37ono00h2] {
    grid-column: 1 / -1;
    padding: 20px 14px;
    background: rgba(255,255,255,0.75);
    border: 1px dashed rgba(0,0,0,0.14);
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.dash-empty-sub[b-p37ono00h2] {
    margin-top: 6px;
    font-size: 11px;
    opacity: .85;
}

@media (max-width: 1100px) {
    .dash-home-grid[b-p37ono00h2], .dash-board-grid[b-p37ono00h2] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dash-board-colbody[b-p37ono00h2] {
        max-height: calc(100vh - 320px);
    }
}

@media (max-width: 560px) {
    .dash-topbar[b-p37ono00h2] {
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 10px;
    }

    .dash-top-right[b-p37ono00h2] {
        justify-content: flex-start;
    }

    .dash-home-grid[b-p37ono00h2], .dash-board-grid[b-p37ono00h2] {
        grid-template-columns: 1fr;
    }
}

.app-version-tag[b-p37ono00h2] {
    position: fixed;
    top: calc(var(--mud-appbar-height, 64px) + 8px) !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: rgba(15, 23, 42, 0.45);
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    padding: 2px 7px;
    pointer-events: none;
    user-select: none;
    z-index: 20;
}
