.idp-validation-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-top: 1rem;
    padding: .75rem;
    border: 1px solid;
    border-radius: .85rem;
    background: #02061799;
}
.idp-validation-summary.verde { border-color: #10b98188; }
.idp-validation-summary.amarillo { border-color: #f59e0b88; }
.idp-validation-summary.rojo { border-color: #f43f5e88; }
.idp-validation-summary.gris { border-color: #64748b88; }
.idp-validation-summary small,
.idp-validation-summary strong { display: block; }
.idp-validation-summary small { font-size: .62rem; color: #94a3b8; }
.idp-validation-summary strong { font-size: .86rem; color: #f8fafc; }
.idp-validation {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    margin-top: .55rem;
    padding: .65rem;
    border: 1px solid;
    border-radius: .7rem;
    font-size: .72rem;
}
.idp-validation strong { font-size: .64rem; }
.idp-validation.critico { border-color: #f43f5e55; background: #f43f5e12; color: #fecdd3; }
.idp-validation.advertencia { border-color: #f59e0b55; background: #f59e0b12; color: #fde68a; }
.idp-validation.info { border-color: #38bdf855; background: #38bdf812; color: #bae6fd; }
@media (max-width: 520px) {
    .idp-validation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.idp-review-grid { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:1rem; margin-top:1rem; }
.idp-review-title { margin-bottom:.55rem; font-size:.72rem; font-weight:750; color:#bae6fd; text-transform:uppercase; letter-spacing:.08em; }
.idp-preview { min-height:420px; border:1px solid #334155; border-radius:.8rem; background:#020617; overflow:hidden; }
.idp-preview iframe,.idp-preview img { display:block; width:100%; height:520px; border:0; object-fit:contain; background:white; }
.idp-evidence-focus { margin-top:.55rem; padding:.65rem; border:1px solid #334155; border-radius:.7rem; color:#94a3b8; font-size:.68rem; overflow-wrap:anywhere; }
.idp-field { cursor:pointer; }
.idp-field.focused { outline:2px solid #38bdf8; outline-offset:1px; }
@media (max-width:1100px) { .idp-review-grid { grid-template-columns:1fr; } .idp-preview { min-height:320px; } .idp-preview iframe,.idp-preview img { height:420px; } }
@media (max-width:520px) { .idp-preview { min-height:240px; } .idp-preview iframe,.idp-preview img { height:300px; } }
