/* Verbos irregulares · estilos propios (los comunes, en comun.css) */
:root { --ok:#1f9d6f; --ok-tint:#e7f8f0; --mal:#c2352b; --mal-tint:#fdecea; --aviso:#92591a; --aviso-tint:#fdf6e7; }
.vb [hidden], .vb-lista [hidden] { display:none !important; }
.vb { margin-top:-32px; position:relative; display:grid; gap:20px; margin-bottom:20px; }
.cc-card { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:22px; min-width:0; }
.vb button:focus-visible, .vb-lista button:focus-visible, .vb select:focus-visible, .vb-lista select:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }

/* Botones y selectores (los mismos de las otras herramientas) */
.seg { display:inline-flex; gap:2px; background:var(--bg-body); padding:3px; border-radius:100px; border:1px solid var(--border); flex-wrap:wrap; max-width:100%; }
.seg button { border:none; background:none; cursor:pointer; padding:8px 14px; border-radius:100px; font-family:inherit; font-size:.85rem; font-weight:700; color:var(--text-muted); white-space:nowrap; transition:background .2s ease, color .2s ease; }
.seg button:hover:not(.on) { color:var(--navy); }
.seg button.on { background:var(--bg-surface); color:var(--navy); box-shadow:var(--shadow-sm); }
.lnk { border:none; background:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:.84rem; color:var(--mint-deep); padding:6px 10px; border-radius:100px; }
.lnk:hover { background:var(--mint-tint); }
.lnk.del { color:#b42318; }
.lnk.del:hover { background:#fef3f2; }
.vb-btn { border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:.9rem; color:#fff; background:var(--navy); padding:11px 20px; border-radius:100px; transition:background .2s ease; }
.vb-btn:hover { background:var(--navy-light); }
.vb-btn-lg { font-size:1rem; padding:14px 30px; }
select { font-family:inherit; font-size:.88rem; font-weight:600; color:var(--navy); background:var(--bg-body); border:1px solid var(--border); border-radius:100px; padding:8px 30px 8px 14px; max-width:100%;
  appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:14px; cursor:pointer; }

/* Cabecera: los tres modos */
.vb-modos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.vb-modos button { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:800; color:var(--navy);
  background:var(--bg-body); border:1px solid var(--border); border-radius:14px; padding:13px 10px; transition:border-color .2s ease, background .2s ease; min-width:0; }
.vb-modos button svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.vb-modos button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vb-modos button i { position:absolute; top:-7px; right:-5px; font-style:normal; font-family:'Inter',sans-serif; font-size:.68rem; font-weight:800; color:#fff; background:var(--mal); border-radius:100px; padding:1px 7px; }
.vb-modos button:hover:not(.on) { border-color:#c9cfda; }
.vb-modos button.on { background:var(--navy); border-color:var(--navy); color:#fff; }
.vb-modo-txt { margin-top:12px; font-size:.92rem; color:var(--dark-soft); }

/* ─── Niveles ─── */
:root { --nv-A1:#2fae84; --nv-A2:#1f8a69; --nv-B1:#3b6fd8; --nv-B2:#2b4fa6; --nv-C1:#8a4fc7; --nv-C2:#6b2fa0; }
.vb-nv { display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.04em; color:#fff; background:var(--nv); border-radius:100px; padding:2px 8px; white-space:nowrap; }
.nv-A1 { --nv:var(--nv-A1); } .nv-A2 { --nv:var(--nv-A2); } .nv-B1 { --nv:var(--nv-B1); }
.nv-B2 { --nv:var(--nv-B2); } .nv-C1 { --nv:var(--nv-C1); } .nv-C2 { --nv:var(--nv-C2); }

/* Elegir nivel antes de practicar */
.vn h2 { font-size:1.35rem; letter-spacing:-.02em; }
.vn-sub { margin-top:6px; color:var(--dark-soft); max-width:720px; }
.vn-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.vn-op { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"b span" "b small" "b em"; column-gap:14px; align-items:center; text-align:left; cursor:pointer; font-family:inherit;
  background:var(--bg-body); border:1px solid var(--border); border-left:5px solid var(--nv); border-radius:14px; padding:14px 16px; transition:border-color .2s ease, background .2s ease; min-width:0; }
.vn-op:hover { background:#fff; border-color:var(--nv); }
.vn-op b { grid-area:b; font-family:'Plus Jakarta Sans',sans-serif; font-size:1.9rem; font-weight:800; color:var(--nv); line-height:1; }
.vn-op span { grid-area:span; font-weight:800; color:var(--navy); }
.vn-op small { grid-area:small; font-size:.8rem; color:var(--text-muted); line-height:1.3; }
.vn-op em { grid-area:em; font-style:normal; font-size:.76rem; font-weight:700; color:var(--dark-soft); margin-top:2px; }
.vn-test { margin-top:16px; font-size:.9rem; color:var(--dark-soft); }
.vn-test a { color:var(--mint-deep); font-weight:700; }

/* ─── Tabla ─── */
.vb-lista { margin-bottom:56px; padding:26px clamp(16px,3vw,32px); }
.vb-lista h2 { font-size:1.5rem; letter-spacing:-.03em; }
.vb-intro { margin-top:8px; font-size:.95rem; max-width:820px; }
.vb-intro + .vb-intro { margin-top:6px; }
.vb-filtros { margin:18px 0 12px; display:grid; gap:10px; }
.vb-filtros:empty { display:none; }
.vb-f-fila { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.vb-buscar { flex:1 1 260px; display:flex; align-items:center; gap:8px; background:var(--bg-body); border:1px solid var(--border); border-radius:100px; padding:0 14px; min-width:0; }
.vb-buscar svg { width:18px; height:18px; flex:none; fill:none; stroke:var(--text-muted); stroke-width:2; stroke-linecap:round; }
.vb-buscar input { flex:1; min-width:0; border:none; background:none; font-family:inherit; font-size:1rem; color:var(--navy); padding:10px 0; }
.vb-buscar input:focus { outline:none; }
.vb-buscar:focus-within { outline:2px solid var(--mint); outline-offset:1px; background:#fff; }
.vb-sel { display:inline-flex; align-items:center; gap:8px; font-size:.84rem; font-weight:700; color:var(--text-muted); }
.vb-f-acc { margin-left:auto; display:flex; gap:4px; flex-wrap:wrap; }
.vb-f-info { font-size:.88rem; color:var(--dark-soft); background:var(--mint-tint); border-radius:12px; padding:8px 12px; }
.vb-cuenta { font-size:.82rem; font-weight:700; color:var(--text-muted); }

.vb-tabla-wrap { border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.vb-tabla { width:100%; border-collapse:collapse; font-size:.95rem; }
.vb-tabla th, .vb-tabla td { padding:9px 14px; text-align:left; border-bottom:1px solid var(--border); vertical-align:top; }
.vb-tabla thead th { color:var(--text-muted); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--bg-body); }
.vb-tabla tbody th { color:var(--navy); font-weight:800; }
.vb-tabla tbody td:nth-child(2), .vb-tabla tbody td:nth-child(3) { color:var(--dark); font-weight:600; }
.vb-tabla tbody td:nth-child(4) { color:var(--text-main); }
.vb-tabla tbody tr:nth-child(even) { background:#fbfbfc; }
.vb-tabla tbody tr:last-child th, .vb-tabla tbody tr:last-child td { border-bottom:0; }
.vb-tabla tr[hidden] { display:none !important; }
.vb-us { display:block; font-size:.74rem; font-weight:600; color:var(--text-muted); }
.vb-nota { display:block; font-size:.78rem; color:var(--aviso); margin-top:2px; }
.vb-pat { display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.04em; color:var(--navy); background:var(--navy-tint); border-radius:100px; padding:2px 8px; white-space:nowrap; }
.vb-vacia td { text-align:center !important; color:var(--text-muted); padding:22px 14px !important; }
.vb-print-pie { display:none; }

/* ─── Práctica ─── */
.vp { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); grid-template-areas:"tarjeta ajustes" "tarjeta fallos"; gap:20px; align-items:start; }
.vp-ajustes { grid-area:ajustes; }
.vp-tarjeta { grid-area:tarjeta; padding:26px clamp(18px,3vw,32px); }
.vp-fallos { grid-area:fallos; }
.vp-fila { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-bottom:12px; }
.vp-et { font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); min-width:74px; }
.vp-info { font-size:.86rem; color:var(--dark-soft); margin-top:2px; }
.vp-dom { margin-top:12px; font-size:.82rem; font-weight:700; color:var(--text-muted); }
.vp-dom i { display:block; height:8px; border-radius:100px; background:var(--navy-tint); overflow:hidden; margin-bottom:5px; position:relative; }
.vp-dom i::after { content:''; position:absolute; inset:0 auto 0 0; width:var(--p); background:var(--mint-deep); border-radius:100px; }

.vp-aviso { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:.86rem; font-weight:600; color:var(--aviso); background:var(--aviso-tint); border-radius:12px; padding:6px 6px 6px 12px; margin-bottom:14px; }
.vp-kick { font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mint-deep); }
.vp-prompt { margin:10px 0 18px; }
.vp-prompt b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:2.4rem; font-weight:800; color:var(--navy); letter-spacing:-.03em; line-height:1.1; overflow-wrap:anywhere; }
.vp-prompt span { display:block; margin-top:4px; font-size:1rem; color:var(--text-muted); }
.vp-campos { display:grid; gap:12px; }
.vp-n2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vp-n3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vp-campo { position:relative; min-width:0; }
.vp-campo label { display:block; font-size:.78rem; font-weight:700; color:var(--dark-soft); margin-bottom:4px; }
.vp-campo input, .vx-campo input { width:100%; font-family:inherit; font-size:1.1rem; font-weight:600; color:var(--navy); padding:10px 34px 10px 12px; border:1px solid #c9cfda; border-radius:12px; background:var(--bg-body); transition:border-color .2s ease, background .2s ease; }
.vp-campo input:focus, .vx-campo input:focus { outline:2px solid var(--mint); outline-offset:1px; background:#fff; }
.vp-marca { position:absolute; right:10px; bottom:11px; font-weight:800; font-size:1rem; line-height:1; }
.st-ok input { border-color:var(--ok); background:var(--ok-tint); color:#14684a; }
.st-ok .vp-marca { color:var(--ok); }
.st-mal input { border-color:var(--mal); background:var(--mal-tint); color:#8a2219; }
.st-mal .vp-marca { color:var(--mal); }
input[readonly] { cursor:default; }
.vp-fb { margin-top:16px; }
.vp-fb:empty { display:none; }
.vp-falta { font-size:.9rem; font-weight:600; color:var(--aviso); }
.vp-res { border-radius:14px; padding:14px 16px; border:1px solid; }
.vp-res.ok { background:var(--ok-tint); border-color:#b6e6d1; }
.vp-res.mal { background:var(--mal-tint); border-color:#f3c4bf; }
.vp-res-t b { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.1rem; color:var(--navy); }
.vp-sol { margin-top:4px; color:var(--dark-soft); }
.vp-sol b { color:var(--navy); font-size:1.05rem; }
.vp-pistas { margin:6px 0 0; padding-left:18px; font-size:.9rem; color:var(--dark-soft); }
.vp-nota { margin-top:6px; font-size:.86rem; color:var(--aviso); }
.vp-srs { margin-top:6px; font-size:.82rem; font-weight:600; color:var(--text-muted); }
.vp-srs.ok { color:var(--ok); }
.vp-acc { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:16px; }
.vp-acc small { font-size:.8rem; color:var(--text-muted); }
.vp-sesion { margin-top:12px; font-size:.82rem; font-weight:600; color:var(--text-muted); }
.vp-sesion:empty { display:none; }
.vp-vacio { color:var(--dark-soft); margin-bottom:12px; }

.vp-h { font-size:1.1rem; letter-spacing:-.02em; display:flex; align-items:center; gap:8px; }
.vp-h span { font-family:'Inter',sans-serif; font-size:.74rem; font-weight:800; color:#fff; background:var(--mal); border-radius:100px; padding:1px 8px; }
.vp-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.vp-chip { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-family:inherit; font-size:.86rem; font-weight:700; color:var(--navy); background:var(--bg-surface); border:1px solid var(--border); border-radius:100px; padding:5px 6px 5px 12px; }
.vp-chip small { font-size:.68rem; font-weight:800; color:#8a2219; background:var(--mal-tint); border-radius:100px; padding:1px 7px; }
.vp-chip:hover { border-color:var(--navy); }
.vp-f-acc { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:14px; }
.vp-borrar { margin-top:14px; padding-top:10px; border-top:1px solid var(--border); }
.vp-borrar .lnk { padding-left:0; padding-right:0; font-size:.8rem; }

/* ─── Examen ─── */
.vx-inicio h2 { font-size:1.35rem; letter-spacing:-.02em; }
.vx-inicio > p { margin:6px 0 0; color:var(--dark-soft); max-width:720px; }
.vx-reglas { margin:12px 0 18px; padding-left:20px; font-size:.92rem; display:grid; gap:3px; }
.vx-inicio .vp-info { margin-bottom:16px; }
.vx-hist { margin-top:22px; }
.vx-hist h3 { font-size:.95rem; margin-bottom:6px; }
.vx-hist ul { list-style:none; }
.vx-hist li { display:grid; grid-template-columns:64px minmax(0,1fr) 48px 44px; gap:10px; align-items:center; padding:7px 0; border-top:1px solid var(--border); font-size:.88rem; color:var(--dark-soft); }
.vx-hist b { text-align:right; font-variant-numeric:tabular-nums; font-size:1rem; }
.vx-hist b.ok { color:var(--ok); } .vx-hist b.mal { color:var(--mal); }

body.vx-on nav { position:relative; }
.vx-barra { position:sticky; top:0; z-index:40; display:flex; align-items:center; gap:8px 18px; flex-wrap:wrap; background:#1f2533; color:#e5e8ef; border-radius:16px; padding:12px 14px 12px 20px; box-shadow:var(--shadow-lg); }
.vx-b-t { flex:1; min-width:180px; font-size:.9rem; }
.vx-b-t b { color:#fff; }
.vx-b-prog { font-size:.86rem; color:#b6bdcc; }
.vx-b-prog b { color:#fff; font-variant-numeric:tabular-nums; }
.vx-b-reloj { display:flex; flex-direction:column; align-items:flex-end; line-height:1.1; }
.vx-b-reloj b { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.35rem; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; }
.vx-b-reloj small { font-size:.7rem; color:#b6bdcc; }
.vx-barra.fuera .vx-b-reloj b { color:#f6c76b; }
.vx-b-acc { display:flex; gap:6px; align-items:center; }
.vx-salir { color:#b6bdcc; }
.vx-salir:hover { background:rgba(255,255,255,.08); color:#fff; }
.vx-barra .vb-btn { background:#fff; color:#1f2533; }
.vx-barra .vb-btn:hover { background:#e5e8ef; }
.vx-pasado { background:var(--aviso-tint); color:var(--aviso); border-radius:12px; padding:10px 14px; font-size:.9rem; font-weight:600; }
.vx-hoja { padding:22px clamp(16px,3vw,32px); }
.vx-lista, .vx-rev { list-style:none; display:grid; }
.vx-fila { display:grid; grid-template-columns:30px minmax(0,190px) minmax(0,1fr); gap:8px 14px; align-items:end; padding:12px 0; border-top:1px solid var(--border); }
.vx-fila:first-child { border-top:0; padding-top:0; }
.vx-n { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:100px; background:var(--navy); color:#fff; font-size:.74rem; font-weight:800; font-variant-numeric:tabular-nums; align-self:center; }
.vx-q { align-self:center; min-width:0; }
.vx-q b { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.15rem; color:var(--navy); overflow-wrap:anywhere; }
.vx-campos { display:grid; gap:10px; }
.vx-campo { min-width:0; }
.vx-campo span { display:block; font-size:.72rem; font-weight:700; color:var(--text-muted); margin-bottom:3px; }
.vx-campo input { font-size:1rem; padding:8px 10px; }
.vx-final { text-align:center; padding-top:18px; }

.vx-res-top { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.vx-nota { display:flex; align-items:baseline; gap:2px; border-radius:18px; padding:14px 22px; }
.vx-nota.ok { background:var(--ok-tint); } .vx-nota.mal { background:var(--mal-tint); }
.vx-nota b { font-family:'Plus Jakarta Sans',sans-serif; font-size:3.4rem; font-weight:800; line-height:1; letter-spacing:-.04em; color:var(--navy); font-variant-numeric:tabular-nums; }
.vx-nota span { font-weight:800; color:var(--text-muted); }
.vx-label { display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.vx-calif { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.35rem; font-weight:800; color:var(--navy); }
.vx-datos { margin-top:4px; font-size:.86rem; font-weight:600; color:var(--text-muted); }
.vx-acc { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin-top:18px; }
.vx-rev-h { font-size:1.05rem; margin-bottom:10px; }
.vx-r { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:start; padding:10px 0; border-top:1px solid var(--border); }
.vx-r .vx-n { align-self:start; }
.vx-r.ok .vx-n { background:var(--ok); } .vx-r.mal .vx-n { background:var(--mal); }
.vx-r-t b { color:var(--navy); }
.vx-tr { color:var(--text-muted); font-size:.88rem; }
.vx-r-t small { display:block; font-size:.84rem; color:var(--dark-soft); margin-top:2px; }
.vx-r-t s { color:var(--mal); text-decoration-thickness:1.5px; }
.vx-pts { font-size:.8rem; font-weight:800; color:var(--navy); background:var(--navy-tint); border-radius:100px; padding:2px 9px; font-variant-numeric:tabular-nums; }

/* ─── Preguntas frecuentes y texto (como en la calculadora) ─── */
.faq-calc { max-width:820px; margin:0 auto 72px; }
.faq-calc h2 { font-size:1.5rem; letter-spacing:-.03em; margin-bottom:14px; }
.faq-calc h2:not(:first-child) { margin-top:36px; }
.faq-calc > p { font-size:.95rem; margin-bottom:12px; }
.faq-calc details { background:var(--bg-surface); border:1px solid var(--border); border-radius:14px; padding:14px 18px; margin-bottom:10px; }
.faq-calc summary { cursor:pointer; font-weight:700; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:12px; }
.faq-calc summary::-webkit-details-marker { display:none; }
.faq-calc summary::after { content:'+'; color:var(--text-muted); font-weight:500; }
.faq-calc details[open] summary::after { content:'−'; }
.faq-calc details p { margin-top:8px; font-size:.94rem; color:var(--text-main); }
.vb-patrones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.vb-patrones div { background:var(--bg-surface); border:1px solid var(--border); border-radius:14px; padding:12px 16px; }
.vb-patrones b { display:block; font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:1.05rem; }
.vb-patrones p { font-size:.9rem; margin-top:2px; }
.vb-patrones i { font-style:normal; font-weight:600; color:var(--dark); }

@media (max-width:900px) {
  .vn-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vp { grid-template-columns:1fr; grid-template-areas:"ajustes" "tarjeta" "fallos"; }
  .vx-fila { grid-template-columns:30px minmax(0,1fr); }
  .vx-campos { grid-column:1 / -1; }
}
@media screen and (max-width:600px) {
  .cc-card { padding:18px 16px; }
  .vb-modos { gap:6px; }
  .vb-modos button { flex-direction:column; gap:3px; font-size:.86rem; padding:10px 4px; }
  .seg { display:flex; width:100%; }
  .seg button { flex:1; padding:8px 6px; font-size:.8rem; white-space:normal; line-height:1.2; }
  .vp-fila { margin-bottom:10px; }
  .vp-fila select { flex:1; }
  .vp-prompt b { font-size:1.9rem; }
  .vp-n3 { grid-template-columns:1fr; }
  .vp-n3 .vp-campo:first-child { grid-column:auto; }
  .vb-f-acc { margin-left:0; }
  .vb-sel { flex:1 1 140px; }
  .vb-sel select { flex:1; min-width:0; }
  /* La tabla, de filas a fichas: las tres formas en una línea y la
     traducción debajo. Sin scroll horizontal ni en 320 px. */
  .vb-lista { padding:20px 14px; }
  .vb-tabla, .vb-tabla thead, .vb-tabla tbody { display:block; }
  .vb-tabla tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:8px; padding:8px 10px; border-bottom:1px solid var(--border); }
  .vb-tabla th, .vb-tabla td { padding:0; border:0; overflow-wrap:anywhere; font-size:.88rem; }
  .vb-tabla thead tr { padding:6px 10px; }
  .vb-tabla thead th { font-size:.64rem; background:none; }
  .vb-tabla thead th:nth-child(n+4) { display:none; }
  .vb-tabla tbody td:nth-child(4) { grid-column:1 / 3; grid-row:2 / span 2; margin-top:2px; font-size:.84rem; }
  .vb-tabla tbody td:nth-child(5) { grid-column:3; grid-row:2; justify-self:end; margin-top:2px; }
  .vb-tabla tbody td:nth-child(6) { grid-column:3; grid-row:3; justify-self:end; margin-top:3px; }
  .vn-grid { grid-template-columns:1fr; gap:8px; }
  .vn-op { padding:11px 14px; }
  .vn-op b { font-size:1.6rem; }
  .vb-tabla tbody tr:last-child { border-bottom:0; }
  .vb-vacia td { grid-column:1 / -1; }
  .vb-patrones { grid-template-columns:1fr; }
  .vx-barra { padding:10px 12px; border-radius:12px; gap:4px 12px; }
  .vx-b-t { min-width:100%; font-size:.8rem; }
  .vx-b-prog > span { display:none; }
  .vx-b-reloj b { font-size:1.15rem; }
  .vx-b-acc { margin-left:auto; gap:2px; }
  .vx-barra .vb-btn { padding:8px 14px; font-size:.84rem; }
  .vx-salir { padding:6px 8px; }
  .vx-campos.vp-n3 { grid-template-columns:1fr; }
  .vx-nota b { font-size:2.8rem; }
  .vx-hist li { grid-template-columns:56px minmax(0,1fr) 40px; }
  .vx-hist li span:nth-child(3) { display:none; }
}
@media (prefers-reduced-motion: reduce) { .vb *, .seg button, .vb-btn { transition:none !important; } }

/* ─── Impresión: solo la tabla, tal como esté filtrada ─── */
@page { margin:14mm 12mm; }
@media print {
  nav, .wt-hero, footer, #he-cc, .vb, .vb-filtros, .faq-calc, .vb-intro, noscript { display:none !important; }
  body { background:#fff; color:#000; }
  .wt-wrap { max-width:none; padding:0; }
  .vb-lista, .vb-lista[hidden] { display:block !important; border:0; box-shadow:none; padding:0; margin:0; border-radius:0; }
  .vb-lista h2 { font-size:15pt; margin-bottom:8px; color:#000; }
  .vb-tabla-wrap { border:0; border-radius:0; overflow:visible; }
  .vb-tabla { font-size:9.5pt; }
  .vb-tabla th, .vb-tabla td { padding:3px 6px; border-bottom:1px solid #ccc; }
  .vb-tabla thead { display:table-header-group; }
  .vb-tabla thead th { background:none; color:#333; font-size:7.5pt; }
  .vb-tabla tbody th, .vb-tabla tbody td { color:#000 !important; }
  .vb-tabla tbody tr:nth-child(even) { background:none; }
  .vb-tabla tr { break-inside:avoid; page-break-inside:avoid; }
  .vb-pat, .vb-nv { background:none; padding:0; color:#333; }
  .vb-nota, .vb-us { color:#444; font-size:7.5pt; }
  .vb-vacia { display:none !important; }
  .vb-print-pie { display:block; margin-top:8px; font-size:8pt; color:#555; }
}
