.resumen-total {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
    gap: 18px;
    align-items: stretch;
    margin: 18px 0 24px;
    padding: 18px 20px;
    border: 3px solid #51813A;
    border-radius: 12px;
    background: #f7fbf4;
}

.resumen-total p {
    margin: 0;
}

.resumen-total-panel {
    min-width: 0;
}

.resumen-total-etiqueta {
    font-weight: 700;
    color: #51813A;
    margin-bottom: 6px !important;
}

.resumen-total-principal {
    font-size: 1.85rem;
    font-weight: 800;
    color: #2f4f1f;
    line-height: 1.2;
}

.resumen-total-lectura {
    margin-top: 6px !important;
    font-size: 1rem;
    color: #333333;
    line-height: 1.35;
}

.resumen-total-estado {
    margin-top: 4px !important;
    font-size: 0.98rem;
    font-weight: 700;
    color: #375a24;
}

.resultado-estado-no-calculado {
    color: #6a6a6a;
    font-style: italic;
    font-weight: 600;
}

.resultado-etiqueta-calculado {
    color: #6a6a6a;
    font-size: 0.88rem;
    font-weight: 600;
    white-space: nowrap;
}

.resultado-valor-cero-calculado {
    color: #375a24;
}

.resumen-total-secundario {
    font-size: 0.98rem;
    color: #375a24;
    margin-top: 4px !important;
}

.resumen-total-metricas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.resumen-total-metrica {
    padding: 10px 12px;
    border: 1px solid #b8d2aa;
    border-radius: 10px;
    background: #ffffff;
}

.resumen-total-metrica span {
    display: block;
    margin-bottom: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #51813A;
}

.resumen-total-metrica strong {
    display: block;
    color: #2f4f1f;
    font-size: 0.98rem;
    line-height: 1.25;
}

.resumen-total-compensacion-bloque {
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px dashed #51813A;
    border-radius: 10px;
    background: #ffffff;
}

.resumen-total-nota {
    align-self: stretch;
    padding: 14px 16px;
    border-left: 4px solid #51813A;
    border-radius: 10px;
    background: #ffffff;
    font-size: 0.92rem;
    color: #4b4b4b;
}

.resumen-total-nota p + p {
    margin-top: 8px;
}


.resumen-interpretativo {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #51813A;
    border-radius: 12px;
    background: #ffffff;
}

.resumen-interpretativo h2 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.resumen-interpretativo-intro {
    margin: 0 0 14px;
    color: #333333;
    font-size: 0.98rem;
    line-height: 1.45;
}

.resumen-interpretativo-tarjetas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.resumen-interpretativo-tarjeta {
    padding: 12px 14px;
    border: 1px solid #b8d2aa;
    border-radius: 10px;
    background: #f7fbf4;
}

.resumen-interpretativo-tarjeta span {
    display: block;
    margin-bottom: 4px;
    color: #51813A;
    font-size: 0.82rem;
    font-weight: 800;
}

.resumen-interpretativo-tarjeta strong {
    display: block;
    margin-bottom: 4px;
    color: #2f4f1f;
    font-size: 1rem;
    line-height: 1.25;
}

.resumen-interpretativo-tarjeta p {
    margin: 0;
    color: #4b4b4b;
    font-size: 0.88rem;
    line-height: 1.35;
}

.resumen-interpretativo-lista {
    margin: 0;
    padding-left: 20px;
}

.resumen-interpretativo-lista li {
    margin-bottom: 7px;
    color: #4b4b4b;
    line-height: 1.4;
}

.resumen-interpretativo-lista li:last-child {
    margin-bottom: 0;
}

.incertidumbre-global {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #51813A;
    border-radius: 12px;
    background: #f7fbf4;
}

.incertidumbre-global h2 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.incertidumbre-global-intro {
    margin: 0 0 14px;
    color: #333333;
    font-size: 0.98rem;
    line-height: 1.45;
}

.incertidumbre-global-tarjetas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.incertidumbre-global-tarjeta {
    padding: 12px 14px;
    border: 1px solid #b8d2aa;
    border-radius: 10px;
    background: #ffffff;
}

.incertidumbre-global-tarjeta span {
    display: block;
    margin-bottom: 4px;
    color: #51813A;
    font-size: 0.82rem;
    font-weight: 800;
}

.incertidumbre-global-tarjeta strong {
    display: block;
    margin-bottom: 4px;
    color: #2f4f1f;
    font-size: 1rem;
    line-height: 1.25;
}

.incertidumbre-global-tarjeta p {
    margin: 0;
    color: #4b4b4b;
    font-size: 0.88rem;
    line-height: 1.35;
}

.incertidumbre-global-lista {
    margin: 0;
    padding-left: 20px;
}

.incertidumbre-global-lista li {
    margin-bottom: 7px;
    color: #4b4b4b;
    line-height: 1.4;
}

.incertidumbre-global-lista li:last-child {
    margin-bottom: 0;
}

#resultados-wrapper {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

#resultados {
    flex: 1 1 620px;
    min-width: 0;
    padding: 16px;
    border: 2px solid #51813A;
    border-radius: 10px;
    background: #ffffff;
}

#resultados h2 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 1.08rem;
}

.desglose-nota {
    margin: 0 0 12px;
    color: #4b4b4b;
    font-size: 0.92rem;
    line-height: 1.35;
}

.tabla-desglose-wrapper {
    width: 100%;
    overflow-x: auto;
}

.tabla-desglose {
    width: 100%;
    min-width: 820px;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.tabla-desglose th,
.tabla-desglose td {
    padding: 10px 8px;
    border-bottom: 1px solid #d7e6ce;
    vertical-align: top;
}

.tabla-desglose th {
    color: #2f4f1f;
    font-weight: 800;
    text-align: left;
    background: #f7fbf4;
}

.tabla-desglose tbody tr:last-child td {
    border-bottom: 0;
}

.desglose-modulo-nombre {
    font-weight: 800;
    color: #375a24;
    white-space: nowrap;
}

.desglose-modulo-emisiones,
.desglose-modulo-porcentaje,
.desglose-modulo-incertidumbre {
    white-space: nowrap;
}

.desglose-valor strong,
.desglose-secundario {
    display: block;
}

.desglose-secundario {
    margin-top: 2px;
    color: #6a6a6a;
    font-size: 0.82rem;
    font-weight: 600;
}

.desglose-estado {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.desglose-estado-calculado {
    border: 1px solid #51813A;
    color: #2f4f1f;
    background: #eef6e8;
}

.desglose-estado-cero-calculado {
    border: 1px solid #8aa978;
    color: #375a24;
    background: #f7fbf4;
}

.desglose-estado-no-calculado {
    border: 1px solid #c9c9c9;
    color: #5f5f5f;
    background: #f4f4f4;
}

.desglose-fila-no-calculado td {
    color: #606060;
    background: #fbfbfb;
}

.desglose-fila-cero-calculado td {
    background: #f7fbf4;
}

.desglose-modulo-lectura {
    min-width: 220px;
    color: #4b4b4b;
    line-height: 1.35;
}

.desglose-notas-metodologicas {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px dashed #51813A;
    border-radius: 10px;
    background: #f7fbf4;
}

.desglose-notas-metodologicas h3 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 0.98rem;
}

.desglose-notas-metodologicas ul {
    margin: 0;
    padding-left: 18px;
}

.desglose-notas-metodologicas li {
    margin-bottom: 6px;
    color: #4b4b4b;
    line-height: 1.35;
}

.desglose-notas-metodologicas li:last-child {
    margin-bottom: 0;
}

#grafica {
    flex: 1 1 420px;
    min-width: 320px;
    padding: 16px;
    border: 2px solid #51813A;
    border-radius: 10px;
    background: #ffffff;
}

#grafica h2 {
    font-size: 1.05rem;
    margin-bottom: 8px;
}

.grafica-nota,
.grafica-vacia {
    margin: 0 0 12px;
    color: #4b4b4b;
    font-size: 0.92rem;
    line-height: 1.35;
}

.grafica-vacia {
    padding: 12px 14px;
    border: 1px dashed #b8d2aa;
    border-radius: 8px;
    background: #f7fbf4;
    font-style: italic;
}

#grafica {
    overflow: hidden;
}

.grafica-canvas-wrapper {
    position: relative;
    width: 100%;
    height: 340px;
    min-height: 260px;
    max-height: 520px;
}

#grafica canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
}

.btn-explicar-incertidumbre {
    margin-top: 10px;
    padding: 8px 12px;
    border: 2px solid #51813A;
    border-radius: 8px;
    background: #ffffff;
    color: #375a24;
    font-weight: 700;
    cursor: pointer;
}

.btn-explicar-incertidumbre:hover,
.btn-explicar-incertidumbre:focus {
    background: #eef6e8;
    outline: none;
}

.modal-incertidumbre[hidden] {
    display: none;
}

.modal-incertidumbre {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.45);
}

.modal-incertidumbre-contenido {
    position: relative;
    width: min(720px, 100%);
    max-height: 86vh;
    overflow-y: auto;
    padding: 26px 28px;
    border: 3px solid #51813A;
    border-radius: 14px;
    background: #ffffff;
    color: #333333;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.modal-incertidumbre-contenido h2 {
    margin: 0 42px 14px 0;
    color: #2f4f1f;
    font-size: 1.35rem;
}

.modal-incertidumbre-contenido p {
    margin: 0 0 12px;
    line-height: 1.5;
}

.cerrar-modal-incertidumbre {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 2px solid #51813A;
    border-radius: 50%;
    background: #ffffff;
    color: #375a24;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}

.cerrar-modal-incertidumbre:hover,
.cerrar-modal-incertidumbre:focus {
    background: #eef6e8;
    outline: none;
}


@media (max-width: 768px) {
    .resumen-total {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .resumen-total-principal {
        font-size: 1.35rem;
    }

    .resumen-total-metricas {
        grid-template-columns: 1fr;
    }

    .resumen-total-nota {
        width: 100%;
    }

    .resumen-interpretativo-tarjetas,
    .incertidumbre-global-tarjetas {
        grid-template-columns: 1fr;
    }

    #grafica,
    #resultados {
        min-width: 0;
        width: 100%;
    }

    .tabla-desglose {
        min-width: 760px;
    }
}


/* C10 - visualización separada de compensación fotovoltaica */
.resumen-total-compensacion { margin-top: 8px !important; color: #2f4f1f; font-weight: 700; }
.resumen-total-neto-orientativo { color: #2f4f1f; font-weight: 700; }
.resultado-compensacion { background: #f4f8f1 !important; border-style: dashed !important; }
.resultado-compensacion p:first-child, .resultado-compensacion p:last-child { color: #2f4f1f !important; }


/* D12 - nota informativa para electricidad de coche eléctrico ya incluida en Vivienda */
.resultado-nota {
    background: #f4f8f1 !important;
    border-style: dashed !important;
}

.resultado-nota p:first-child,
.resultado-nota p:last-child {
    color: #2f4f1f !important;
}

.resultado-nota p:last-child {
    font-size: 0.92rem;
    line-height: 1.35;
}

/* H4 - compensación solo en Resultados */
.bloque-compensacion-resultados {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 24px;
    padding: 16px 18px;
    border: 2px solid #b8d2aa;
    border-radius: 12px;
    background: #ffffff;
}

.bloque-compensacion-resultados h2 {
    margin: 0 0 6px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.bloque-compensacion-resultados p {
    margin: 0;
    color: #4b4b4b;
    line-height: 1.45;
}

.btn-compensar-resultados {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 2px solid #51813A;
    border-radius: 8px;
    background: #51813A;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.btn-compensar-resultados:hover,
.btn-compensar-resultados:focus {
    background: #375a24;
    outline: none;
}

.modal-compensacion-contenido h3 {
    margin: 16px 0 8px;
    color: #2f4f1f;
    font-size: 1.05rem;
}

.modal-compensacion-contenido ul {
    margin: 0 0 12px 20px;
    padding: 0;
}

.modal-compensacion-contenido li {
    margin-bottom: 6px;
    line-height: 1.45;
}

@media (max-width: 768px) {
    .bloque-compensacion-resultados {
        align-items: stretch;
        flex-direction: column;
    }

    .btn-compensar-resultados {
        width: 100%;
    }
}

/* I4e - comparación prudente con medias nacionales */
.comparacion-nacional {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #c8dcbf;
    border-radius: 14px;
    background: #fbfdf9;
}

.comparacion-nacional-encabezado h2 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 1.22rem;
}

.comparacion-nacional-encabezado p {
    margin: 0 0 14px;
    color: #4b4b4b;
    line-height: 1.45;
}

.comparacion-nacional-tarjetas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.comparacion-nacional-tarjeta {
    min-height: 118px;
    padding: 14px 15px;
    border: 1px solid #d9e8d2;
    border-radius: 12px;
    background: #ffffff;
}

.comparacion-nacional-tarjeta span {
    display: block;
    margin-bottom: 7px;
    color: #5a6d50;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.comparacion-nacional-tarjeta strong {
    display: block;
    margin-bottom: 7px;
    color: #2f4f1f;
    font-size: 1.15rem;
}

.comparacion-nacional-tarjeta p {
    margin: 0;
    color: #4b4b4b;
    font-size: 0.93rem;
    line-height: 1.4;
}

.comparacion-nacional-notas {
    margin: 14px 0 0 20px;
    padding: 0;
    color: #4b4b4b;
}

.comparacion-nacional-notas li {
    margin-bottom: 6px;
    line-height: 1.42;
}

@media (max-width: 768px) {
    .comparacion-nacional-tarjetas {
        grid-template-columns: 1fr;
    }
}


/* RS1 - reset completo desde Resultados */
.bloque-reset-resultados {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 24px;
    padding: 16px 18px;
    border: 2px solid #d3b9a4;
    border-radius: 12px;
    background: #fffaf6;
}

.bloque-reset-resultados h2 {
    margin: 0 0 6px;
    color: #5a321f;
    font-size: 1.12rem;
}

.bloque-reset-resultados p {
    margin: 0;
    color: #4b4b4b;
    line-height: 1.45;
}

.btn-reset-resultados {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 2px solid #8a4b2c;
    border-radius: 8px;
    background: #8a4b2c;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.btn-reset-resultados:hover,
.btn-reset-resultados:focus {
    background: #6d3921;
    outline: none;
}

.modal-reset-contenido {
    max-width: 620px;
    border-color: #8a4b2c;
}

.modal-reset-acciones {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 18px;
}

.btn-reset-secundario,
.btn-reset-confirmar {
    padding: 9px 14px;
    border-radius: 8px;
    font-weight: 800;
    cursor: pointer;
}

.btn-reset-secundario {
    border: 2px solid #b8d2aa;
    background: #ffffff;
    color: #2f4f1f;
}

.btn-reset-secundario:hover,
.btn-reset-secundario:focus {
    background: #eef6e8;
    outline: none;
}

.btn-reset-confirmar {
    border: 2px solid #8a4b2c;
    background: #8a4b2c;
    color: #ffffff;
}

.btn-reset-confirmar:hover,
.btn-reset-confirmar:focus {
    background: #6d3921;
    outline: none;
}

@media (max-width: 768px) {
    .bloque-reset-resultados {
        align-items: stretch;
        flex-direction: column;
    }

    .btn-reset-resultados {
        width: 100%;
    }

    .modal-reset-acciones {
        flex-direction: column-reverse;
    }

    .btn-reset-secundario,
    .btn-reset-confirmar {
        width: 100%;
    }
}


.lectura-tipo-dato {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #b8d2aa;
    border-radius: 12px;
    background: #ffffff;
}

.lectura-tipo-dato-cabecera h2 {
    margin: 0 0 6px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.lectura-tipo-dato-cabecera p {
    margin: 0 0 14px;
    color: #4b4b4b;
    font-size: 0.96rem;
    line-height: 1.4;
}

.lectura-tipo-dato-tarjetas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.lectura-tipo-dato-tarjeta {
    padding: 12px 14px;
    border: 1px solid #b8d2aa;
    border-radius: 10px;
    background: #f7fbf4;
}

.lectura-tipo-dato-tarjeta-productos {
    background: #fffdf5;
}

.lectura-tipo-dato-tarjeta span {
    display: block;
    margin-bottom: 4px;
    color: #51813A;
    font-size: 0.82rem;
    font-weight: 800;
}

.lectura-tipo-dato-tarjeta strong {
    display: block;
    margin-bottom: 5px;
    color: #2f4f1f;
    font-size: 1.02rem;
    line-height: 1.25;
}

.lectura-tipo-dato-tarjeta p {
    margin: 0;
    color: #4b4b4b;
    font-size: 0.88rem;
    line-height: 1.35;
}

@media (max-width: 800px) {
    .lectura-tipo-dato-tarjetas {
        grid-template-columns: 1fr;
    }
}

/* MOB1/UI1 - Tarjetas móviles de desglose por módulo */
.desglose-modulos-tarjetas {
    display: none;
}

.desglose-tarjetas-vacias {
    margin: 0;
    padding: 12px 14px;
    border: 1px dashed #b8d2aa;
    border-radius: 10px;
    background: #f7fbf4;
    color: #4b4b4b;
    font-style: italic;
}

.desglose-modulo-tarjeta {
    padding: 14px;
    border: 1px solid #b8d2aa;
    border-radius: 12px;
    background: #ffffff;
}

.desglose-modulo-tarjeta + .desglose-modulo-tarjeta {
    margin-top: 12px;
}

.desglose-modulo-tarjeta-no-calculado {
    background: #fbfbfb;
    border-color: #d8d8d8;
}

.desglose-modulo-tarjeta-cero-calculado {
    background: #f7fbf4;
}

.desglose-tarjeta-cabecera {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.desglose-tarjeta-cabecera h3 {
    margin: 0;
    color: #2f4f1f;
    font-size: 1rem;
    line-height: 1.25;
}

.desglose-tarjeta-cuerpo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.desglose-tarjeta-par {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid #edf4e8;
}

.desglose-tarjeta-par span {
    color: #51813A;
    font-size: 0.82rem;
    font-weight: 800;
}

.desglose-tarjeta-par strong {
    color: #2f4f1f;
    text-align: right;
    font-size: 0.92rem;
}

.desglose-tarjeta-lectura {
    margin: 10px 0 0;
    color: #4b4b4b;
    font-size: 0.9rem;
    line-height: 1.35;
}

/* MOB1/UI1 - Informe básico imprimible */
.informe-usuario {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #51813A;
    border-radius: 12px;
    background: #ffffff;
}

.informe-usuario-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.informe-usuario-control h2 {
    margin: 0 0 6px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.informe-usuario-control p {
    margin: 0;
    color: #4b4b4b;
    line-height: 1.4;
}

.btn-imprimir-informe {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 2px solid #51813A;
    border-radius: 8px;
    background: #51813A;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.btn-imprimir-informe:hover,
.btn-imprimir-informe:focus {
    background: #375a24;
    outline: none;
}

.informe-usuario-contenido {
    padding: 18px;
    border: 1px solid #b8d2aa;
    border-radius: 12px;
    background: #f7fbf4;
}

.informe-cabecera {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #b8d2aa;
}

.informe-cabecera h2 {
    margin: 0 0 4px;
    color: #2f4f1f;
    font-size: 1.25rem;
}

.informe-etiqueta,
.informe-version {
    margin: 0;
    color: #51813A;
    font-weight: 800;
}

.informe-meta {
    min-width: 260px;
    font-size: 0.92rem;
}

.informe-meta p {
    margin: 0 0 5px;
}

.informe-resumen-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.informe-resumen-tarjeta {
    padding: 12px 14px;
    border: 1px solid #b8d2aa;
    border-radius: 10px;
    background: #ffffff;
}

.informe-resumen-tarjeta span {
    display: block;
    margin-bottom: 4px;
    color: #51813A;
    font-size: 0.82rem;
    font-weight: 800;
}

.informe-resumen-tarjeta strong {
    display: block;
    margin-bottom: 5px;
    color: #2f4f1f;
    font-size: 1rem;
    line-height: 1.25;
}

.informe-resumen-tarjeta-principal strong {
    font-size: 1.15rem;
}

.informe-resumen-tarjeta p {
    margin: 0;
    color: #4b4b4b;
    font-size: 0.88rem;
    line-height: 1.35;
}

.informe-bloque {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #d7e6ce;
}

.informe-bloque h3 {
    margin: 0 0 8px;
    color: #2f4f1f;
    font-size: 1.02rem;
}

.informe-mini-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.informe-mini-grid p,
.informe-comparacion-detalle,
.informe-modulos-omitidos {
    margin: 0;
    color: #4b4b4b;
    line-height: 1.4;
}

.informe-desglose-cuerpo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.informe-desglose-fila {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid #d7e6ce;
    border-radius: 8px;
    background: #ffffff;
}

.informe-desglose-fila strong {
    color: #2f4f1f;
}

.informe-desglose-fila span {
    color: #4b4b4b;
}

.informe-desglose-fila-no-calculado {
    background: #fbfbfb;
}

.informe-modulos-omitidos {
    margin-top: 8px;
    font-weight: 700;
}

.informe-notas-metodologicas {
    margin: 0;
    padding-left: 20px;
}

.informe-notas-metodologicas li {
    margin-bottom: 6px;
    color: #4b4b4b;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .resumen-total,
    .resumen-interpretativo-tarjetas,
    .incertidumbre-global-tarjetas,
    .comparacion-nacional-tarjetas,
    .informe-resumen-grid {
        grid-template-columns: 1fr;
    }

    .informe-cabecera,
    .informe-usuario-control {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-imprimir-informe {
        width: 100%;
    }

    .informe-meta {
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .tabla-desglose-wrapper {
        display: none;
    }

    .desglose-modulos-tarjetas {
        display: block;
    }

    #resultados-wrapper {
        gap: 16px;
    }

    .resumen-total,
    .resumen-interpretativo,
    .incertidumbre-global,
    .comparacion-nacional,
    .lectura-tipo-dato,
    .informe-usuario,
    #resultados,
    #grafica {
        padding: 14px;
    }

    .informe-usuario-contenido {
        padding: 14px;
    }

    .informe-desglose-fila {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .desglose-tarjeta-cabecera {
        flex-direction: column;
    }

    .desglose-tarjeta-par {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .desglose-tarjeta-par strong {
        text-align: left;
    }
}

@media print {
    body {
        background: #ffffff !important;
        color: #111111 !important;
        font-family: Arial, sans-serif !important;
    }

    .container {
        max-width: none !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #info-ONG,
    nav,
    #grupo-abajo,
    .logo,
    #bloque-compensacion-resultados,
    #bloque-reset-resultados,
    #bloque-informe-personal,
    #modal-reset-resultados,
    #modal-compensacion-resultados,
    #modal-incertidumbre,
    .btn-explicar-incertidumbre {
        display: none !important;
    }

    #cuerpo-opciones {
        padding: 0 !important;
    }

    .resumen-total,
    .lectura-tipo-dato,
    .comparacion-nacional,
    .resumen-interpretativo,
    .incertidumbre-global,
    #resultados,
    #grafica {
        break-inside: avoid;
        page-break-inside: avoid;
        border-color: #cccccc !important;
        background: #ffffff !important;
    }

    a {
        color: #111111 !important;
        text-decoration: none !important;
    }
}



/* UI2 - acceso a informe personal separado */
.bloque-informe-personal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 2px solid #51813A;
    border-radius: 12px;
    background: #ffffff;
}

.bloque-informe-personal h2 {
    margin: 0 0 6px;
    color: #2f4f1f;
    font-size: 1.12rem;
}

.bloque-informe-personal p {
    margin: 0;
    color: #4b4b4b;
    line-height: 1.4;
}

.btn-informe-personal {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    border: 2px solid #51813A;
    border-radius: 8px;
    background: #51813A;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
}

.btn-informe-personal:hover,
.btn-informe-personal:focus {
    background: #375a24;
    border-color: #375a24;
    color: #ffffff;
    outline: none;
}

@media (max-width: 768px) {
    .bloque-informe-personal {
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
    }

    .btn-informe-personal {
        width: 100%;
    }
}
