/* /Components/IndicadorAlarma.razor.rz.scp.css */
/* Medidas en em: escala con el font-size del contenedor (ver Indicadores.razor.css). */
.alarma[b-3an0mu119t] {
    display: flex;
    align-items: center;
    gap: .7em;
    padding: .32em .6em;
    border-radius: .6em;
    background: #f7f8f9;
    border: 1px solid var(--tarjeta-borde);
    transition: background .3s, border-color .3s;
}

.led[b-3an0mu119t] {
    flex: none;
    width: 1.25em;
    height: 1.25em;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #b5b8bc, #7d8187 60%, #63676c);
    box-shadow: inset 0 -1px 2px rgba(0, 0, 0, .3);
    transition: background .3s, box-shadow .3s;
}

.texto[b-3an0mu119t] {
    font-size: .82em;
    font-weight: 600;
    line-height: 1.15;
    color: var(--texto-suave);
}

/* Estado (fallo general / mantenimiento): rojo */
.activa.tipo-estado[b-3an0mu119t] {
    background: #fdeceb;
    border-color: #f3b2ad;
}

    .activa.tipo-estado .led[b-3an0mu119t] {
        background: radial-gradient(circle at 35% 30%, #ff8a80, #ff1a0d 55%, #b3120a);
        animation: pulso-rojo-b-3an0mu119t 1.4s ease-in-out infinite;
    }

/* Falla de equipo: ámbar */
.activa.tipo-falla[b-3an0mu119t] {
    background: #fff6dd;
    border-color: #f2d27a;
}

    .activa.tipo-falla .led[b-3an0mu119t] {
        background: radial-gradient(circle at 35% 30%, #ffe08a, #ffb300 55%, #b97f00);
        animation: pulso-ambar-b-3an0mu119t 1.4s ease-in-out infinite;
    }

.activa .texto[b-3an0mu119t] {
    color: var(--texto);
}

@keyframes pulso-rojo-b-3an0mu119t {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 26, 13, .55); }
    50% { box-shadow: 0 0 0 .45em rgba(255, 26, 13, 0); }
}

@keyframes pulso-ambar-b-3an0mu119t {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 179, 0, .6); }
    50% { box-shadow: 0 0 0 .45em rgba(255, 179, 0, 0); }
}
/* /Components/IndicadorBarra.razor.rz.scp.css */
/* Medidas en em: el componente escala con el font-size del contenedor (ver Indicadores.razor.css). */
.indicador[b-4b7hk1q9jz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: .45em .2em .55em;
    background: #f7f8f9;
    border: 1px solid var(--tarjeta-borde);
    border-radius: .65em;
    transition: border-color .4s, box-shadow .4s;
}

.titulo[b-4b7hk1q9jz] {
    height: 1.6em;
    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.5em;
    white-space: nowrap;
}

    .titulo sub[b-4b7hk1q9jz] {
        font-size: .7em;
    }

    /* Nombres largos (Opacidad, Presión) en letra más chica para que quepan en la columna. */
    .titulo.largo[b-4b7hk1q9jz] {
        font-size: .78em;
        line-height: 2em;
        height: 2.15em;
    }

/* Crece para ocupar el alto que deje libre el panel de alarmas. */
.medidor[b-4b7hk1q9jz] {
    flex: 1;
    display: flex;
    justify-content: center;
    gap: .3em;
    width: 100%;
    min-height: 9em;
    padding: .45em 0;
}

.escala[b-4b7hk1q9jz] {
    position: relative;
    width: 1.9em;
}

.marca[b-4b7hk1q9jz] {
    position: absolute;
    right: 0;
    transform: translateY(50%);
    font-size: .62em;
    line-height: 1;
    color: var(--texto-suave);
    font-variant-numeric: tabular-nums;
}

.pista[b-4b7hk1q9jz] {
    position: relative;
    width: 1.4em;
    background: #dcdee1;
    border-radius: .4em;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
}

.rayita[b-4b7hk1q9jz] {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(0, 0, 0, .08);
}

.relleno[b-4b7hk1q9jz] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: .4em;
    background: linear-gradient(180deg, #54d77f, #1d9a43);
    transition: height .8s ease, background .4s;
}

.limite[b-4b7hk1q9jz] {
    position: absolute;
    left: -.4em;
    right: -.4em;
    height: 2px;
    border-radius: 1px;
    transform: translateY(50%);
}

    .limite.alto[b-4b7hk1q9jz] {
        background: var(--rojo-alarma);
    }

    .limite.bajo[b-4b7hk1q9jz] {
        background: #0f7a32;
    }

.valor[b-4b7hk1q9jz] {
    width: 100%;
    margin-top: .3em;
    padding: .05em .3em;
    background: #fff;
    border: 1px solid #d3d5d8;
    border-radius: .4em;
    font-size: 1.05em;
    font-weight: 700;
    text-align: center;
    font-variant-numeric: tabular-nums;
    transition: color .4s;
}

.unidad[b-4b7hk1q9jz] {
    margin-top: .1em;
    font-size: .75em;
    font-weight: 600;
    color: var(--texto-suave);
}

/* --- Estados según límites --- */
.alerta .relleno[b-4b7hk1q9jz] {
    background: linear-gradient(180deg, #ffd04d, #e09a00);
}

.alarma[b-4b7hk1q9jz] {
    border-color: var(--rojo-alarma);
    box-shadow: 0 0 0 2px rgba(229, 40, 30, .18);
}

    .alarma .relleno[b-4b7hk1q9jz] {
        background: linear-gradient(180deg, #ff6a5f, #c81d14);
    }

    .alarma .valor[b-4b7hk1q9jz] {
        color: var(--rojo-alarma);
    }
/* /Layout/EstadoComunicacion.razor.rz.scp.css */
.reloj[b-hzxbu8p1y7] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.1;
}

.hora[b-hzxbu8p1y7] {
    font-size: 1.1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.fecha[b-hzxbu8p1y7] {
    font-size: .72rem;
    color: var(--texto-suave);
    text-transform: capitalize;
}
/* /Layout/LoginLayout.razor.rz.scp.css */
.fondo-login[b-of7lzctj3h] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1rem;
    background:
        radial-gradient(1200px 600px at 15% 10%, #e6e7e9 0%, transparent 60%),
        radial-gradient(900px 500px at 90% 100%, #c3c6ca 0%, transparent 60%),
        var(--fondo);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.app[b-9pp4duoe8o] {
    display: flex;
    min-height: 100vh;
}

.lateral[b-9pp4duoe8o] {
    flex: none;
    width: 96px;
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    background: var(--lateral);
    box-shadow: 1px 0 0 rgba(0, 0, 0, .15);
    z-index: 2;
}

.principal[b-9pp4duoe8o] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.barra-superior[b-9pp4duoe8o] {
    position: sticky;
    top: 0;
    /* Por encima de la barra de herramientas de ApexCharts (z-index 11). */
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 64px;
    padding: 0 1.25rem;
    background: rgba(213, 213, 213, .92);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid var(--tarjeta-borde);
}

.logo-cliente[b-9pp4duoe8o] {
    height: 40px;
}

.titulo-sistema[b-9pp4duoe8o] {
    line-height: 1.2;
    padding-left: 1rem;
    border-left: 1px solid var(--tarjeta-borde);
}

    .titulo-sistema .titulo[b-9pp4duoe8o] {
        font-size: 1.05rem;
        font-weight: 700;
    }

    .titulo-sistema .subtitulo[b-9pp4duoe8o] {
        font-size: .78rem;
        color: var(--texto-suave);
    }

.barra-derecha[b-9pp4duoe8o] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.usuario[b-9pp4duoe8o] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 600;
}

.avatar[b-9pp4duoe8o] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--lateral);
    color: #fff;
    font-size: .8rem;
}

.contenido[b-9pp4duoe8o] {
    flex: 1;
    padding: 1rem 1.25rem 1.5rem;
}

@media (max-width: 1100px) {
    .titulo-sistema[b-9pp4duoe8o], .usuario .nombre[b-9pp4duoe8o] {
        display: none;
    }
}

@media (max-width: 700px) {
    .app[b-9pp4duoe8o] {
        flex-direction: column-reverse;
    }

    .lateral[b-9pp4duoe8o] {
        width: auto;
        height: auto;
        position: sticky;
        bottom: 0;
        top: auto;
    }

    .contenido[b-9pp4duoe8o] {
        padding: .75rem;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.marca[b-ghjuzmg515] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0 1.1rem;
    line-height: 1;
    color: #fff;
}

.marca-tsr[b-ghjuzmg515] {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.marca-cems[b-ghjuzmg515] {
    margin-top: .25rem;
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .3em;
    color: #9aa1a9;
}

.menu[b-ghjuzmg515] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 0 .5rem;
}

    .menu[b-ghjuzmg515]  .opcion {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .3rem;
        padding: .7rem .25rem .6rem;
        border-radius: 10px;
        color: #b9bec5;
        font-size: .72rem;
        font-weight: 600;
        text-decoration: none;
        transition: background .2s, color .2s;
    }

        .menu[b-ghjuzmg515]  .opcion:hover {
            background: var(--lateral-hover);
            color: #fff;
        }

        .menu[b-ghjuzmg515]  .opcion.active {
            background: var(--fondo);
            color: var(--texto);
        }

    .menu[b-ghjuzmg515]  svg {
        width: 30px;
        height: 30px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

        .menu[b-ghjuzmg515]  svg .relleno {
            fill: currentColor;
        }

.ejemplos[b-ghjuzmg515] {
    margin-top: auto;
    padding: 0 .5rem;
    text-align: center;
}

    .ejemplos summary[b-ghjuzmg515] {
        list-style: none;
        cursor: pointer;
        color: #6f767e;
        font-weight: 700;
        letter-spacing: .1em;
    }

        .ejemplos summary[b-ghjuzmg515]::-webkit-details-marker {
            display: none;
        }

    .ejemplos[b-ghjuzmg515]  .ejemplo {
        display: block;
        padding: .2rem 0;
        font-size: .7rem;
        color: #9aa1a9;
        text-decoration: none;
    }

        .ejemplos[b-ghjuzmg515]  .ejemplo:hover,
        .ejemplos[b-ghjuzmg515]  .ejemplo.active {
            color: #fff;
        }

.logo-abb[b-ghjuzmg515] {
    width: 64px;
    margin: 1rem auto 1.1rem;
    display: block;
}

@media (max-width: 700px) {
    .marca[b-ghjuzmg515], .ejemplos[b-ghjuzmg515], .logo-abb[b-ghjuzmg515] {
        display: none;
    }

    .menu[b-ghjuzmg515] {
        flex-direction: row;
        justify-content: space-around;
        padding: .3rem;
    }

        .menu[b-ghjuzmg515]  .opcion {
            flex: 1;
            padding: .4rem .2rem;
        }
}
/* /Pages/Indicadores.razor.rz.scp.css */
/*
   Tamaño base fluido: el menor entre lo que permite el ancho y lo que permite el alto disponibles
   (ventana menos barra lateral de 96px / barra superior de 64px y el padding del contenido).
   Los divisores son cuántos "em" mide la pantalla completa (2 hornos) a lo ancho y a lo alto.
*/
.pagina-indicadores[b-8hgvahyxwk] {
    font-size: clamp(11px,
                     min(calc((100vw - 96px - 2.5rem) / 80), calc((100vh - 64px - 2.5rem) / 44.5)),
                     32px);
}

.horno + .horno[b-8hgvahyxwk] {
    margin-top: 1em;
}

/* Encabezado y chips: los estilos globales usan rem; aquí se pasan a em para que escalen. */
.tarjeta-encabezado[b-8hgvahyxwk] {
    gap: .75em;
    padding: .55em 1em;
}

    .tarjeta-encabezado h2[b-8hgvahyxwk] {
        font-size: 1.1em;
    }

.chip[b-8hgvahyxwk] {
    gap: .4em;
    padding: .15em .7em;
    font-size: .8em;
}

    .chip .punto[b-8hgvahyxwk] {
        width: .5em;
        height: .5em;
    }

.horno-cuerpo[b-8hgvahyxwk] {
    display: flex;
    gap: 1em;
    padding: .8em 1em 1em;
}

.indicadores[b-8hgvahyxwk] {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(var(--columnas), minmax(0, 1fr));
    gap: .45em;
    min-width: 0;
}

.alarmas[b-8hgvahyxwk] {
    flex: none;
    width: 13.5em;
    display: flex;
    flex-direction: column;
    gap: .3em;
}

.alarmas-titulo[b-8hgvahyxwk] {
    font-size: .75em;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--texto-suave);
}

@media (max-width: 900px) {
    .pagina-indicadores[b-8hgvahyxwk] {
        font-size: 14px;
    }

    .horno-cuerpo[b-8hgvahyxwk] {
        flex-direction: column;
    }

    .indicadores[b-8hgvahyxwk] {
        grid-template-columns: repeat(auto-fill, minmax(5em, 1fr));
    }

    .alarmas[b-8hgvahyxwk] {
        width: auto;
    }
}
/* /Pages/Login.razor.rz.scp.css */
.login[b-erx84yqw4r] {
    width: 100%;
    max-width: 400px;
    padding: 2rem 2rem 1.25rem;
}

.logos[b-erx84yqw4r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.logo-cliente[b-erx84yqw4r] {
    height: 44px;
}

.logo-abb[b-erx84yqw4r] {
    height: 30px;
}

h1[b-erx84yqw4r] {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
}

.subtitulo[b-erx84yqw4r] {
    color: var(--texto-suave);
    font-size: .9rem;
    margin-bottom: 1.25rem;
}

.pantalla-completa[b-erx84yqw4r] {
    margin-bottom: 1rem;
    font-size: .85rem;
    color: var(--texto-suave);
}

    .pantalla-completa a[b-erx84yqw4r] {
        color: var(--acento);
        font-weight: 600;
        text-decoration: underline;
    }

.demo[b-erx84yqw4r] {
    margin-top: 1rem;
    padding: .5rem .75rem;
    border-radius: 8px;
    background: #fff6dd;
    color: #7a5600;
    font-size: .8rem;
}

.pie[b-erx84yqw4r] {
    margin-top: 1.25rem;
    text-align: center;
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--texto-suave);
}
/* /Pages/Reportes.razor.rz.scp.css */
.filtros[b-si2j1oom9z] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
}

    .filtros .grupo[b-si2j1oom9z] {
        min-width: 130px;
    }

    .filtros .btn[b-si2j1oom9z] {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
    }

.tabla-contenedor[b-si2j1oom9z] {
    overflow: auto;
    max-height: calc(100vh - 330px);
    min-height: 300px;
}

.tabla[b-si2j1oom9z] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}

    .tabla th[b-si2j1oom9z], .tabla td[b-si2j1oom9z] {
        padding: .3rem .6rem;
        text-align: right;
        white-space: nowrap;
        border-bottom: 1px solid #dcdee1;
    }

    .tabla thead th[b-si2j1oom9z] {
        position: sticky;
        top: 0;
        z-index: 1;
        background: #e3e5e8;
        line-height: 1.1;
        vertical-align: bottom;
    }

    .tabla .variable[b-si2j1oom9z] {
        display: block;
        font-weight: 700;
    }

    .tabla .unidad[b-si2j1oom9z] {
        font-size: .68rem;
        font-weight: 600;
        color: var(--texto-suave);
    }

    .tabla .fecha[b-si2j1oom9z] {
        text-align: left;
        position: sticky;
        left: 0;
        background: inherit;
    }

    .tabla thead .fecha[b-si2j1oom9z] {
        z-index: 2;
    }

    .tabla tbody tr[b-si2j1oom9z] {
        background: #f7f8f9;
    }

        .tabla tbody tr:nth-child(even)[b-si2j1oom9z] {
            background: #eff0f2;
        }

        .tabla tbody tr:hover[b-si2j1oom9z] {
            background: #e1ebfb;
        }

    .tabla tfoot tr[b-si2j1oom9z] {
        background: #e3e5e8;
    }

    .tabla tfoot th[b-si2j1oom9z] {
        background: #e3e5e8;
        font-weight: 600;
    }

    .tabla td.fuera-limite[b-si2j1oom9z] {
        color: var(--rojo-alarma);
        font-weight: 700;
    }

.paginacion[b-si2j1oom9z] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding: .6rem 1rem;
    font-size: .85rem;
    border-top: 1px solid var(--tarjeta-borde);
}
/* /Pages/Tendencias.razor.rz.scp.css */
.controles[b-lbaaue103f] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
}

    .controles .grupo[b-lbaaue103f] {
        min-width: 150px;
    }

.horno + .horno[b-lbaaue103f] {
    margin-top: 1rem;
}

.cuerpo[b-lbaaue103f] {
    display: flex;
    gap: 1rem;
    padding: .9rem 1rem 1rem;
}

.leyenda[b-lbaaue103f] {
    flex: none;
    width: 170px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.leyenda-acciones[b-lbaaue103f] {
    display: flex;
    gap: .75rem;
    margin-bottom: .3rem;
}

.item[b-lbaaue103f] {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .12rem .35rem;
    border-radius: 6px;
    font-size: .85rem;
    cursor: pointer;
    user-select: none;
}

    .item:hover[b-lbaaue103f] {
        background: var(--fondo-suave);
    }

    .item.apagada[b-lbaaue103f] {
        opacity: .45;
    }

    .item input[b-lbaaue103f] {
        accent-color: var(--acento);
    }

.muestra[b-lbaaue103f] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex: none;
}

.nombre[b-lbaaue103f] {
    font-weight: 600;
}

.unidad[b-lbaaue103f] {
    margin-left: auto;
    font-size: .7rem;
    color: var(--texto-suave);
}

.grafica[b-lbaaue103f] {
    flex: 1;
    min-width: 0;
    padding: .5rem .25rem 0 .25rem;
    background: var(--grafica-fondo);
    border-radius: 10px;
}

@media (max-width: 900px) {
    .cuerpo[b-lbaaue103f] {
        flex-direction: column;
    }

    .leyenda[b-lbaaue103f] {
        width: auto;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .leyenda-acciones[b-lbaaue103f] {
        grid-column: 1 / -1;
    }
}
