#pv-prevencion { --pr-line:rgba(148,163,184,.19); --pr-muted:#a5b4c8; margin:20px 0; border:1px solid var(--pr-line); border-radius:16px; background:var(--pv-bg,#0f172a); color:#e2e8f0; overflow:hidden; }
#pv-prevencion > summary { padding:20px 24px; font-size:1rem; font-weight:700; }
#pv-prevencion summary { cursor:pointer; }
#pv-prevencion summary::marker { color:#7dd3fc; }
#pv-prevencion #prevencion-message { margin:0 24px 16px; color:var(--pr-muted); font-size:.8rem; line-height:1.6; }
#prevencion-body { padding:0 24px 24px; }
#pv-prevencion p { font-size:.85rem; line-height:1.65; margin:10px 0; overflow-wrap:anywhere; }
#pv-prevencion h3 { font-size:1.3rem; font-weight:650; line-height:1.35; margin:8px 0; color:#f8fafc; }
#pv-prevencion h4 { font-size:.95rem; font-weight:650; margin:0 0 14px; }
.prevencion-overview { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:6px 0 20px; }
.prevencion-overview p { color:var(--pr-muted); max-width:68ch; }
.prevencion-eyebrow { font-size:.66rem; font-weight:700; letter-spacing:.12em; color:#7dd3fc; }
.prevencion-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.prevencion-metric { display:flex; flex-direction:column; gap:7px; padding:18px; border:1px solid var(--pr-line); border-radius:12px; background:rgba(148,163,184,.035); }
.prevencion-metric strong { font-size:1.8rem; font-weight:650; line-height:1; }
.prevencion-metric span { font-size:.78rem; color:var(--pr-muted); }
.prevencion-metric[data-status=error] strong { color:#fda4af; }
.prevencion-metric[data-status=pendiente] strong { color:#fcd34d; }
.prevencion-metric[data-status=conforme] strong { color:#6ee7b7; }
#pv-prevencion .prevencion-panel { border:1px solid var(--pr-line); border-radius:12px; padding:0 18px; margin:14px 0; background:rgba(148,163,184,.025); }
#pv-prevencion .prevencion-panel > summary { padding:18px 0; font-size:.92rem; font-weight:650; }
#pv-prevencion .prevencion-panel[open] { padding-bottom:18px; }
#pv-prevencion .prevencion-label-panel { border-color:rgba(56,189,248,.3); background:rgba(56,189,248,.035); }
.prevencion-label-panel > summary > span:first-child { margin-right:14px; }
.prevencion-label-status, .prevencion-caption { color:var(--pr-muted); }
#pv-prevencion a { color:#7dd3fc; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
#pv-prevencion .prevencion-badge { display:inline-block; flex-shrink:0; font-size:.69rem; font-weight:550; padding:4px 9px; line-height:1.4; border-radius:20px; background:rgba(148,163,184,.12); color:#cbd5e1; vertical-align:middle; }
#pv-prevencion [data-status=discrepancia] .prevencion-badge,#pv-prevencion [data-status=error] .prevencion-badge { background:rgba(244,63,94,.12); color:#fda4af; }
#pv-prevencion [data-status=pendiente] .prevencion-badge,#pv-prevencion [data-status=sin_fuente] .prevencion-badge { background:rgba(245,158,11,.12); color:#fcd34d; }
#pv-prevencion [data-status=coincide] .prevencion-badge { background:rgba(16,185,129,.12); color:#6ee7b7; }
.prevencion-issues { margin:28px 0; }
.prevencion-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
#pv-prevencion .prevencion-filters button { min-height:36px; padding:6px 12px; border-radius:20px; font-size:.76rem; }
#pv-prevencion .prevencion-filters button[aria-pressed=true] { color:#bae6fd; background:rgba(14,165,233,.15); border-color:rgba(56,189,248,.45); }
.prevencion-issue-list { display:grid; gap:8px; }
.prevencion-issue,.prevencion-check { border:1px solid var(--pr-line); border-radius:9px; padding:12px 14px; min-width:0; }
.prevencion-issue > summary,.prevencion-check > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.81rem; }
.prevencion-issue > summary:before,.prevencion-check > summary:before { content:'›'; color:var(--pr-muted); }
.prevencion-issue > summary > span:first-child,.prevencion-check > summary > span:first-child { flex:1; overflow-wrap:anywhere; }
.prevencion-issue[open] > summary:before,.prevencion-check[open] > summary:before { transform:rotate(90deg); }
.prevencion-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.prevencion-comparison > div { padding:12px; background:rgba(148,163,184,.05); border-radius:8px; min-width:0; }
.prevencion-comparison > div > span { color:var(--pr-muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
#pv-prevencion pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.81rem; line-height:1.6; margin:8px 0 0; max-height:240px; overflow:auto; }
.prevencion-empty { padding:20px; text-align:center; color:var(--pr-muted); border:1px dashed var(--pr-line); border-radius:10px; }
.prevencion-phases,.prevencion-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.prevencion-phase { padding:8px 12px; border:1px solid var(--pr-line); border-radius:8px; font-size:.75rem; }
.prevencion-phase[data-status=conforme] { color:#6ee7b7; }
.prevencion-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:16px; margin-top:18px; }
.prevencion-label-review { grid-template-columns:1fr; }
.prevencion-form label { display:flex; flex-direction:column; gap:8px; font-size:.8rem; line-height:1.6; }
.prevencion-form input,.prevencion-form textarea,.prevencion-form select { width:100%; box-sizing:border-box; padding:10px 12px; background:var(--pv-bg,#0f172a); color:#e2e8f0; border:1px solid var(--pr-line); border-radius:8px; min-width:0; font:inherit; }
.prevencion-form input[type=checkbox] { width:18px; height:18px; accent-color:#38bdf8; }
.prevencion-wide { grid-column:1/-1; }
.prevencion-matching > summary { font-size:.82rem; color:#6ee7b7; padding:10px 0; }
.prevencion-matching .prevencion-check { margin:8px 0; }
#pv-prevencion button { min-height:40px; padding:9px 14px; border:1px solid var(--pr-line); border-radius:8px; font-size:.8rem; font-weight:550; cursor:pointer; background:rgba(148,163,184,.07); color:#e2e8f0; transition:background .15s,border-color .15s; }
#pv-prevencion button:hover:not(:disabled) { background:rgba(148,163,184,.16); border-color:#64748b; }
#pv-prevencion button:disabled { opacity:.45; cursor:not-allowed; }
#pv-prevencion button.prevencion-primary { background:#075985; border-color:#0284c7; color:#f0f9ff; }
#pv-prevencion button:focus-visible,#pv-prevencion summary:focus-visible,#pv-prevencion input:focus-visible,#pv-prevencion select:focus-visible,#pv-prevencion textarea:focus-visible { outline:2px solid #38bdf8; outline-offset:3px; }
@media(max-width:680px) { #prevencion-body { padding:0 14px 18px; } #pv-prevencion > summary { padding:18px 14px; } #pv-prevencion #prevencion-message { margin:0 14px 14px; } .prevencion-overview { align-items:flex-start; flex-direction:column; gap:8px; } .prevencion-metrics { gap:6px; } .prevencion-metric { padding:12px 9px; } .prevencion-metric strong { font-size:1.4rem; } .prevencion-metric span { font-size:.69rem; } .prevencion-comparison { grid-template-columns:1fr; } .prevencion-issue > summary,.prevencion-check > summary { flex-wrap:wrap; } #pv-prevencion .prevencion-panel { padding:0 12px; } }
