/* MrVUCEM — Vistas: validador (publico) y panel/validador */

.seg { display: inline-flex; padding: 3px; gap: 3px; border-radius: var(--r-full); background: var(--bg-soft); border: 1px solid var(--border); }
.seg label { position: relative; cursor: pointer; }
.seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.seg span { display: block; font-size: .82rem; font-weight: 650; color: var(--muted); padding: .42rem .9rem; border-radius: var(--r-full); }
.seg input:checked + span { background: var(--bg-elev); color: var(--text); box-shadow: var(--shadow-sm); }
.seg input:focus-visible + span { box-shadow: var(--ring); }

.val-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.4rem; }
@media (max-width: 700px) { .val-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.val-stat { border: 1px solid var(--border); background: var(--bg-elev); border-radius: var(--r); padding: .85rem 1rem; }
.val-stat .n { font-size: 1.55rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.val-stat .l { font-size: .78rem; color: var(--muted); }
.val-stat.ok .n { color: var(--ok); }
.val-stat.warn .n { color: var(--warn); }
.val-stat.err .n { color: var(--danger); }

.val-file { border: 1px solid var(--border); border-radius: var(--r); background: var(--bg-elev); margin-bottom: .8rem; overflow: hidden; }
.val-file[data-estado="error"] { border-color: color-mix(in srgb, var(--danger) 45%, var(--border)); }
.val-file[data-estado="warn"]  { border-color: color-mix(in srgb, var(--warn) 45%, var(--border)); }
.val-file[data-estado="ok"]    { border-color: color-mix(in srgb, var(--ok) 40%, var(--border)); }
.val-file > summary {
  list-style: none; cursor: pointer; padding: .9rem 1.1rem;
  display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: .8rem; align-items: center;
}
.val-file > summary::-webkit-details-marker { display: none; }
.val-file > summary:hover { background: var(--bg-soft); }
.val-file .vf-name { font-weight: 650; font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.val-file .vf-meta { font-size: .78rem; color: var(--muted); }
.val-body { padding: .2rem 1.1rem 1.1rem; border-top: 1px solid var(--border); }

.val-check { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: .75rem; align-items: start; padding: .6rem 0; border-bottom: 1px dashed var(--border); }
.val-check:last-child { border-bottom: 0; }
.val-check .vc-title { font-size: .88rem; font-weight: 600; }
.val-check .vc-desc { font-size: .78rem; color: var(--muted); }
.val-check .vc-val { font-size: .8rem; font-weight: 650; white-space: nowrap; }
.val-check svg { margin-top: .18rem; }
