:root{--c:#1d4ed8;--g:#475569;--b:#e2e8f0}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:#0f172a;background:#f8fafc}
.caja{max-width:720px;margin:1.5rem auto;padding:1.25rem;background:#fff;border:1px solid var(--b);border-radius:10px}.ancha{max-width:1100px}
.barra{display:flex;gap:1rem;align-items:center;padding:.6rem 1rem;background:#fff;border-bottom:1px solid var(--b)}.barra nav{display:flex;gap:.5rem;flex-wrap:wrap}
button,.btn{background:var(--c);color:#fff;border:0;border-radius:6px;padding:.55rem 1rem;font:inherit;cursor:pointer}button.sec{background:#fff;color:var(--c);border:1px solid var(--c)}button:disabled{opacity:.5}
input,select,textarea{width:100%;padding:.5rem;border:1px solid #94a3b8;border-radius:6px;font:inherit}label{display:block;margin:.6rem 0}textarea{min-height:180px}
.opcion{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0;padding:.5rem;border:1px solid var(--b);border-radius:6px}.opcion input{width:auto;margin-top:.3rem}
.mut{color:var(--g);font-size:.9rem}.err{color:#b91c1c}.ok{color:#15803d}.aviso{background:#fef9c3;border:1px solid #facc15;border-radius:6px;padding:.6rem;margin:.6rem 0}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.4rem;border-bottom:1px solid var(--b);font-size:.92rem}tr.fila{cursor:pointer}tr.fila:hover{background:#f1f5f9}
.tiempo{float:right;font-weight:700}.cards{display:flex;gap:.75rem;flex-wrap:wrap}.card{border:1px solid var(--b);border-radius:8px;padding:.6rem 1rem;min-width:140px}.card b{display:block;font-size:1.4rem}
.bloque{display:block}
