@import '_content/J2J.Fichajes.Pantallas/J2J.Fichajes.Pantallas.1zbtr1wckw.bundle.scp.css';

/* /Components/Comunes/AusenciasDeLaFicha.razor.rz.scp.css */
/* La pestaña «Ausencias» de la ficha. Viene de J2J_Front con los colores de Jornadoo: el
   naranja de J2J pasa a ser el azul de la marca y los grises fijos, las líneas del armazón. */

.fe-aus-nav[b-z0m4aw5p1b] {
    border: 0;
    background: none;
    color: var(--color-text-muted);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    line-height: 1;
}

.fe-aus-nav:hover[b-z0m4aw5p1b] {
    background-color: var(--color-surface-alt);
    color: var(--brand-primary);
}

.fe-aus-contador[b-z0m4aw5p1b] {
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md, .5rem);
    background-color: var(--color-surface);
    min-width: 0;
}

.fe-aus-contador-cab[b-z0m4aw5p1b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .55rem .75rem;
    border-bottom: 1px solid var(--cr-linea);
    font-size: .85rem;
}

.fe-aus-unidad[b-z0m4aw5p1b] {
    background-color: var(--color-surface-alt);
    color: var(--color-text-muted);
    border-radius: var(--radius-sm, .35rem);
    padding: .15rem .5rem;
    font-size: .75rem;
    font-weight: 600;
}

.fe-aus-cifras[b-z0m4aw5p1b] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    text-align: center;
    padding: .8rem .5rem;
}

.fe-aus-cifra[b-z0m4aw5p1b] {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--brand-primary-dark);
}

.fe-aus-cifra-etq[b-z0m4aw5p1b] {
    font-size: .78rem;
    color: var(--color-text-muted);
}

.fe-aus-seccion[b-z0m4aw5p1b] {
    margin-bottom: 1.75rem;
}

.fe-aus-seccion-icono[b-z0m4aw5p1b] {
    color: var(--brand-primary);
    font-size: 1.1rem;
    margin-bottom: .5rem;
    display: block;
}

.fe-aus-seccion-titulo[b-z0m4aw5p1b] {
    font-size: 1.05rem;
    margin-bottom: .15rem;
}

.fe-aus-seccion-sub[b-z0m4aw5p1b] {
    color: var(--color-text-muted);
    font-size: .85rem;
    margin-bottom: .75rem;
}

.fe-aus-vacio[b-z0m4aw5p1b] {
    color: var(--color-text-muted);
    opacity: .75;
    font-size: .85rem;
    font-style: italic;
    margin-bottom: 0;
}

.fe-aus-lista[b-z0m4aw5p1b] {
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md, .5rem);
    background-color: var(--color-surface);
    overflow: hidden;
}

.fe-aus-fila[b-z0m4aw5p1b] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .7rem .8rem;
    border-top: 1px solid var(--cr-linea);
}

.fe-aus-fila:first-child[b-z0m4aw5p1b] {
    border-top: none;
}

.fe-aus-fila-datos[b-z0m4aw5p1b] {
    flex-grow: 1;
    min-width: 0;
}

.fe-aus-fila-titulo[b-z0m4aw5p1b] {
    font-size: .92rem;
}

.fe-aus-fila-sub[b-z0m4aw5p1b] {
    color: var(--color-text-muted);
    font-size: .82rem;
}

/* Taquito de fecha: la banda de color es la del tipo de ausencia. */
.fe-aus-chip[b-z0m4aw5p1b] {
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-sm, .35rem);
    overflow: hidden;
    text-align: center;
    width: 38px;
    flex-shrink: 0;
    background-color: var(--color-surface);
}

.fe-aus-chip-mes[b-z0m4aw5p1b] {
    display: block;
    color: #fff;
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: .1rem 0;
}

.fe-aus-chip-dia[b-z0m4aw5p1b] {
    display: block;
    font-size: .9rem;
    font-weight: 600;
    padding: .1rem 0 .15rem;
}

.fe-aus-flecha[b-z0m4aw5p1b] {
    color: var(--color-text-muted);
    opacity: .6;
    font-size: .7rem;
    flex-shrink: 0;
}

.fe-aus-acciones[b-z0m4aw5p1b] {
    display: flex;
    gap: .15rem;
    flex-shrink: 0;
}

.fe-aus-acciones .btn[b-z0m4aw5p1b] {
    --bs-btn-padding-x: .45rem;
    --bs-btn-padding-y: .2rem;
}

.fe-aus-anteriores[b-z0m4aw5p1b] {
    border: 0;
    background: none;
    padding: .5rem 0;
    color: var(--color-text-muted);
    font-size: .88rem;
}

.fe-aus-anteriores:hover[b-z0m4aw5p1b] {
    color: var(--brand-primary);
}

/* Panel del calendario: el año entero sobre un fondo que lo separa de la columna. */
.fe-aus-panel[b-z0m4aw5p1b] {
    background-color: var(--color-surface-alt);
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md, .5rem);
    padding: 1.1rem 1.25rem 1.5rem;
    height: 100%;
}

.fe-aus-anio[b-z0m4aw5p1b] {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 0 .25rem;
}

.fe-aus-boton[b-z0m4aw5p1b] {
    border: 1px solid var(--cr-linea-fuerte, var(--cr-linea));
    background-color: var(--color-surface);
    border-radius: 999px;
    padding: .35rem .9rem;
    font-size: .85rem;
    color: var(--brand-primary);
    font-weight: 600;
}

.fe-aus-boton:hover[b-z0m4aw5p1b] {
    border-color: var(--brand-primary);
    background-color: rgba(var(--brand-primary-rgb), .06);
}

.fe-aus-meses[b-z0m4aw5p1b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 1.4rem 1.25rem;
}

.fe-aus-mes-nombre[b-z0m4aw5p1b] {
    font-size: .85rem;
    margin-bottom: .35rem;
    text-transform: capitalize;
}

.fe-aus-dias[b-z0m4aw5p1b] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 3px;
}

.fe-aus-cab[b-z0m4aw5p1b] {
    text-align: center;
    font-size: .68rem;
    color: var(--color-text-muted);
    opacity: .7;
    padding-bottom: .2rem;
}

/* Las casillas se tocan a propósito: así una racha de días se lee como una barra. */
.fe-aus-dia[b-z0m4aw5p1b] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    font-size: .72rem;
    color: var(--color-text);
}

.fe-aus-dia-finde[b-z0m4aw5p1b] {
    color: var(--color-text-muted);
    opacity: .5;
}

.fe-aus-dia-hoy[b-z0m4aw5p1b] {
    border: 1.5px solid var(--brand-primary);
    border-radius: 999px;
    font-weight: 600;
}

/* Festivo de su centro. Va después del fin de semana a propósito: un festivo en sábado se
   lee como festivo, no como fin de semana. */
.fe-aus-dia-festivo[b-z0m4aw5p1b] {
    color: #b02a37;
    font-weight: 600;
    background-color: rgba(220, 53, 69, .1);
    border-radius: 999px;
}

.fe-aus-dia-ocupado[b-z0m4aw5p1b] {
    color: #fff;
    font-weight: 600;
}

.fe-aus-dia-abre[b-z0m4aw5p1b] {
    border-top-left-radius: 999px;
    border-bottom-left-radius: 999px;
}

.fe-aus-dia-cierra[b-z0m4aw5p1b] {
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
}

/* Pendiente de aprobar: se pinta del color del tipo, pero desvaído. */
.fe-aus-dia-pendiente[b-z0m4aw5p1b] {
    opacity: .55;
}

.fe-aus-dia-hoy-ocupado[b-z0m4aw5p1b] {
    box-shadow: inset 0 0 0 1.5px #fff;
}

.fe-aus-leyenda[b-z0m4aw5p1b] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: 1.5rem;
}

.fe-aus-leyenda-item[b-z0m4aw5p1b] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background-color: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: 999px;
    padding: .2rem .65rem;
    font-size: .78rem;
    color: var(--color-text-muted);
}

.fe-aus-punto[b-z0m4aw5p1b] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
}

.fe-aus-punto-hoy[b-z0m4aw5p1b] {
    background-color: transparent;
    border: 1.5px solid var(--brand-primary);
}

.fe-aus-punto-festivo[b-z0m4aw5p1b] {
    background-color: rgba(220, 53, 69, .35);
}

.fe-aus-ajustes[b-z0m4aw5p1b] {
    margin-top: 2.5rem;
    max-width: 460px;
}

.fe-aus-movimientos[b-z0m4aw5p1b] {
    background-color: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md, .5rem);
    max-height: 220px;
    overflow-y: auto;
}
/* /Components/Comunes/BuscadorDePersona.razor.rz.scp.css */
.cr-persona-elegida[b-qjyzgf47es] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    border: 1px solid var(--cr-tinta-3);
    border-radius: var(--radius-md);
    background: var(--cr-tinta-1);
}

.cr-buscador-lista[b-qjyzgf47es] {
    list-style: none;
    margin: .25rem 0 0;
    padding: .25rem;
    max-height: 16rem;
    overflow-y: auto;
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

.cr-buscador-lista li[b-qjyzgf47es] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem;
    padding: .35rem .6rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.cr-buscador-lista li.activa[b-qjyzgf47es] {
    background: var(--cr-tinta-2);
    color: var(--brand-primary-dark);
}

.cr-buscador-lista li.cr-buscador-mas[b-qjyzgf47es] {
    cursor: default;
    font-size: .8125rem;
    color: var(--bs-secondary-color);
}

/* En un formulario: el campo mide lo que un select y la lista flota sobre lo de debajo. */
.cr-buscador-desplegable[b-qjyzgf47es] {
    position: relative;
}

.cr-buscador-desplegable .cr-persona-elegida[b-qjyzgf47es] {
    min-height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    min-width: 0;
}

.cr-buscador-desplegable .cr-buscador-lista[b-qjyzgf47es] {
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    min-width: 100%;
    width: max-content;
    max-width: min(24rem, 90vw);
    box-shadow: var(--bs-box-shadow);
}
/* /Components/Comunes/CarpetasDeDocumentos.razor.rz.scp.css */
/* BootstrapBlazor fija el ancho de las casillas y el interruptor sale como un círculo (ver /cumpleanos). */
.form-switch .form-check-input[b-a26rj6lvjx] {
    width: 2em;
    border-radius: 2em;
}
/* /Components/Comunes/EditorFranjasSemana.razor.rz.scp.css */
/* El ancho mínimo sale de la fila de una franja: dos casillas de hora que no bajan de
   5.25rem sin cortar «10:00», el guion, «4 h 30 min» y el botón de quitar. Por debajo
   la fila se salía de la tarjeta y tapaba la del día de al lado. */
.efs-grid[b-apeogj2hc2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(19.5rem, 100%), 1fr));
    gap: .5rem;
}

.efs-dia[b-apeogj2hc2] {
    border: 1px solid var(--cr-linea, #dee2e6);
    border-top: 3px solid var(--brand-primary);
    border-radius: var(--radius-md, .5rem);
    padding: .6rem .65rem;
    background: #fff;
    box-shadow: var(--cr-sombra-1);
}

/* Un día cerrado se aparta: sin filo de color y con el fondo del gris de la página. */
.efs-dia--cerrado[b-apeogj2hc2] {
    background: var(--color-surface-alt, #f8f9fa);
    border-top-color: var(--cr-linea-fuerte, #dee2e6);
    box-shadow: none;
}

.efs-dia-cabecera[b-apeogj2hc2] {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .4rem;
}

.efs-dia-nombre[b-apeogj2hc2] {
    font-weight: 600;
    font-size: .9rem;
    color: var(--brand-primary-dark);
}

.efs-dia-total[b-apeogj2hc2] {
    color: var(--color-text-muted, #6c757d);
    font-variant-numeric: tabular-nums;
    font-size: .8rem;
    margin-left: auto;
}

.efs-add[b-apeogj2hc2],
.efs-quitar[b-apeogj2hc2] {
    --bs-btn-padding-y: .1rem;
    --bs-btn-padding-x: .35rem;
    line-height: 1;
}

.efs-franja[b-apeogj2hc2] {
    display: flex;
    align-items: center;
    gap: .25rem;
    margin-bottom: .3rem;
}

/* ::deep porque el <input> lo pinta InputHora y no lleva el atributo de este componente:
   sin él la regla no llegaba y las casillas se quedaban con el width:100% de form-control. */
.efs-franja[b-apeogj2hc2]  input[type="time"] {
    flex: 1 1 0;
    min-width: 5.25rem;
    width: auto;
}

.efs-minutos[b-apeogj2hc2],
.efs-quitar[b-apeogj2hc2],
.efs-franja .badge[b-apeogj2hc2] {
    flex-shrink: 0;
}

.efs-sep[b-apeogj2hc2] {
    color: var(--color-text-muted, #6c757d);
}

.efs-minutos[b-apeogj2hc2] {
    font-size: .75rem;
    color: var(--color-text-muted, #6c757d);
    white-space: nowrap;
}

.efs-vacio[b-apeogj2hc2] {
    font-size: .8rem;
    color: var(--color-text-muted, #adb5bd);
    font-style: italic;
}

.efs-total[b-apeogj2hc2] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-top: .75rem;
    padding-top: .5rem;
    border-top: 1px solid var(--cr-linea, #dee2e6);
}
/* /Components/Comunes/ZonaDeArchivo.razor.rz.scp.css */
.cr-zona-archivo[b-sh82u8wujd] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .25rem;
    padding: 1.25rem 1rem;
    text-align: center;
    border: 1.5px dashed rgba(var(--brand-primary-rgb), .35);
    border-radius: var(--radius-md);
    background: var(--cr-tinta-1);
    transition: border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

.cr-zona-archivo > i[b-sh82u8wujd] {
    font-size: 1.5rem;
    color: var(--brand-primary);
}

.cr-zona-archivo.encima[b-sh82u8wujd],
.cr-zona-archivo:hover[b-sh82u8wujd],
.cr-zona-archivo:focus-within[b-sh82u8wujd] {
    border-color: var(--brand-primary);
    background: var(--cr-tinta-2);
}

.cr-zona-archivo.con-archivo[b-sh82u8wujd] {
    border-style: solid;
}

/* El input ocupa la zona entera, invisible: pulsar abre el selector y soltar le da el archivo. */
.cr-zona-archivo[b-sh82u8wujd]  input[type=file] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
/* /Components/Pages/CalendarioEquipo.razor.rz.scp.css */
/* Calendario de ausencias del equipo: rejilla mensual y línea de tiempo por persona. */

.cal-pagina[b-cpodwx0jle] {
    --cal-borde: var(--cr-linea, #e6e8eb);
    --cal-finde-bg: #f1f3f8;
    --cal-festivo-bg: #fdf1f0;
    --cal-hoy-bg: rgba(var(--brand-primary-rgb), .08);
    --cal-fuera-bg: #fafbfd;
    --cal-ancho-dia: 34px;
    --cal-alto-carril: 24px;
}

/* ── Pestañas y navegación ─────────────────────────────────────────────── */

/* Las pestañas son las comunes (`gf-view-tabs`, en app.css). */

.cal-select-mes[b-cpodwx0jle] {
    width: auto;
    min-width: 120px;
    border-radius: 0;
    text-transform: capitalize;
}

.cal-input-anio[b-cpodwx0jle] {
    width: 84px;
    border-radius: 0;
    text-align: center;
}

/* ── Rejilla mensual ───────────────────────────────────────────────────── */

.cal-mes[b-cpodwx0jle] {
    border: 1px solid var(--cal-borde);
    border-radius: var(--radius-md, .5rem);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--cr-sombra-1);
}

.cal-mes-cab[b-cpodwx0jle] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: #fff;
    border-bottom: 1px solid var(--cal-borde);
}

.cal-mes-cab-dia[b-cpodwx0jle] {
    padding: .55rem .5rem;
    text-align: left;
    font-size: .76rem;
    font-weight: 600;
    color: var(--color-text-muted, #8a9099);
}

.cal-mes-cab-dia.cal-finde-cab[b-cpodwx0jle] {
    background: var(--cal-finde-bg);
}

.cal-semana[b-cpodwx0jle] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    /* Las cinco filas que puede tener una semana —el número, tres carriles y el «+N más»—
       declaradas y no implícitas: el fondo de cada día va de la primera a la última
       (`grid-row: 1 / -1`), y con filas implícitas ese -1 era la primera, así que una semana
       sin ausencias se quedaba en una línea de alto. */
    grid-template-rows: repeat(5, var(--cal-alto-carril));
    grid-auto-rows: var(--cal-alto-carril);
    border-bottom: 1px solid var(--cal-borde);
    position: relative;
}

.cal-semana:last-child[b-cpodwx0jle] {
    border-bottom: 0;
}

/* El fondo de cada día abarca todos los carriles de su semana: es el lienzo
   sobre el que se pintan las barras, no una casilla más de la rejilla. */
.cal-dia-fondo[b-cpodwx0jle] {
    grid-row: 1 / -1;
    border-right: 1px solid var(--cal-borde);
}

.cal-dia-fondo.cal-dia-ultimo[b-cpodwx0jle] {
    border-right: 0;
}

.cal-finde[b-cpodwx0jle] {
    background: var(--cal-finde-bg);
}

.cal-festivo[b-cpodwx0jle] {
    background: var(--cal-festivo-bg);
}

.cal-hoy[b-cpodwx0jle] {
    background: var(--cal-hoy-bg);
}

.cal-fuera[b-cpodwx0jle] {
    background: var(--cal-fuera-bg);
}

.cal-dia-num[b-cpodwx0jle] {
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .5rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--color-text, #212529);
    pointer-events: none;
    z-index: 1;
}

.cal-num-festivo[b-cpodwx0jle] {
    color: #c42b1c;
}

.cal-num-hoy[b-cpodwx0jle] {
    background: var(--brand-primary, #FF6600);
    color: #fff;
    border-radius: 999px;
    padding: 0 .45rem;
    min-width: 1.6rem;
    text-align: center;
}

.cal-festivo-txt[b-cpodwx0jle] {
    font-size: .65rem;
    font-weight: 500;
    color: #d9534f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}

.cal-add[b-cpodwx0jle] {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: var(--color-text-muted, #adb5bd);
    font-size: .7rem;
    line-height: 1;
    padding: .15rem .3rem;
    border-radius: .25rem;
    opacity: 0;
    pointer-events: auto;
    transition: opacity .12s ease;
}

.cal-semana:hover .cal-add[b-cpodwx0jle] {
    opacity: 1;
}

.cal-add:hover[b-cpodwx0jle] {
    background: rgba(0, 0, 0, .06);
    color: var(--brand-primary, #FF6600);
}

/* ── Barras de ausencia ────────────────────────────────────────────────── */

.cal-barra[b-cpodwx0jle],
.cal-tl-barra[b-cpodwx0jle] {
    display: flex;
    align-items: center;
    gap: .2rem;
    border: 0;
    border-left: 3px solid transparent;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    padding: 0 .4rem;
    margin: 1px 0;
    height: calc(var(--cal-alto-carril) - 4px);
    overflow: hidden;
    text-align: left;
    z-index: 2;
}

.cal-barra[b-cpodwx0jle] {
    align-self: center;
}

/* Una ausencia que viene de la semana anterior (o sigue en la siguiente) se corta
   a media casilla en vez de fingir que empieza o acaba ahí. */
.cal-barra-abre[b-cpodwx0jle],
.cal-tl-barra.cal-barra-abre[b-cpodwx0jle] {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
}

.cal-barra-cierra[b-cpodwx0jle],
.cal-tl-barra.cal-barra-cierra[b-cpodwx0jle] {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
    margin-right: 2px;
}

.cal-barra:not(.cal-barra-abre)[b-cpodwx0jle],
.cal-tl-barra:not(.cal-barra-abre)[b-cpodwx0jle] {
    border-left: 0;
}

.cal-barra-pendiente[b-cpodwx0jle] {
    border-style: dashed;
    border-width: 1px;
    border-left-width: 3px;
    border-left-style: solid;
}

.cal-barra-txt[b-cpodwx0jle] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* El realce sólo donde de verdad se puede pulsar: un elemento que reacciona al ratón promete
   que lleva a alguna parte, y la barra deshabilitada —instalación en sólo lectura, donde el
   detalle de la ausencia está cerrado— no lleva. */
.cal-barra:not(:disabled):hover[b-cpodwx0jle],
.cal-tl-barra:not(:disabled):hover[b-cpodwx0jle] {
    filter: brightness(.94);
}

.cal-mas[b-cpodwx0jle] {
    align-self: center;
    border: 0;
    background: transparent;
    color: var(--color-text-muted, #6c757d);
    font-size: .72rem;
    font-weight: 600;
    padding: .1rem .5rem;
    z-index: 2;
    text-align: left;
}

.cal-mas:hover[b-cpodwx0jle] {
    color: var(--brand-primary, #FF6600);
}

/* ── Línea de tiempo por persona ───────────────────────────────────────── */

.cal-tl[b-cpodwx0jle] {
    border: 1px solid var(--cal-borde);
    border-radius: .5rem;
    background: #fff;
    overflow: auto;
    max-height: 70vh;
}

.cal-tl-fila[b-cpodwx0jle] {
    display: flex;
    width: max-content;
    min-width: 100%;
    border-bottom: 1px solid var(--cal-borde);
}

.cal-tl-fila:last-child[b-cpodwx0jle] {
    border-bottom: 0;
}

.cal-tl-cab[b-cpodwx0jle] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff;
}

.cal-tl-nombre[b-cpodwx0jle] {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 240px;
    min-width: 240px;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .75rem;
    background: #fff;
    border-right: 1px solid var(--cal-borde);
}

.cal-tl-cab .cal-tl-nombre[b-cpodwx0jle] {
    z-index: 6;
}

.cal-tl-nombre-cab[b-cpodwx0jle] {
    text-transform: capitalize;
}

.cal-tl-persona[b-cpodwx0jle] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    border-radius: .25rem;
    padding: .1rem .2rem;
    margin: -.1rem -.2rem;
}

/* Por lo mismo que las barras, y aquí con `[href]`: sin permiso sobre el expediente el nombre
   se sigue viendo —es lo que dice de quién es la fila— pero deja de ofrecerse como enlace. */
.cal-tl-persona[href]:hover[b-cpodwx0jle] {
    color: var(--brand-primary, #FF6600);
    background: rgba(0, 0, 0, .04);
}

.cal-tl-persona[href]:hover .cal-tl-nombre-txt[b-cpodwx0jle] {
    text-decoration: underline;
}

.cal-tl-nombre-txt[b-cpodwx0jle] {
    font-size: .85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-avatar[b-cpodwx0jle] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: .7rem;
    flex-shrink: 0;
}

.cal-tl-dias[b-cpodwx0jle] {
    display: grid;
    grid-template-columns: repeat(var(--cal-dias, 31), var(--cal-ancho-dia));
    grid-auto-rows: minmax(var(--cal-alto-carril), auto);
    min-height: calc(var(--cal-alto-carril) + 8px);
}

.cal-tl-diacab[b-cpodwx0jle] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 600;
    color: var(--color-text-muted, #6c757d);
    padding: .35rem 0;
    border-right: 1px solid var(--cal-borde);
}

.cal-tl-diacab.cal-finde-cab[b-cpodwx0jle] {
    background: var(--cal-finde-bg);
}

.cal-tl-diacab.cal-hoy-cab[b-cpodwx0jle] {
    background: var(--brand-primary, #FF6600);
    color: #fff;
    border-radius: 999px;
}

/* Fondo de una casilla de la línea de tiempo: cubre todos los carriles de la fila
   para que el sombreado de finde o festivo no se corte a media barra. */
.cal-tl-fondo[b-cpodwx0jle] {
    grid-row: 1 / -1;
    border-right: 1px solid #f1f2f4;
}

.cal-tl-barra[b-cpodwx0jle] {
    height: calc(var(--cal-alto-carril) - 6px);
    align-self: center;
    justify-content: center;
    font-size: .68rem;
}

/* ── Leyenda ───────────────────────────────────────────────────────────── */

.cal-leyenda[b-cpodwx0jle] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    margin-top: .75rem;
    font-size: .75rem;
    color: var(--color-text-muted, #6c757d);
}

.cal-leyenda-item[b-cpodwx0jle] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.cal-leyenda-color[b-cpodwx0jle] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    display: inline-block;
}

.cal-leyenda-pendiente[b-cpodwx0jle] {
    background: transparent;
    border: 1px dashed #adb5bd;
}

@media (max-width: 768px) {
    .cal-tl-nombre[b-cpodwx0jle] {
        width: 150px;
        min-width: 150px;
    }

    .cal-dia-fondo[b-cpodwx0jle] {
        min-height: 72px;
    }
}
/* /Components/Pages/ControlHorario.razor.rz.scp.css */
/* ── Avatar de iniciales ── */

.gf-avatar[b-m3hitgyhwm] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: var(--font-weight-bold, 700);
    font-size: .8rem;
    flex-shrink: 0;
}

/* ── Tabla de equipo ── */

.gf-team-table thead th[b-m3hitgyhwm] {
    font-size: .76rem;
    letter-spacing: .02em;
    color: var(--color-text-muted, #6c757d);
    font-weight: var(--font-weight-semibold, 600);
    border-bottom-width: 1px;
    white-space: nowrap;
}

.gf-team-table tbody tr[b-m3hitgyhwm] {
    cursor: pointer;
}

.gf-team-table tbody tr.gf-row-activa[b-m3hitgyhwm] {
    background-color: rgba(var(--brand-primary-rgb), 0.07);
}

.gf-detalle-btn[b-m3hitgyhwm] {
    opacity: 0;
    transition: opacity var(--duration-fast, 150ms) var(--ease-out, ease-out);
}

.gf-team-table tbody tr:hover .gf-detalle-btn[b-m3hitgyhwm] {
    opacity: 1;
}

/* ── Distribución (mini timeline) ── */

.gf-bar-track[b-m3hitgyhwm] {
    position: relative;
    width: 110px;
    height: 8px;
    border-radius: 4px;
    background: #e7eaf1;
    overflow: hidden;
}

.gf-bar-seg[b-m3hitgyhwm] {
    position: absolute;
    top: 0;
    height: 100%;
}

.gf-bar-trabajo[b-m3hitgyhwm] {
    background-color: var(--brand-primary, #FF6600);
}

/* La pausa en ámbar, como en «Fichar»: parar no es un error. */
.gf-bar-pausa[b-m3hitgyhwm] {
    background-color: #f0a500;
}

/* ── Badges / pills ── */

.gf-badge-alerta[b-m3hitgyhwm] {
    background-color: #dc3545;
    color: #fff;
    font-weight: var(--font-weight-bold, 700);
}

.gf-pill[b-m3hitgyhwm] {
    display: inline-block;
    padding: .25em .65em;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: var(--font-weight-semibold, 600);
}

.gf-pill-ok[b-m3hitgyhwm] {
    background-color: rgba(25, 135, 84, 0.12);
    color: #198754;
}

.gf-pill-warning[b-m3hitgyhwm] {
    background-color: rgba(var(--brand-primary-rgb), 0.14);
    color: var(--brand-primary-dark, #E55A00);
}

.gf-pill-neutral[b-m3hitgyhwm] {
    background-color: #eef0f5;
    color: var(--color-text-muted, #6c757d);
}

.gf-pill-info[b-m3hitgyhwm] {
    background-color: rgba(13, 110, 253, 0.12);
    color: #0d6efd;
}

/* ── Panel lateral de detalle ── */

.gf-panel-backdrop[b-m3hitgyhwm] {
    position: fixed;
    inset: 0;
    background: rgba(23, 32, 79, .35);
    backdrop-filter: blur(2px);
    z-index: 1050;
}

.gf-panel[b-m3hitgyhwm] {
    position: fixed;
    top: 0;
    right: 0;
    height: 100dvh;
    width: min(440px, 100vw);
    background: var(--color-surface, #fff);
    box-shadow: -12px 0 48px -12px rgba(15, 20, 40, .35);
    z-index: 1051;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    animation: gf-slide-in-b-m3hitgyhwm .2s var(--ease-out, ease-out);
}

@keyframes gf-slide-in-b-m3hitgyhwm {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}

.gf-panel-header[b-m3hitgyhwm] {
    position: sticky;
    top: 0;
    background: var(--color-surface, #fff);
    border-bottom: 1px solid var(--cr-linea, #eee);
    padding: 1.1rem 1.25rem;
    z-index: 1;
}

.gf-panel-body[b-m3hitgyhwm] {
    padding: 1rem;
    flex: 1 1 auto;
}

.gf-panel-section[b-m3hitgyhwm] {
    border: 1px solid var(--cr-linea, #eee);
    border-radius: var(--radius-md, .5rem);
    padding: .75rem .9rem;
    margin-bottom: .9rem;
}

.gf-panel-section .row-line[b-m3hitgyhwm] {
    display: flex;
    justify-content: space-between;
    padding: .25rem 0;
    font-size: .9rem;
}

.gf-panel-section .row-line + .row-line[b-m3hitgyhwm] {
    border-top: 1px dashed var(--cr-linea, #eee);
}
/* /Components/Pages/Cuadrante.razor.rz.scp.css */
.cd-selector-centro[b-91dvvb4mt6] {
    width: 260px;
}

.cd-tabla[b-91dvvb4mt6] {
    font-size: .85rem;
}

.cd-tabla th[b-91dvvb4mt6],
.cd-tabla td[b-91dvvb4mt6] {
    vertical-align: top;
}

/* La columna de la persona no se pierde al desplazar la semana a lo ancho. */
.cd-col-persona[b-91dvvb4mt6] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--color-surface);
    min-width: 190px;
}

.cd-tabla thead .cd-col-persona[b-91dvvb4mt6] {
    z-index: 3;
}

.cd-col-total[b-91dvvb4mt6] {
    min-width: 130px;
    background: var(--color-surface-alt);
}

.cd-dia-nombre[b-91dvvb4mt6] {
    font-weight: 600;
}

.cd-dia-fecha[b-91dvvb4mt6],
.cd-dia-apertura[b-91dvvb4mt6],
.cd-persona-sub[b-91dvvb4mt6] {
    font-weight: 400;
    font-size: .75rem;
    color: var(--color-text-muted);
}

.cd-dia-festivo[b-91dvvb4mt6] {
    background: #fdf1f0;
}

.cd-persona-nombre[b-91dvvb4mt6] {
    font-weight: 600;
}

.cd-celda[b-91dvvb4mt6] {
    min-width: 118px;
}

/* Un turno puesto. Es un botón porque se abre para editarlo, pero se lee como una etiqueta.

   En J2J_Front el chip venía con tres naranjas escritos a mano. Aquí sale del color del
   producto, para que el tema por cliente de la fase 6 lo alcance: un hex suelto en una
   pantalla es una pantalla que se queda con el color de otro el día que un cliente pida el
   suyo, y eso no se ve hasta que lo pide. */
.cd-chip[b-91dvvb4mt6] {
    display: block;
    width: 100%;
    margin-bottom: .2rem;
    padding: .25rem .4rem;
    border: 1px solid rgba(var(--brand-primary-rgb), .22);
    border-left: 3px solid var(--brand-primary);
    border-radius: .45rem;
    background: rgba(var(--brand-primary-rgb), .07);
    color: var(--brand-primary-dark);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    font-variant-numeric: tabular-nums;
    transition: background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}

.cd-chip:not(:disabled):hover[b-91dvvb4mt6] {
    background: rgba(var(--brand-primary-rgb), .14);
    box-shadow: var(--cr-sombra-1);
}

.cd-chip:disabled[b-91dvvb4mt6] {
    opacity: 1;
    cursor: default;
}

.cd-add[b-91dvvb4mt6] {
    width: 100%;
    padding: .1rem;
    border: 1px dashed var(--cr-linea-fuerte);
    border-radius: .45rem;
    background: transparent;
    color: var(--color-text-muted);
    font-size: .7rem;
    opacity: .7;
    transition: opacity var(--duration-fast) var(--ease-out);
}

.cd-celda:hover .cd-add[b-91dvvb4mt6] {
    opacity: 1;
}

/* El borde con la clara y el signo con la marca: la clara es color de acento —bordes, iconos,
   marcadores— y no llega al contraste que hace falta para escribir. Ver `Presentacion/Tema.cs`. */
.cd-add:hover[b-91dvvb4mt6] {
    border-color: var(--brand-primary-light);
    color: var(--brand-primary);
}

/* Una ausencia aprobada. Va encima de los turnos y no es un botón: se gestiona en Ausencias,
   no aquí. Explica por qué «Rellenar desde su horario teórico» dejó el día vacío. */
.cd-ausencia[b-91dvvb4mt6] {
    margin-bottom: .2rem;
    padding: .2rem .4rem;
    border: 1px solid var(--bs-warning-border-subtle);
    border-radius: .45rem;
    background: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
    font-size: .74rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

/* La parcial no vacía el día: se nota menos, con el borde a trazos. */
.cd-ausencia-parcial[b-91dvvb4mt6] {
    border-style: dashed;
    background: transparent;
}

.cd-ausencia-horas[b-91dvvb4mt6] {
    display: block;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
}

/* ── Vista mensual ──────────────────────────────────────────────────────── */

/* Treinta y una columnas: cada una lo justo para «9:30» sobre «14». La tabla se desplaza a lo
   ancho con la persona fija, como la semana. */
.cd-tabla-mes[b-91dvvb4mt6] {
    font-size: .74rem;
}

.cd-tabla-mes .cd-col-persona[b-91dvvb4mt6] {
    min-width: 170px;
}

.cd-mes-semana[b-91dvvb4mt6] {
    padding: .15rem;
    text-align: center;
    font-weight: 400;
}

.cd-mes-semana-boton[b-91dvvb4mt6] {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
}

.cd-mes-dia[b-91dvvb4mt6] {
    min-width: 40px;
    text-align: center;
}

.cd-mes-celda[b-91dvvb4mt6] {
    min-width: 40px;
    padding: .15rem;
    text-align: center;
    cursor: pointer;
}

.cd-mes-celda:hover[b-91dvvb4mt6] {
    background: rgba(var(--brand-primary-rgb), .06);
}

.cd-mes-finde[b-91dvvb4mt6] {
    background: var(--color-surface-alt);
}

.cd-mes-turno[b-91dvvb4mt6] {
    display: flex;
    flex-direction: column;
    margin-bottom: .15rem;
    padding: .1rem 0;
    border-left: 3px solid var(--brand-primary);
    border-radius: .3rem;
    background: rgba(var(--brand-primary-rgb), .07);
    color: var(--brand-primary-dark);
    font-weight: 600;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.cd-tabla-mes .cd-ausencia[b-91dvvb4mt6] {
    padding: .1rem 0;
    font-size: .68rem;
}

.cd-mes-total[b-91dvvb4mt6] {
    font-size: .7rem;
    font-weight: 600;
    cursor: default;
    white-space: nowrap;
}
/* /Components/Pages/Cumpleanos.razor.rz.scp.css */
/* El interruptor de «todo el año», en su propia franja: cambia lo que significa todo lo de debajo. */
.cr-cumple-modo[b-120r3xn374] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem 1rem;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--cr-linea);
    border-radius: 12px;
    background: var(--cr-tinta-1);
}

/* Los doce meses, como pastillas. Se desplazan en horizontal en el móvil en vez de partirse. */
.cr-cumple-meses[b-120r3xn374] {
    display: flex;
    gap: .4rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scrollbar-width: thin;
}

.cr-cumple-mes[b-120r3xn374] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    padding: .35rem .75rem;
    border: 1px solid var(--cr-linea);
    border-radius: 999px;
    background: var(--bs-body-bg);
    color: var(--color-text);
    font-size: .85rem;
}

.cr-cumple-mes:hover[b-120r3xn374] {
    border-color: var(--cr-linea-fuerte);
    background: var(--cr-tinta-1);
}

.cr-cumple-mes.activo[b-120r3xn374] {
    border-color: var(--brand-primary);
    background: var(--cr-tinta-2);
    font-weight: 600;
}

.cr-cumple-mes.apagado[b-120r3xn374] {
    color: var(--color-text-muted);
    text-decoration: line-through;
}

.cr-cumple-punto[b-120r3xn374] {
    width: .65rem;
    height: .65rem;
    border-radius: 50%;
}

.cr-cumple-sin-guardar[b-120r3xn374] {
    color: var(--bs-warning);
    font-size: 1.2rem;
    line-height: 0;
}

/* Editor a la izquierda y vista previa a la derecha, que acompaña al bajar. En pantallas
   estrechas, una debajo de otra. */
.cr-cumple-rejilla[b-120r3xn374] {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

@media (min-width: 1200px) {
    .cr-cumple-rejilla[b-120r3xn374] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .cr-cumple-previa[b-120r3xn374] {
        position: sticky;
        top: calc(var(--cr-cabecera-alto) + 1rem);
        max-height: calc(100vh - var(--cr-cabecera-alto) - 2rem);
        overflow-y: auto;
    }
}

.cr-cumple-editor[b-120r3xn374],
.cr-cumple-previa[b-120r3xn374] {
    padding: 1.25rem;
    border: 1px solid var(--cr-linea);
    border-radius: 14px;
    background: var(--bs-body-bg);
    box-shadow: var(--cr-sombra-1);
}

.cr-cumple-bloque[b-120r3xn374] {
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--cr-linea);
}

.cr-cumple-bloque legend[b-120r3xn374] {
    margin-bottom: .6rem;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* La paleta: muestras redondas, la elegida con anillo. */
.cr-cumple-colores[b-120r3xn374] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.cr-cumple-color[b-120r3xn374] {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 2px solid var(--bs-body-bg);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--cr-linea-fuerte);
}

.cr-cumple-color.elegido[b-120r3xn374] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px var(--color-text);
}

.cr-cumple-color-otro[b-120r3xn374] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0 0 0 .25rem;
    font-size: .85rem;
    color: var(--color-text-muted);
    cursor: pointer;
}

.cr-cumple-color-otro input[b-120r3xn374] {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid var(--cr-linea-fuerte);
    border-radius: 8px;
    background: none;
    cursor: pointer;
}

/* La barra de cada cuadro: negrita, cursiva y los datos que se pueden meter. */
.cr-cumple-barra[b-120r3xn374] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    margin-bottom: .35rem;
}

.cr-cumple-barra .btn[b-120r3xn374] {
    padding: .15rem .5rem;
    border: 1px solid var(--cr-linea);
    font-size: .78rem;
}

.cr-cumple-separador[b-120r3xn374] {
    width: 1px;
    height: 1.2rem;
    margin: 0 .25rem;
    background: var(--cr-linea-fuerte);
}

.cr-cumple-acciones[b-120r3xn374] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

/* ── Vista previa ── */

.cr-cumple-previa-cabeza[b-120r3xn374] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .75rem;
}

.cr-cumple-asunto[b-120r3xn374] {
    margin-bottom: .5rem;
    font-size: .85rem;
    overflow-wrap: anywhere;
}

/* El correo lleva su propio fondo gris; aquí sólo se le da un marco y se evita que una imagen
   grande o una palabra larga ensanchen la página. */
.cr-cumple-correo[b-120r3xn374] {
    overflow: hidden;
    border-radius: 10px;
    overflow-wrap: anywhere;
}

.cr-cumple-correo[b-120r3xn374]  img {
    max-width: 100%;
}

.cr-cumple-aviso[b-120r3xn374] {
    max-width: 380px;
    margin: 0;
    padding: .25rem;
    border: 1px solid var(--cr-linea);
    border-radius: 12px;
    background: var(--bs-body-bg);
}

.cr-cumple-app[b-120r3xn374] {
    display: inline-flex;
    align-items: center;
    padding: .6rem 1rem;
    border-radius: 12px;
    background: var(--cr-cumple-color);
    color: #fff;
    font-weight: 600;
}

.cr-cumple-quien[b-120r3xn374] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--cr-linea);
}

.cr-cumple-dia[b-120r3xn374] {
    display: inline-block;
    min-width: 1.6rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* El interruptor de Bootstrap con la pastilla entera. BootstrapBlazor fija el ancho de todo
   .form-check-input —«.form-check .form-check-input»— y deja el switch en un círculo que parece
   un botón de radio; aquí se le devuelve el ancho. */
.form-switch .form-check-input[b-120r3xn374] {
    width: 2em;
    border-radius: 2em;
    margin-right: .5rem;
}

.cr-cumple-miniatura[b-120r3xn374] {
    display: block;
    max-width: 160px;
    max-height: 100px;
    margin-top: .5rem;
    border: 1px solid var(--cr-linea);
    border-radius: 8px;
    object-fit: cover;
}
/* /Components/Pages/FichaEmpleado.razor.rz.scp.css */
/* La ficha del empleado: avatar en la cabecera, franja de resumen, avisos y pestañas. */

/* ── Cabecera ──────────────────────────────────────────────────────────────── */

/* En el sitio del icono de la pantalla, del mismo tamaño, para que el título no se mueva
   entre la carga y la ficha. */
.fe-avatar[b-kp7innlptf] {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .02em;
    flex-shrink: 0;
    box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .35);
}

.fe-avatar-baja[b-kp7innlptf] {
    filter: grayscale(1);
    opacity: .7;
}

.fe-sin-guardar[b-kp7innlptf] {
    display: inline-flex;
    align-items: center;
    padding: .25rem .65rem;
    border-radius: 2rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning-bg-subtle);
    border: 1px solid var(--bs-warning-border-subtle);
    white-space: nowrap;
}

.fe-sin-guardar .fa-circle[b-kp7innlptf] {
    font-size: .45rem;
}

/* ── Resumen ───────────────────────────────────────────────────────────────── */

.fe-resumen[b-kp7innlptf] {
    overflow: hidden;
}

/* Las cifras se reparten solas: seis en un escritorio, tres en una tableta, dos en el móvil. */
.fe-datos[b-kp7innlptf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}

.fe-dato[b-kp7innlptf] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
    padding: .9rem 1.15rem;
    border-right: 1px solid var(--cr-linea);
    border-bottom: 1px solid var(--cr-linea);
    /* El borde de la derecha de la última columna y el de abajo de la última fila los tapa
       el overflow del contenedor con este margen negativo. */
    margin: 0 -1px -1px 0;
}

.fe-dato-etiqueta[b-kp7innlptf] {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--color-text-muted);
}

.fe-dato-valor[b-kp7innlptf] {
    font-weight: 600;
    color: var(--brand-primary-dark);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-dato-pie[b-kp7innlptf] {
    font-size: .8rem;
    color: var(--color-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-dato-atencion[b-kp7innlptf] {
    background: var(--bs-warning-bg-subtle);
}

.fe-dato-atencion .fe-dato-valor[b-kp7innlptf],
.fe-dato-atencion .fe-dato-pie[b-kp7innlptf] {
    color: var(--bs-warning-text-emphasis);
}

.fe-dato-peligro[b-kp7innlptf] {
    background: var(--bs-danger-bg-subtle);
}

.fe-dato-peligro .fe-dato-valor[b-kp7innlptf],
.fe-dato-peligro .fe-dato-pie[b-kp7innlptf] {
    color: var(--bs-danger-text-emphasis);
}

.fe-contacto[b-kp7innlptf] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.5rem;
    padding: .65rem 1.15rem;
    background: var(--color-surface-alt);
    font-size: .875rem;
}

.fe-contacto a[b-kp7innlptf] {
    color: var(--color-text);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.fe-contacto a:hover[b-kp7innlptf] {
    color: var(--brand-primary);
}

.fe-contacto a .fas[b-kp7innlptf] {
    color: var(--color-text-muted);
}

/* ── Avisos ────────────────────────────────────────────────────────────────── */

.fe-avisos[b-kp7innlptf] {
    display: grid;
    gap: .3rem;
}

.fe-aviso[b-kp7innlptf] {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    padding: .4rem .85rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--cr-linea);
    background: var(--color-surface);
    font-size: .875rem;
}

.fe-aviso > .fas[b-kp7innlptf] {
    flex-shrink: 0;
}

.fe-aviso-peligro[b-kp7innlptf] {
    border-color: var(--bs-danger-border-subtle);
    background: var(--bs-danger-bg-subtle);
    color: var(--bs-danger-text-emphasis);
}

.fe-aviso-atencion[b-kp7innlptf] {
    border-color: var(--bs-warning-border-subtle);
    background: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.fe-aviso-info > .fas[b-kp7innlptf] {
    color: var(--brand-primary);
}

/* ── Pestañas ──────────────────────────────────────────────────────────────── */

/* Seis pestañas no caben en un móvil: el carril se desliza de lado en vez de partirse en
   dos filas, que es lo que haría el control segmentado. */
.fe-pestanas[b-kp7innlptf] {
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 2px;
}

.fe-pestanas .gf-view-tabs[b-kp7innlptf] {
    flex-wrap: nowrap;
}

.fe-pestanas .nav-link[b-kp7innlptf] {
    position: relative;
    white-space: nowrap;
}

/* La marca de una pestaña con algo que mirar dentro. */
.fe-marca[b-kp7innlptf] {
    display: inline-block;
    width: .5rem;
    height: .5rem;
    margin-left: .4rem;
    border-radius: 50%;
    vertical-align: middle;
}

.fe-marca-atencion[b-kp7innlptf] {
    background: var(--bs-warning);
}

.fe-marca-peligro[b-kp7innlptf] {
    background: var(--bs-danger);
}

/* ── Formulario ────────────────────────────────────────────────────────────── */

/* «Controla su jornada» decide si la persona entra en el registro: merece más que una casilla
   perdida entre los campos. */
.fe-interruptor[b-kp7innlptf] {
    padding: .75rem 1rem;
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
    border: 1px solid var(--cr-linea);
}

.fe-fechas[b-kp7innlptf] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.5rem;
}

.fe-fechas strong[b-kp7innlptf] {
    display: block;
    color: var(--brand-primary-dark);
}

.fe-pie[b-kp7innlptf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 1.25rem 0 1rem;
}
/* /Components/Pages/Fichar.razor.rz.scp.css */
/* Fichar: el estado a la izquierda, el día a la derecha. En móvil, uno debajo del otro y el
   estado primero, que es a lo que se viene. */
.cr-fichar[b-jlw2h1ma56] {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 991.98px) {
    .cr-fichar[b-jlw2h1ma56] {
        grid-template-columns: 1fr;
    }
}

/* El color del estado vive en una variable, y todo lo demás —el punto, la pastilla, el filo de
   la tarjeta— lo lee de ahí. Son colores de significado, no de marca: no los toca el tema. */
.cr-fichar-estado[b-jlw2h1ma56] {
    --estado: #6b7285;
    --estado-fondo: #eef0f5;
    border-top: 4px solid var(--estado);
    overflow: hidden;
}

.cr-estado-trabajando[b-jlw2h1ma56] {
    --estado: #1f8a3b;
    --estado-fondo: #e3f4e6;
}

.cr-estado-pausa[b-jlw2h1ma56] {
    --estado: #b76e00;
    --estado-fondo: #fdf1d6;
}

.cr-fichar-estado .card-body[b-jlw2h1ma56] {
    padding: 1.75rem;
}

.cr-fichar-cabeza[b-jlw2h1ma56] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.cr-fichar-pastilla[b-jlw2h1ma56] {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .95rem;
    border-radius: 999px;
    background: var(--estado-fondo);
    color: var(--estado);
    font-weight: 700;
    font-size: 1.05rem;
}

.cr-fichar-punto[b-jlw2h1ma56] {
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: var(--estado);
}

/* Trabajando, el punto late: es la única cosa que se mueve sola en la pantalla, y dice que el
   contador está corriendo. */
.cr-estado-trabajando .cr-fichar-punto[b-jlw2h1ma56] {
    box-shadow: 0 0 0 0 rgba(31, 138, 59, .5);
    animation: cr-latido-b-jlw2h1ma56 2s ease-out infinite;
}

@keyframes cr-latido-b-jlw2h1ma56 {
    70% { box-shadow: 0 0 0 .55rem rgba(31, 138, 59, 0); }
    100% { box-shadow: 0 0 0 0 rgba(31, 138, 59, 0); }
}

.cr-fichar-hora[b-jlw2h1ma56] {
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--brand-primary-dark);
    font-variant-numeric: tabular-nums;
}

.cr-fichar-detalle[b-jlw2h1ma56] {
    color: var(--color-text-muted);
    margin: 1rem 0 1.5rem;
}

.cr-fichar-ubicacion[b-jlw2h1ma56] {
    display: flex;
    align-items: center;
    margin: 1rem 0 0;
    color: var(--color-text-muted);
    font-size: .82rem;
}

.cr-fichar-detalle strong[b-jlw2h1ma56] {
    color: var(--color-text);
}

.cr-fichar-botones[b-jlw2h1ma56] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
}

.cr-fichar-boton[b-jlw2h1ma56] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 108px;
    border-radius: var(--radius-lg);
    font-size: 1.1rem;
    font-weight: 600;
    border-width: 0;
    box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .35);
}

.cr-fichar-boton i[b-jlw2h1ma56] {
    font-size: 1.5rem;
}

.cr-fichar-boton:hover:not(:disabled)[b-jlw2h1ma56] {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -10px rgba(0, 0, 0, .4);
}

.cr-fichar-boton.btn-warning[b-jlw2h1ma56] {
    --bs-btn-bg: #f0a500;
    --bs-btn-hover-bg: #d99500;
    --bs-btn-color: #3a2600;
    --bs-btn-hover-color: #3a2600;
}

/* El día, como una línea de tiempo: cada marca con su hora y un punto del color de lo que es. */
.cr-linea-tiempo[b-jlw2h1ma56] {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.cr-linea-tiempo[b-jlw2h1ma56]::before {
    content: "";
    position: absolute;
    left: 3.6rem;
    top: .6rem;
    bottom: .6rem;
    width: 2px;
    background: var(--cr-linea);
}

.cr-linea-tiempo li[b-jlw2h1ma56] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: .55rem 0;
}

.cr-linea-tiempo li[b-jlw2h1ma56]::before {
    content: "";
    position: absolute;
    left: calc(3.6rem - 5px);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-surface);
    border: 3px solid var(--brand-primary);
}

.cr-linea-hora[b-jlw2h1ma56] {
    width: 2.9rem;
    text-align: right;
    font-weight: 600;
    color: var(--brand-primary-dark);
    font-variant-numeric: tabular-nums;
}

.cr-linea-texto[b-jlw2h1ma56] {
    padding-left: .4rem;
}

.cr-marca-entrada[b-jlw2h1ma56]::before, .cr-marca-finpausa[b-jlw2h1ma56]::before {
    border-color: #1f8a3b !important;
}

.cr-marca-iniciopausa[b-jlw2h1ma56]::before {
    border-color: #d99500 !important;
}

.cr-marca-salida[b-jlw2h1ma56]::before {
    border-color: #d92d20 !important;
}
/* /Components/Pages/GestionDocumentos.razor.rz.scp.css */
/* ── Menús (Subir y el «⋯» de cada fila) ── */
.cr-menu-contenedor[b-yl4yi22xv6] {
    position: relative;
    display: inline-block;
}

.cr-menu[b-yl4yi22xv6] {
    position: absolute;
    top: calc(100% + .35rem);
    z-index: 1050;
    min-width: 16rem;
    max-width: min(22rem, calc(100vw - 2rem));
    padding: .35rem;
    text-align: start;
    background: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md);
    box-shadow: var(--cr-sombra-2);
}

.cr-menu-derecha[b-yl4yi22xv6] {
    right: 0;
}

.cr-menu-arriba[b-yl4yi22xv6] {
    top: auto;
    bottom: calc(100% + .35rem);
}

.cr-menu-opcion[b-yl4yi22xv6] {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    width: 100%;
    padding: .5rem .6rem;
    text-align: start;
    color: inherit;
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
}

.cr-menu-opcion > i[b-yl4yi22xv6] {
    width: 1.1rem;
    margin-top: .2rem;
    color: var(--brand-primary);
    text-align: center;
}

.cr-menu-opcion.text-danger > i[b-yl4yi22xv6] {
    color: inherit;
}

.cr-menu-opcion small[b-yl4yi22xv6] {
    display: block;
    color: var(--color-text-muted);
    font-size: .78rem;
}

.cr-menu-opcion:hover:not(:disabled)[b-yl4yi22xv6],
.cr-menu-opcion:focus-visible[b-yl4yi22xv6] {
    background: var(--cr-tinta-1);
    outline: none;
}

.cr-menu-separador[b-yl4yi22xv6] {
    height: 1px;
    margin: .3rem .2rem;
    background: var(--cr-linea);
}

.cr-menu-pregunta[b-yl4yi22xv6] {
    padding: .5rem .6rem;
    font-size: .85rem;
    white-space: normal;
}

/* Pulsar fuera de un menú lo cierra. */
.cr-telon[b-yl4yi22xv6] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.cr-cuenta-pestana[b-yl4yi22xv6] {
    background: var(--cr-tinta-2);
    color: var(--brand-primary);
}

.nav-link.active .cr-cuenta-pestana[b-yl4yi22xv6] {
    background: rgba(255, 255, 255, .25);
    color: inherit;
}

/* ── Migas de una carpeta, del reparto y de la importación ── */
.cr-documentos-migas[b-yl4yi22xv6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}

/* ── Filtros del listado ── */
.cr-documentos-filtros[b-yl4yi22xv6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .75rem;
}

.cr-documentos-busqueda[b-yl4yi22xv6] {
    flex: 1 1 18rem;
    max-width: 24rem;
}

.cr-documentos-persona[b-yl4yi22xv6] {
    min-width: 12rem;
}

/* ── La carpeta de una persona: su cabecera y, al lado de la tabla, sus tipos ── */
.cr-carpeta-persona-cabecera[b-yl4yi22xv6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    background: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md);
    box-shadow: var(--cr-sombra-1);
}

.cr-carpeta-volver[b-yl4yi22xv6] {
    width: 2.1rem;
    height: 2.1rem;
    padding: 0;
    flex-shrink: 0;
}

.cr-carpeta-avatar[b-yl4yi22xv6] {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
}

.cr-carpeta-avatar-empresa[b-yl4yi22xv6] {
    background: var(--cr-tinta-2);
    color: var(--brand-primary);
}

.cr-carpeta-avatar-baja[b-yl4yi22xv6] {
    filter: grayscale(1);
    opacity: .7;
}

.cr-carpeta-persona-nombre[b-yl4yi22xv6] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.cr-carpeta-cuerpo[b-yl4yi22xv6] {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.cr-carpeta-principal[b-yl4yi22xv6] {
    min-width: 0;
}

.cr-panel-tipos[b-yl4yi22xv6] {
    position: sticky;
    top: calc(var(--cr-cabecera-alto, 0px) + .5rem);
    max-height: calc(100vh - var(--cr-cabecera-alto, 0px) - 2rem);
    overflow-y: auto;
    padding: .4rem;
    background: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: var(--radius-md);
    box-shadow: var(--cr-sombra-1);
}

.cr-panel-grupo[b-yl4yi22xv6] {
    margin: .75rem .55rem .25rem;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.cr-panel-tipo[b-yl4yi22xv6] {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .4rem .55rem;
    text-align: start;
    color: inherit;
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
}

.cr-panel-tipo > i[b-yl4yi22xv6] {
    width: 1rem;
    color: var(--color-text-muted);
    text-align: center;
}

.cr-panel-tipo:hover[b-yl4yi22xv6] {
    background: var(--cr-tinta-1);
}

.cr-panel-tipo[aria-pressed="true"][b-yl4yi22xv6] {
    background: var(--cr-tinta-2);
    color: var(--brand-primary-dark);
    font-weight: 600;
}

.cr-panel-tipo[aria-pressed="true"] > i[b-yl4yi22xv6] {
    color: var(--brand-primary);
}

.cr-panel-nombre[b-yl4yi22xv6] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cr-panel-cuenta[b-yl4yi22xv6] {
    flex-shrink: 0;
    font-size: .75rem;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-muted);
}

.cr-panel-tipos-movil[b-yl4yi22xv6] {
    display: none;
}

/* Estrecho: los tipos pasan a un desplegable encima de la tabla. */
@media (max-width: 767.98px) {
    .cr-carpeta-cuerpo[b-yl4yi22xv6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .cr-panel-tipos[b-yl4yi22xv6] {
        position: static;
        max-height: none;
        padding: 0;
        background: none;
        border: 0;
        box-shadow: none;
    }

    .cr-panel-tipos [role="group"][b-yl4yi22xv6] {
        display: none;
    }

    .cr-panel-tipos-movil[b-yl4yi22xv6] {
        display: block;
    }
}

/* ── Pastillas (filtros con su cuenta) ── */
.cr-chips[b-yl4yi22xv6] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.cr-chip[b-yl4yi22xv6] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .7rem;
    font-size: .85rem;
    color: inherit;
    background: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-radius: 999px;
}

.cr-chip:hover[b-yl4yi22xv6] {
    border-color: var(--cr-tinta-3);
}

.cr-chip[aria-pressed="true"][b-yl4yi22xv6] {
    color: #fff;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
}

.cr-chip-cuenta[b-yl4yi22xv6] {
    padding: 0 .4rem;
    font-size: .72rem;
    font-weight: 600;
    border-radius: 999px;
    background: var(--cr-tinta-2);
    color: var(--brand-primary);
}

.cr-chip[aria-pressed="true"] .cr-chip-cuenta[b-yl4yi22xv6] {
    background: rgba(255, 255, 255, .25);
    color: inherit;
}

/* ── La barra de lo marcado: se queda a la vista al bajar por la tabla ── */
.cr-seleccion[b-yl4yi22xv6] {
    position: sticky;
    top: calc(var(--cr-cabecera-alto, 0px) + .5rem);
    z-index: 5;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    margin-bottom: .75rem;
    padding: .55rem .85rem;
    background: var(--cr-tinta-1);
    border: 1px solid var(--cr-tinta-3);
    border-radius: var(--radius-md);
    box-shadow: var(--cr-sombra-1);
}

/* ── La tabla ── */
.cr-documentos-tabla[b-yl4yi22xv6] {
    transition: opacity var(--duration-fast) var(--ease-out);
}

/* Donde la tabla cabe, sin desplazamiento propio: así el menú de una fila no se recorta. */
@media (min-width: 992px) {
    .cr-documentos-tabla[b-yl4yi22xv6] {
        overflow: visible;
    }
}

/* Recargando: la tabla de antes se queda, apagada, en vez de dejar un hueco que salta. */
.cr-recargando[b-yl4yi22xv6] {
    opacity: .5;
    pointer-events: none;
}

.cr-col-marca[b-yl4yi22xv6] {
    width: 2rem;
}

.cr-titulo-documento[b-yl4yi22xv6] {
    padding: 0;
    font-weight: 600;
    text-align: start;
    color: var(--brand-primary-dark);
    background: none;
    border: 0;
}

.cr-titulo-documento:hover:not(:disabled)[b-yl4yi22xv6] {
    color: var(--brand-primary);
    text-decoration: underline;
}

.cr-ordenar[b-yl4yi22xv6] {
    padding: 0;
    font: inherit;
    font-weight: inherit;
    color: inherit;
    background: none;
    border: 0;
    white-space: nowrap;
}

.cr-ordenar:hover[b-yl4yi22xv6] {
    color: var(--brand-primary);
}

.cr-quien-lo-ve[b-yl4yi22xv6] {
    display: inline-flex;
    align-items: center;
    padding: .15rem .55rem;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
    border: 1px solid transparent;
    border-radius: 999px;
}

.cr-quien-lo-ve:hover:not(:disabled)[b-yl4yi22xv6] {
    border-color: currentColor;
}

.cr-tipo-documento[b-yl4yi22xv6] {
    display: inline-block;
    margin: .1rem .25rem .1rem 0;
    padding: .1rem .5rem;
    font-size: .75rem;
    font-weight: 600;
    border-radius: 999px;
    white-space: nowrap;
}

/* Un tono por categoría, el mismo siempre (GestionDocumentos.TonoDe). */
.cr-tono-tipo-0[b-yl4yi22xv6] { background: var(--color-surface-alt); color: var(--color-text-muted); }
.cr-tono-tipo-1[b-yl4yi22xv6] { background: rgba(46, 61, 138, .1); color: #2e3d8a; }
.cr-tono-tipo-2[b-yl4yi22xv6] { background: rgba(29, 122, 52, .1); color: #1d7a34; }
.cr-tono-tipo-3[b-yl4yi22xv6] { background: rgba(150, 54, 111, .1); color: #96366f; }
.cr-tono-tipo-4[b-yl4yi22xv6] { background: rgba(0, 120, 140, .1); color: #00687a; }
.cr-tono-tipo-5[b-yl4yi22xv6] { background: rgba(240, 165, 0, .15); color: #7a4b00; }
.cr-tono-tipo-6[b-yl4yi22xv6] { background: rgba(196, 43, 28, .08); color: #a8251a; }

.cr-boton-mas[b-yl4yi22xv6] {
    width: 2rem;
}

.cr-documentos-pie[b-yl4yi22xv6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem 1rem;
}

/* ── Los avisos, abajo a la derecha ── */
.cr-tostadas[b-yl4yi22xv6] {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1080;
    display: grid;
    gap: .5rem;
    width: min(26rem, calc(100vw - 2rem));
}

.cr-tostada[b-yl4yi22xv6] {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .7rem .85rem;
    background: var(--color-surface);
    border: 1px solid var(--cr-linea);
    border-left: 4px solid #1d7a34;
    border-radius: var(--radius-md);
    box-shadow: var(--cr-sombra-2);
    animation: cr-tostada-entra-b-yl4yi22xv6 200ms var(--ease-out);
}

.cr-tostada > i[b-yl4yi22xv6] {
    margin-top: .2rem;
    color: #1d7a34;
}

.cr-tostada-error[b-yl4yi22xv6] {
    border-left-color: #c42b1c;
}

.cr-tostada-error > i[b-yl4yi22xv6] {
    color: #c42b1c;
}

@keyframes cr-tostada-entra-b-yl4yi22xv6 {
    from { opacity: 0; transform: translateY(6px); }
}

@media (prefers-reduced-motion: reduce) {
    .cr-tostada[b-yl4yi22xv6] { animation: none; }
}
/* /Components/Pages/MiEquipo.razor.rz.scp.css */
/* La situación de hoy de una persona: una pastilla con el tono de la tarjeta del panel. */
.cr-hoy[b-c8thqb3eon] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .6rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    white-space: nowrap;
}

.cr-hoy i[b-c8thqb3eon] {
    font-size: .75rem;
}

.cr-hoy-detalle[b-c8thqb3eon] {
    display: block;
    margin-top: .15rem;
    color: var(--color-text-muted);
    font-size: .78rem;
}

.cr-contacto + .cr-contacto[b-c8thqb3eon] {
    margin-top: .1rem;
}
/* /Components/Pages/SugerenciasCorreccion.razor.rz.scp.css */
/* ── Avatar de iniciales ── */

.gf-avatar[b-x1mq43h4rm] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: var(--font-weight-bold, 700);
    font-size: .7rem;
    flex-shrink: 0;
}

/* ── Tabla de sugerencias ── */

.gf-sug-table thead th[b-x1mq43h4rm] {
    font-size: .76rem;
    letter-spacing: .02em;
    color: var(--color-text-muted, #6c757d);
    font-weight: var(--font-weight-semibold, 600);
    border-bottom-width: 1px;
    white-space: nowrap;
}

/* La cabecera de cada empleado separa los bloques sin necesidad de una tabla por persona. */
.gf-sug-table tbody tr.gf-sug-empleado[b-x1mq43h4rm] {
    background-color: var(--color-surface-alt, #f8f9fa);
}

.gf-sug-table tbody tr.gf-sug-empleado td[b-x1mq43h4rm] {
    border-top: 2px solid var(--bs-border-color, #dee2e6);
}

/* Lo validado se ve de un vistazo: es lo que se va a escribir al pulsar aplicar. */
.gf-sug-table tbody tr.gf-sug-validada[b-x1mq43h4rm] {
    background-color: rgba(var(--brand-primary-rgb), 0.07);
}

.gf-sug-table td[b-x1mq43h4rm] {
    vertical-align: middle;
}

/* ── Barra de aplicar ── */

.gf-sug-aplicar[b-x1mq43h4rm] {
    position: sticky;
    bottom: 1rem;
    z-index: 5;
}
