/* =============================================================================
   playground.edubox.app  |  calculadora-notas.css
   Override propio de la herramienta. Solo BoxUI + tokens.
   Se carga SIEMPRE después de hl-comun.css (los estilos sin @layer ganan a BoxUI).
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Resultado grande: colores por estado.
   Tokens reales verificados en assets/css/boxui/boxui.min.css:
   --box-success / --box-warning / --box-danger (líneas 211-213).
   ----------------------------------------------------------------------------- */
.hl-resultado-grande[data-estado="aprobado"]  { color: var(--box-success); }
.hl-resultado-grande[data-estado="riesgo"]    { color: var(--box-warning); }
.hl-resultado-grande[data-estado="reprobado"] { color: var(--box-danger); }
.hl-resultado-grande[data-estado="nulo"]      { color: var(--box-text-subtle); }

/* Bloque que envuelve el número grande + etiqueta + estado */
.hl-resultado-bloque {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    background: var(--box-surface);
    border: 1px solid var(--box-border-subtle);
    border-radius: var(--box-radius);
}
.hl-resultado-bloque .hl-meta {
    font-size: var(--box-text-sm);
    color: var(--box-text-muted);
}

/* Aviso explícito cuando el redondeo cruza el umbral (caso borde 8) */
.hl-nota-umbral {
    margin: 0;
    font-size: var(--box-text-sm);
    font-weight: 600;
    color: var(--box-warning-fg);
}

/* -----------------------------------------------------------------------------
   Barra de acciones superior: pestañas segmentadas + "Limpiar todo"
   ----------------------------------------------------------------------------- */
.hl-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.hl-tabs {
    flex: 1 1 auto;
    min-width: 0;
}
.hl-tabs > button {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .hl-toolbar { flex-direction: column; align-items: stretch; }
    .hl-tabs { width: 100%; }
    /* 360 px: icono arriba y texto que envuelve para que las 3 pestañas no desborden */
    .hl-tabs > button {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 2px;
        height: auto;
        min-height: calc(var(--box-control-h) - 2px);
        padding-inline: 0.3rem;
        line-height: 1.15;
        white-space: normal;
        font-size: var(--box-text-xs);
    }
    .hl-tabs > button i { display: block; }
}

/* -----------------------------------------------------------------------------
   Footer de la tarjeta de ponderación: badge de pesos + normalizar
   ----------------------------------------------------------------------------- */
.hl-card-footer-split {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.hl-fila-pesos {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* -----------------------------------------------------------------------------
   Escenarios: resaltar la fila objetivo (la primera que aprueba)
   ----------------------------------------------------------------------------- */
/* Sin !important: el CSS propio va fuera de las @layer y gana al zebra de BoxUI */
.hl-fila-objetivo {
    background: var(--box-warning-bg);
}

/* -----------------------------------------------------------------------------
   Conversión de escalas
   ----------------------------------------------------------------------------- */
.hl-conv-resultado {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 1rem;
    margin-top: 0.75rem;
    text-align: center;
    background: var(--box-surface-sunken);
    border: 1px dashed var(--box-border-strong);
    border-radius: var(--box-radius);
}
.hl-conv-resultado .hl-resultado-grande {
    font-size: clamp(2rem, 8vw, 3.5rem);
}

/* Umbrales de letras configurables */
.hl-umbrales {
    align-items: end;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}
.hl-umbral {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

/* Celdas de la tabla editable: ancho de la columna de acciones.
   Scope exclusivo de la tabla de ponderación (no afecta a escenarios). */
.hl-tabla-ponderacion td:last-child {
    width: 44px;
    text-align: center;
}

/* -----------------------------------------------------------------------------
   Impresión
   ----------------------------------------------------------------------------- */
@media print {
    .hl-toolbar,
    .box-actions,
    .hl-tabla-ponderacion td:last-child {
        display: none !important;
    }
    .box-card, .hl-resultado-bloque {
        break-inside: avoid;
    }
}
