/* /Components/Pages/Contactos_horarios.razor.rz.scp.css */
.tc-search-wrapper[b-iagv6kpy3s]  .mud-input-outlined-border,
.tc-search-wrapper[b-iagv6kpy3s]  .mud-input-underline:before,
.tc-search-wrapper[b-iagv6kpy3s]  .mud-input-underline:after {
    border: none !important;
}

.tc-search-wrapper[b-iagv6kpy3s]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 12px;
}

.tc-search-wrapper[b-iagv6kpy3s]  input::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}

.tc-search-wrapper[b-iagv6kpy3s]  .mud-icon-root {
    color: var(--mud-palette-text-secondary);
}

.tc-search-wrapper[b-iagv6kpy3s]  .mud-input-focused .mud-input {
    border-color: var(--mud-palette-primary);
}

.tc-origin-wrapper[b-iagv6kpy3s]  .mud-input-outlined-border,
.tc-origin-wrapper[b-iagv6kpy3s]  .mud-input-underline:before,
.tc-origin-wrapper[b-iagv6kpy3s]  .mud-input-underline:after {
    border: none !important;
}

.tc-origin-wrapper[b-iagv6kpy3s]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 14px;
    min-width: 160px;
    height: 40px;
}

.tc-origin-wrapper[b-iagv6kpy3s]  .mud-input-root {
    font-size: 12px;
    color: var(--mud-palette-text-primary);
}

.tc-origin-wrapper[b-iagv6kpy3s]  .mud-select-icon {
    color: var(--mud-palette-text-secondary);
}

/* Bottom sheet de filtros en móvil: bordes redondeados arriba */
.tc-filters-bottom-sheet[b-iagv6kpy3s] {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}



/* Botones de filtro (ESTADO/PRODUCTO). En escritorio quedan en una sola línea;
   solo en móvil envuelven para no desbordar. Es un div propio, no MudButtonGroup,
   para que el CSS scoped sí lo alcance. */
.tc-filter-btns[b-iagv6kpy3s] {
    display: flex;
    flex-wrap: nowrap;   /* escritorio: todo en línea */
    gap: 6px;
    box-sizing: border-box;
}

.tc-filter-btns[b-iagv6kpy3s]  .mud-button-root {
    white-space: nowrap;
    min-width: 0;
}

/* En móvil, los botones envuelven en 2 por fila (ancho fijo ~50%), para que
   ninguno (p. ej. "Rechazados") quede solo estirado al 100%. */
@media (max-width: 600px) {
    .tc-filter-btns[b-iagv6kpy3s] {
        flex-wrap: wrap;
        width: 100%;
    }

    .tc-filter-btns[b-iagv6kpy3s]  .mud-button-root {
        flex: 0 1 calc(50% - 3px);   /* 2 por fila; el gap es 6px, se resta la mitad */
        min-width: 0;
    }

    .tc-filters-paper[b-iagv6kpy3s] {
        overflow-x: hidden;
        box-sizing: border-box;
    }
}

/* Barra inferior fija de acciones en móvil (Guardar/Rechazar/Excel) */
.tc-mobile-action-bar[b-iagv6kpy3s] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    background-color: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-lines-default);
    box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
}

/* Espacio al final del contenido para que la barra fija no tape la última card. */
@media (max-width: 600px) {
    .tc-cards-container[b-iagv6kpy3s] {
        padding-bottom: 80px;
    }
}

/* Contenedor con scroll horizontal para la tabla ancha (escritorio).
   El overflow y el ancho de la tabla se controlan en el <style> global del .razor
   porque el CSS scoped con ::deep no alcanza .mud-table-container de MudBlazor. */
.tc-table-scroll[b-iagv6kpy3s] {
    width: 100%;
}


   
/* /Components/Pages/Predicciones.razor.rz.scp.css */
.tc-search-wrapper[b-mcu175lih6]  .mud-input-outlined-border,
.tc-search-wrapper[b-mcu175lih6]  .mud-input-underline:before,
.tc-search-wrapper[b-mcu175lih6]  .mud-input-underline:after {
    border: none !important;
}

.tc-search-wrapper[b-mcu175lih6]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 12px;
}

.tc-search-wrapper[b-mcu175lih6]  input::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}

.tc-search-wrapper[b-mcu175lih6]  .mud-icon-root {
    color: var(--mud-palette-text-secondary);
}

.tc-search-wrapper[b-mcu175lih6]  .mud-input-focused .mud-input {
    border-color: var(--mud-palette-primary);
}

.tc-origin-wrapper[b-mcu175lih6]  .mud-input-outlined-border,
.tc-origin-wrapper[b-mcu175lih6]  .mud-input-underline:before,
.tc-origin-wrapper[b-mcu175lih6]  .mud-input-underline:after {
    border: none !important;
}

.tc-origin-wrapper[b-mcu175lih6]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 14px;
    min-width: 160px;
    height: 40px;
}

.tc-origin-wrapper[b-mcu175lih6]  .mud-input-root {
    font-size: 12px;
    color: var(--mud-palette-text-primary);
}

.tc-origin-wrapper[b-mcu175lih6]  .mud-select-icon {
    color: var(--mud-palette-text-secondary);
}

/* Bottom sheet de filtros en móvil: bordes redondeados arriba */
.tc-filters-bottom-sheet[b-mcu175lih6] {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}



/* Botones de filtro (ESTADO/PRODUCTO). En escritorio quedan en una sola línea;
   solo en móvil envuelven para no desbordar. Es un div propio, no MudButtonGroup,
   para que el CSS scoped sí lo alcance. */
.tc-filter-btns[b-mcu175lih6] {
    display: flex;
    flex-wrap: nowrap;   /* escritorio: todo en línea */
    gap: 6px;
    box-sizing: border-box;
}

.tc-filter-btns[b-mcu175lih6]  .mud-button-root {
    white-space: nowrap;
    min-width: 0;
}

/* En móvil, los botones envuelven en 2 por fila (ancho fijo ~50%), para que
   ninguno (p. ej. "Rechazados") quede solo estirado al 100%. */
@media (max-width: 600px) {
    .tc-filter-btns[b-mcu175lih6] {
        flex-wrap: wrap;
        width: 100%;
    }

    .tc-filter-btns[b-mcu175lih6]  .mud-button-root {
        flex: 0 1 calc(50% - 3px);   /* 2 por fila; el gap es 6px, se resta la mitad */
        min-width: 0;
    }

    .tc-filters-paper[b-mcu175lih6] {
        overflow-x: hidden;
        box-sizing: border-box;
    }
}

/* Barra inferior fija de acciones en móvil (Guardar/Rechazar/Excel) */
.tc-mobile-action-bar[b-mcu175lih6] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    background-color: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-lines-default);
    box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
}

/* Espacio al final del contenido para que la barra fija no tape la última card. */
@media (max-width: 600px) {
    .tc-cards-container[b-mcu175lih6] {
        padding-bottom: 80px;
    }
}

/* Contenedor con scroll horizontal para la tabla ancha (escritorio).
   El overflow y el ancho de la tabla se controlan en el <style> global del .razor
   porque el CSS scoped con ::deep no alcanza .mud-table-container de MudBlazor. */
.tc-table-scroll[b-mcu175lih6] {
    width: 100%;
}


/* /Components/Pages/Programacion.razor.rz.scp.css */
.tc-search-wrapper[b-afx7uo7shf]  .mud-input-outlined-border,
.tc-search-wrapper[b-afx7uo7shf]  .mud-input-underline:before,
.tc-search-wrapper[b-afx7uo7shf]  .mud-input-underline:after {
    border: none !important;
}

.tc-search-wrapper[b-afx7uo7shf]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 12px;
}

.tc-search-wrapper[b-afx7uo7shf]  input::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}

.tc-search-wrapper[b-afx7uo7shf]  .mud-icon-root {
    color: var(--mud-palette-text-secondary);
}

.tc-search-wrapper[b-afx7uo7shf]  .mud-input-focused .mud-input {
    border-color: var(--mud-palette-primary);
}

.tc-origin-wrapper[b-afx7uo7shf]  .mud-input-outlined-border,
.tc-origin-wrapper[b-afx7uo7shf]  .mud-input-underline:before,
.tc-origin-wrapper[b-afx7uo7shf]  .mud-input-underline:after {
    border: none !important;
}

.tc-origin-wrapper[b-afx7uo7shf]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 14px;
    min-width: 160px;
    height: 40px;
}

.tc-origin-wrapper[b-afx7uo7shf]  .mud-input-root {
    font-size: 12px;
    color: var(--mud-palette-text-primary);
}

.tc-origin-wrapper[b-afx7uo7shf]  .mud-select-icon {
    color: var(--mud-palette-text-secondary);
}

/* Filtro de fecha/hora con el mismo look de caja que el campo de Búsqueda */
.tc-datefield-wrapper[b-afx7uo7shf]  .mud-input-outlined-border,
.tc-datefield-wrapper[b-afx7uo7shf]  .mud-input-underline:before,
.tc-datefield-wrapper[b-afx7uo7shf]  .mud-input-underline:after {
    border: none !important;
}

.tc-datefield-wrapper[b-afx7uo7shf]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 12px;
}

.tc-datefield-wrapper[b-afx7uo7shf]  input::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}

.tc-datefield-wrapper[b-afx7uo7shf]  .mud-icon-root {
    color: var(--mud-palette-text-secondary);
}

.tc-datefield-wrapper[b-afx7uo7shf]  .mud-input-focused .mud-input {
    border-color: var(--mud-palette-primary);
}

/* Los tres paneles del header con la misma altura */
.header-panel[b-afx7uo7shf] {
    height: 84px;
    box-sizing: border-box;
}

/* Botones de acción (icon group) parejos y alineados verticalmente */
.tc-icon-actions[b-afx7uo7shf] {
    gap: 4px;
}

/* El MudFileUpload es solo el mecanismo de carga (el botón visible es un
   MudIconButton aparte). Debe quedar totalmente oculto y sin ocupar espacio. */
.tc-icon-actions[b-afx7uo7shf]  .mud-file-upload {
    display: none !important;
}

/* Todos los botones del grupo con el mismo alto y centrados verticalmente. */
.tc-icon-actions[b-afx7uo7shf]  .mud-button-root,
.tc-icon-actions[b-afx7uo7shf]  .mud-icon-button {
    margin: 0 !important;
    align-self: center;
}
/* /Components/Pages/ReglasTC.razor.rz.scp.css */
.tc-search-wrapper[b-h26q3481u9]  .mud-input-outlined-border,
.tc-search-wrapper[b-h26q3481u9]  .mud-input-underline:before,
.tc-search-wrapper[b-h26q3481u9]  .mud-input-underline:after {
    border: none !important;
}

.tc-search-wrapper[b-h26q3481u9]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 12px;
}

.tc-search-wrapper[b-h26q3481u9]  input::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 1;
}

.tc-search-wrapper[b-h26q3481u9]  .mud-icon-root {
    color: var(--mud-palette-text-secondary);
}

.tc-search-wrapper[b-h26q3481u9]  .mud-input-focused .mud-input {
    border-color: var(--mud-palette-primary);
}

.tc-origin-wrapper[b-h26q3481u9]  .mud-input-outlined-border,
.tc-origin-wrapper[b-h26q3481u9]  .mud-input-underline:before,
.tc-origin-wrapper[b-h26q3481u9]  .mud-input-underline:after {
    border: none !important;
}

.tc-origin-wrapper[b-h26q3481u9]  .mud-input {
    background-color: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 14px;
    min-width: 160px;
    height: 40px;
}

.tc-origin-wrapper[b-h26q3481u9]  .mud-input-root {
    font-size: 12px;
    color: var(--mud-palette-text-primary);
}

.tc-origin-wrapper[b-h26q3481u9]  .mud-select-icon {
    color: var(--mud-palette-text-secondary);
}
