/* Colores de la app. Los mismos valores están en Components/Layout/Tema.cs (MudBlazor);
   aquí los usa el login (SSR sin MudBlazor) y las líneas animadas. */
:root {
    --be-celeste: #99DAFF;
    --be-rosa: #F4CECB;
    --be-verde: #A8DADC;

    --be-fondo: #F5F7F9;
    --be-superficie: #FFFFFF;
    --be-texto: #1F2933;
    --be-texto-secundario: #66727F;
    --be-lineas: #D6DBE1;
    --be-lineas-input: #C3CAD2;
    --be-error-fondo: #FDECEA;
    --be-error-texto: #A12A1F;

    /* Los pastel no se leen como texto sobre fondo claro: para texto se mezclan con el color de texto. */
    --be-acento-texto: color-mix(in srgb, var(--mud-palette-primary, #99DAFF) 45%, var(--mud-palette-text-primary, #1F2933));
}

@media (prefers-color-scheme: dark) {
    :root {
        --be-fondo: #14181D;
        --be-superficie: #1B2027;
        --be-texto: #E3E8EE;
        --be-texto-secundario: #9AA5B1;
        --be-lineas: #3D4652;
        --be-lineas-input: #4A5562;
        --be-error-fondo: #3A2224;
        --be-error-texto: #F4B4AE;
    }
}

/* ---------- Login ---------- */

.login-fondo {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 16px;
    background: var(--be-fondo);
    color: var(--be-texto);
    font-family: Roboto, "Segoe UI", sans-serif;
}

.login-tarjeta {
    position: relative;
    width: 100%;
    max-width: 380px;
    background: var(--be-superficie);
    border: 1px solid var(--be-lineas);
    border-radius: 8px;
    padding: 28px 24px;
    display: grid;
    gap: 6px;
}

.login-tarjeta h1 { margin: 0; font-family: Poppins, Roboto, sans-serif; font-size: 1.5rem; font-weight: 500; color: var(--be-texto); }
.login-sub { margin: 0 0 12px; color: var(--be-texto-secundario); }
.login-tarjeta form { display: grid; gap: 6px; }
.login-tarjeta label { font-size: .85rem; color: var(--be-texto-secundario); margin-top: 6px; }
.login-tarjeta input { font: inherit; padding: 10px 12px; color: var(--be-texto); background: var(--be-superficie); border: 1px solid var(--be-lineas-input); border-radius: 6px; }
.login-tarjeta input:focus { outline: 2px solid var(--be-celeste); border-color: transparent; }
.login-tarjeta button { margin-top: 14px; padding: 11px; font: inherit; font-weight: 500; color: #1F2933; background: var(--be-celeste); border: 0; border-radius: 6px; cursor: pointer; }
.login-tarjeta button:hover { filter: brightness(.96); }
.login-error { background: var(--be-error-fondo); color: var(--be-error-texto); border-radius: 6px; padding: 8px 12px; font-size: .9rem; }
.validation-message { color: var(--be-error-texto); font-size: .8rem; }

/* ---------- App (MudBlazor) ---------- */

.barra-app { border-bottom: 1px solid var(--mud-palette-lines-default); }
.menu-lateral.mud-drawer { border-inline-end: 1px solid var(--mud-palette-lines-default); }

/* Texto en color de acento legible en claro y oscuro. */
.mud-primary-text:not(.mud-switch-base) { color: var(--be-acento-texto) !important; }
.mud-button-text.mud-button-text-primary,
.mud-button-outlined.mud-button-outlined-primary { color: var(--be-acento-texto); }
.mud-input:focus-within ~ label.mud-input-label.mud-input-label-inputcontrol { color: var(--be-acento-texto); }
.mud-tab.mud-tab-active { color: var(--mud-palette-text-primary); }

/* Colores translúcidos de la paleta; la clase tema-claro / tema-oscuro la pone MainLayout según el modo. */
.tema-claro {
    --be-activo-fondo: color-mix(in srgb, var(--be-celeste) 30%, transparent);
    --be-activo-icono: #2B7DB0;
    --be-grupo-fondo: color-mix(in srgb, var(--be-rosa) 25%, transparent);
    --be-hover-fondo: #F0F2F5;
    --be-columna: rgba(31, 41, 51, .045);
    --be-encabezado: rgba(31, 41, 51, .07);
}
.tema-oscuro {
    --be-activo-fondo: color-mix(in srgb, var(--be-celeste) 22%, transparent);
    --be-activo-icono: var(--be-celeste);
    --be-grupo-fondo: color-mix(in srgb, var(--be-rosa) 14%, transparent);
    --be-hover-fondo: rgba(255, 255, 255, .05);
    --be-columna: rgba(255, 255, 255, .035);
    --be-encabezado: rgba(255, 255, 255, .06);
}

/* Menú: ítem activo con fondo celeste translúcido; grupo con una página abierta en rosa suave. */
.menu-app .mud-nav-link { border-radius: 6px; margin: 1px 6px; width: calc(100% - 12px); }
.menu-app .mud-nav-link:hover:not(.active) { background-color: var(--be-hover-fondo); }
.mud-navmenu.mud-navmenu-default.menu-app .mud-nav-link.active:not(.mud-nav-link-disabled) {
    background-color: var(--be-activo-fondo);
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}
.menu-app .mud-nav-link.active:not(.mud-nav-link-disabled) .mud-nav-link-icon { color: var(--be-activo-icono); }
.menu-app .mud-nav-group.grupo-activo > .mud-nav-link {
    background-color: var(--be-grupo-fondo);
    font-weight: 600;
}

/* Tablas: columnas alternadas con un gris muy claro y encabezado más marcado (no en la vista de tarjetas). */
@media (min-width: 960px) {
    .mud-table-root .mud-table-head .mud-table-cell,
    .mud-simple-table table thead th {
        background-color: var(--be-encabezado);
        font-weight: 600;
    }
    .mud-table-root tr > .mud-table-cell:nth-child(even),
    .mud-simple-table:not(.sin-columnas) table tr > :nth-child(even) {
        background-image: linear-gradient(var(--be-columna), var(--be-columna));
    }
}


/* ---------- Error de Blazor ---------- */

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2000;
}

#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }

/* ---------- Detalles de páginas ---------- */

.texto-aviso { color: var(--mud-palette-warning-darken); font-weight: 500; }
.texto-error { color: var(--mud-palette-error); font-weight: 500; }

.foto-articulo {
    position: relative;
    width: 132px;
    height: 120px;
    border: 1px dashed var(--mud-palette-lines-inputs);
    border-radius: 8px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--mud-palette-background-gray);
    flex: none;
}
.foto-articulo img { width: 100%; height: 100%; object-fit: cover; }
.foto-subir { position: absolute; right: 4px; bottom: 4px; margin: 0; }

.boton-archivo { position: relative; overflow: hidden; cursor: pointer; }
.input-oculto { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

.vista-factura {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    min-height: 250px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--mud-palette-background-gray);
}
.vista-factura img { width: 100%; height: auto; display: block; }
.vista-factura iframe { width: 100%; height: 560px; border: 0; }

.campo-numero input { text-align: right; }

/* OCR de facturas: datos leídos con poca seguridad y artículos sugeridos. */
:root { --be-revisar: color-mix(in srgb, var(--be-rosa) 45%, #C0563F); }
.campo-revisar .mud-input-outlined-border { border-color: var(--be-revisar) !important; border-width: 2px; }
.campo-revisar .mud-input-control-helper-container, .campo-revisar .mud-input-helper-text { color: var(--be-revisar) !important; }
.campo-revisar .mud-input-outlined { background: color-mix(in srgb, var(--be-rosa) 18%, transparent); border-radius: 4px; }
.tabla-items tr.fila-revisar > td:first-child { box-shadow: inset 3px 0 0 var(--be-revisar); }
.texto-leido { font-size: .75rem; color: var(--mud-palette-text-secondary); margin: 2px 0; overflow-wrap: anywhere; }
.fila-revisar .texto-leido { color: var(--be-revisar); }
.sugerencias-articulo .mud-chip { max-width: 100%; }
.sugerencias-articulo .mud-chip-content { white-space: normal; text-align: left; }

/* Alta de artículo dentro de la línea de la factura. */
.nuevo-articulo-linea {
    display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 8px; margin-top: 6px; padding: 8px;
    border: 1px dashed var(--be-lineas-input); border-radius: 8px; background: color-mix(in srgb, var(--be-celeste) 10%, transparent);
}
.nuevo-articulo-linea > :last-child { grid-column: 1 / -1; }
@media (max-width: 599.98px) { .nuevo-articulo-linea { grid-template-columns: minmax(0, 1fr); } }
/* En pantallas anchas el alta va en una fila completa bajo la línea; en el celular, dentro de la tarjeta. */
@media (min-width: 600px) { .tabla-items .solo-movil { display: none; } .tabla-items .fila-nuevo-articulo > td { border-top: 0; padding-top: 0; } }
@media (max-width: 599.98px) { .tabla-items .fila-nuevo-articulo { display: none !important; } }

/* Suma de ítems → neto, alineado a la derecha. */
.resumen-montos { display: grid; grid-template-columns: auto auto; justify-content: end; column-gap: 16px; row-gap: 2px; font-size: .875rem; }
.resumen-montos > b { text-align: right; }

.campo-prefijo input, .campo-codigo input { text-transform: uppercase; letter-spacing: .08em; font-family: ui-monospace, Consolas, monospace; }

/* Tablas editables simples: en el celular cada fila pasa a ser una tarjeta con etiquetas. */
@media (max-width: 599.98px) {
    .tabla-items table, .tabla-items tbody, .tabla-items tr, .tabla-items td { display: block !important; width: 100% !important; }
    .tabla-items thead { display: none !important; }
    .tabla-items tr { border-bottom: 1px solid var(--mud-palette-lines-default); padding: 6px 0; }
    .tabla-items td { border: 0 !important; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; text-align: right !important; }
    .tabla-items td[data-label]::before { content: attr(data-label); font-weight: 500; color: var(--mud-palette-text-secondary); text-align: left; }
    .tabla-items td.celda-articulo { flex-direction: column; align-items: stretch; text-align: left !important; }
    .tabla-items tr.fila-revisar > td:first-child { box-shadow: none; }
    .tabla-items tr.fila-revisar { border-left: 3px solid var(--be-revisar); padding-left: 6px; }
}

/* Administración → General: una fila por parámetro, texto a la izquierda y el número a la derecha. */
.fila-config { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 16px; align-items: center; padding: 16px; }
.campo-config { margin: 0; }
.campo-config .mud-input-adornment-end { margin-inline-start: 6px; }
@media (max-width: 599.98px) {
    .fila-config { grid-template-columns: 1fr; gap: 8px; }
    .campo-config { max-width: 160px; }
}

/* ---------- Calendario ---------- */

.cita {
    display: block;
    border-radius: 4px;
    padding: 1px 6px;
    font-size: .8rem;
    line-height: 1.4;
    color: #1F2933 !important;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 3px solid transparent;
}
.cita-evento { background: var(--be-celeste) !important; border-left-color: #4FA9DC; }
.cita-cotizado { background: transparent !important; border: 1px dashed var(--mud-palette-text-secondary); border-left-width: 3px; color: var(--mud-palette-text-secondary) !important; }
.cita-entrega { background: var(--be-rosa) !important; border-left-color: #E39C96; }
.cita-retiro { background: var(--be-verde) !important; border-left-color: #6DBDC0; }
.leyenda-calendario .cita { display: inline-block; }
.chip-cotizado { border-style: dashed !important; }

/* Radzen con los colores de la app. */
.calendario-escritorio {
    --rz-primary: #4FA9DC;
    --rz-on-primary: #1F2933;
    --rz-base-background-color: var(--mud-palette-surface);
    --rz-text-color: var(--mud-palette-text-primary);
    --rz-text-secondary-color: var(--mud-palette-text-secondary);
    --rz-border-color: var(--mud-palette-lines-default);
    --rz-scheduler-border-color: var(--mud-palette-lines-default);
    --rz-scheduler-background-color: var(--mud-palette-surface);
    --rz-scheduler-color: var(--mud-palette-text-primary);
    --rz-scheduler-highlight-background-color: color-mix(in srgb, var(--be-celeste) 18%, transparent);
    --rz-scheduler-event-background-color: var(--be-celeste);
    --rz-scheduler-event-color: #1F2933;
    font-family: Roboto, "Segoe UI", sans-serif;
}
.calendario-escritorio .rz-scheduler { border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; }
.calendario-escritorio .rz-event-content { padding: 0; background: transparent; }
.calendario-escritorio .rz-event { background: transparent !important; box-shadow: none; }

.dia-semana { display: flex; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.dia-semana:last-child { border-bottom: 0; }
.dia-semana-fecha { width: 84px; flex: none; }
.dia-hoy { background: color-mix(in srgb, var(--be-celeste) 14%, transparent); }
.nowrap { white-space: nowrap; }


/* Entrega y retiro: fecha, hora y "todo el día" en una fila que se acomoda al ancho. */
.fila-horario { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fila-horario .campo-fecha { flex: 1 1 160px; min-width: 150px; }
.fila-horario .campo-hora { flex: 0 0 120px; }

/* Etiqueta del calendario: texto recortado y, si faltan artículos, el aviso a la derecha. */
.cita { display: flex; align-items: center; gap: 4px; }
.cita .cita-texto { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cita .icono-faltantes { flex: none; font-size: 1rem; color: #C77700 !important; }
.leyenda-calendario .cita { display: inline-flex; }

/* El tema base de Radzen pone una imagen decorativa de fondo en body; la app usa solo su color de fondo. */
html body { background-image: none !important; background-color: var(--mud-palette-background); }

/* ---------- Bodega (pensado para el celular) ---------- */

.fila-bodega { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.fila-bodega:last-child { border-bottom: 0; }
.stepper { display: inline-flex; align-items: center; gap: 6px; flex: none; }
.stepper .stepper-numero { width: 72px; margin: 0; }
.tarjeta-bodega .mud-button-root { flex: none; }

/* Cobro en línea (monto y estado) */
.cobro-en-linea .campo-monto { width: 130px; margin: 0; }
.cobro-en-linea .campo-estado-cobro { width: 150px; margin: 0; }

.galeria-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.galeria-fotos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; border: 1px solid var(--mud-palette-lines-default); }

/* ---------- Guía de despacho para imprimir ---------- */

.hoja-impresion { max-width: 900px; margin: 0 auto; padding: 24px; background: #fff; color: #1F2933; font-family: Roboto, "Segoe UI", sans-serif; min-height: 100vh; }
.acciones-guia { display: flex; gap: 8px; margin-bottom: 16px; }
.guia-encabezado { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #1F2933; padding-bottom: 8px; margin-bottom: 12px; }
.guia-encabezado h1 { margin: 0; font-family: Poppins, Roboto, sans-serif; font-size: 1.5rem; font-weight: 600; }
.guia-encabezado p { margin: 0; color: #66727F; }
.guia-numero { display: grid; text-align: right; font-size: .85rem; color: #66727F; }
.guia-datos, .guia-items { width: 100%; border-collapse: collapse; margin-bottom: 16px; font-size: .9rem; }
.guia-datos th { text-align: left; width: 120px; color: #66727F; font-weight: 500; padding: 4px 8px 4px 0; vertical-align: top; }
.guia-datos td { padding: 4px 16px 4px 0; }
.guia-items th, .guia-items td { border: 1px solid #C3CAD2; padding: 6px 8px; text-align: left; }
.guia-items thead th { background: #EDF0F3; }
.guia-items .num { text-align: right; width: 90px; }
.guia-items small { color: #66727F; }
.guia-notas { font-size: .9rem; }
.guia-firmas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; font-size: .8rem; color: #66727F; text-align: center; }
.guia-firmas span { display: block; border-top: 1px solid #1F2933; margin-bottom: 4px; }

@media print {
    .no-imprimir { display: none !important; }
    .hoja-impresion { padding: 0; max-width: none; }
    html body { background: #fff; }
}


/* Ficha de artículo: "Útiles hoy" grande y el resto del stock en tarjetas chicas. */
.kpis-articulo { display: grid; grid-template-columns: minmax(150px, 1.4fr) repeat(5, minmax(84px, 1fr)); gap: 8px; }
.kpis-articulo > div { border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; padding: 10px 12px; background: var(--mud-palette-surface); display: grid; align-content: start; }
.kpis-articulo .kpi-valor { font-size: 1.35rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.kpis-articulo .kpi-titulo { font-size: .8rem; color: var(--mud-palette-text-secondary); }
.kpis-articulo .kpi-principal { background: color-mix(in srgb, var(--be-celeste) 22%, var(--mud-palette-surface)); border-color: color-mix(in srgb, var(--be-celeste) 60%, var(--mud-palette-lines-default)); }
.kpis-articulo .kpi-principal .kpi-valor { font-size: 2.6rem; font-family: Poppins, Roboto, sans-serif; }
.kpis-articulo .kpi-principal .kpi-titulo { font-size: .95rem; color: var(--mud-palette-text-primary); font-weight: 500; }
.kpis-articulo .kpi-nota { font-size: .78rem; color: var(--mud-palette-text-secondary); }
.kpis-articulo .kpi-alerta { background: color-mix(in srgb, var(--mud-palette-error) 12%, var(--mud-palette-surface)); border-color: var(--mud-palette-error); }
.kpis-articulo .kpi-alerta .kpi-nota b { color: var(--mud-palette-error); }
.kpis-articulo .kpi-aviso .kpi-valor { color: var(--mud-palette-warning-darken); }
@media (max-width: 959.98px) {
    .kpis-articulo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .kpis-articulo .kpi-principal { grid-column: 1 / -1; }
}


/* ---------- Tablas como tarjetas en pantallas chicas (MudTable con Breakpoint.Sm apila bajo 960px) ---------- */
@media (max-width: 959.98px) {
    .mud-table.mud-sm-table { background: transparent; box-shadow: none; border: 0; }
    .mud-table.mud-sm-table .mud-table-container { border: 0; }
    /* La tabla no debe crecer con el contenido: cada tarjeta ocupa el ancho de la pantalla. */
    .mud-sm-table .mud-table-container, .mud-sm-table .mud-table-root, .mud-sm-table .mud-table-body { display: block; width: 100%; }
    .mud-sm-table .mud-table-cell { overflow-wrap: anywhere; }
    .mud-sm-table .nowrap { white-space: normal; }
    .mud-sm-table .mud-table-cell > .mud-chip, .mud-sm-table .mud-table-cell .mud-chip { margin: 2px 0 2px 4px; }
    .mud-sm-table .mud-table-body { border-top: 0; }
    .mud-sm-table .mud-table-body .mud-table-row {
        display: block;
        margin-bottom: 10px;
        border: 1px solid var(--mud-palette-lines-default);
        border-radius: 10px;
        background: var(--mud-palette-surface);
        padding: 4px 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
    .mud-sm-table .mud-table-body .mud-table-row .mud-table-cell:last-child { border-bottom: 0; }
    .mud-sm-table .mud-table-cell { gap: 12px; min-height: 36px; }
    .mud-sm-table .mud-table-cell::before { color: var(--mud-palette-text-secondary); font-weight: 500; flex: none; }
    .mud-sm-table .mud-table-cell > * { min-width: 0; text-align: end; }
    /* Título de la tarjeta: la celda marcada con titulo-tarjeta o, si no hay, la primera columna. */
    .mud-sm-table .mud-table-body .mud-table-row > .titulo-tarjeta,
    .mud-sm-table .mud-table-body .mud-table-row:not(:has(> .titulo-tarjeta)) > .mud-table-cell:first-child {
        order: -1; font-size: 1rem; font-weight: 600; border-bottom: 1px solid var(--mud-palette-lines-default) !important; justify-content: flex-start; text-align: start !important;
    }
    .mud-sm-table .mud-table-body .mud-table-row > .titulo-tarjeta::before,
    .mud-sm-table .mud-table-body .mud-table-row:not(:has(> .titulo-tarjeta)) > .mud-table-cell:first-child::before { display: none; }
    .mud-sm-table .mud-table-body .mud-table-row > .titulo-tarjeta > *,
    .mud-sm-table .mud-table-body .mud-table-row:not(:has(> .titulo-tarjeta)) > .mud-table-cell:first-child > * { text-align: start; }
    /* Filas sin datos o cargando: sin aspecto de tarjeta. */
    .mud-sm-table .mud-table-body .mud-table-row:has(> td[colspan]) { border: 0; background: transparent; }
    .mud-sm-table .mud-table-pagination { border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; background: var(--mud-palette-surface); }
    /* Controles dentro de las tarjetas: que no se salgan. */
    .mud-sm-table .mud-table-cell .mud-input-control { max-width: 62%; margin: 0; }
    .mud-sm-table .cobro-en-linea { flex-wrap: wrap; justify-content: flex-end; }
    .mud-sm-table .cobro-en-linea .mud-input-control { max-width: none; }
    .mud-sm-table .cobro-en-linea .campo-monto { width: 120px; }
    .mud-sm-table .cobro-en-linea .campo-estado-cobro { width: 140px; }
}


/* ---------- Inicio ---------- */
.kpis-inicio { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.kpi-inicio { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; background: var(--mud-palette-surface); color: inherit; text-decoration: none; transition: border-color .15s, background-color .15s; }
.kpi-inicio:hover { border-color: var(--be-celeste); background: color-mix(in srgb, var(--be-celeste) 10%, var(--mud-palette-surface)); }
.kpi-inicio .kpi-valor { font-family: Poppins, Roboto, sans-serif; font-size: 2rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kpi-inicio .kpi-titulo { font-size: .82rem; color: var(--mud-palette-text-secondary); }
.kpi-inicio.kpi-alerta .kpi-valor { color: var(--mud-palette-error); }
.kpi-inicio.kpi-aviso .kpi-valor { color: var(--mud-palette-warning-darken); }
@media (max-width: 599.98px) { .kpis-inicio { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* Calendario por etapa: una barra por evento desde la entrega hasta el retiro. Tonos suaves, legibles en claro y oscuro. */
.cita-por-entregar { background: #F4B6B0 !important; border-left-color: #D9534F; }
.cita-en-curso { background: #A9D4F5 !important; border-left-color: #3B8FD0; }
.cita-por-retirar { background: #B5DFC4 !important; border-left-color: #3E9E63; }
.cita-terminado { background: var(--mud-palette-background-gray) !important; border-left-color: var(--mud-palette-lines-inputs); color: var(--mud-palette-text-secondary) !important; }
.cita-por-entregar.cita-cotizado { background: color-mix(in srgb, #F4B6B0 35%, transparent) !important; border: 1px dashed #D9534F; border-left-width: 3px; color: var(--mud-palette-text-primary) !important; }

/* Selector de vista del calendario. */
.selector-vista { display: inline-flex; align-items: center; gap: 4px; font-size: .9rem; color: var(--mud-palette-text-secondary); }
.selector-vista .mud-switch { margin: 0; }
.selector-vista .vista-activa { color: var(--mud-palette-text-primary); font-weight: 600; }
