:root{--fondo: #0a0a0f;--superficie: #16161d;--superficie-alt: #21212b;--borde: #2e2e3a;--texto: #f5f5f7;--texto-sec: #9b9baa;--acento: #6c5ce7;--ok: #16c47f;--error: #ff4757;--alerta: #ffa502;--radio: 14px}*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.contenedor{max-width:880px;margin:0 auto;padding:20px 16px 90px}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.02em}h1{font-size:26px}h2{font-size:19px}.leyenda{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--texto-sec);font-weight:600}.sec{color:var(--texto-sec)}.mono{font-variant-numeric:tabular-nums}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:18px}label{display:block;margin:14px 0 6px;font-size:13px;color:var(--texto-sec);font-weight:500}input,select,textarea{width:100%;padding:13px 14px;font-size:16px;color:var(--texto);background:var(--superficie-alt);border:1px solid var(--borde);border-radius:11px;outline:none;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--acento)}input::placeholder{color:#6a6a7a}.boton{width:100%;padding:15px;font-size:16px;font-weight:600;color:#fff;background:var(--acento);border:none;border-radius:11px;cursor:pointer;font-family:inherit;min-height:48px}.boton:disabled{opacity:.5;cursor:default}.boton.secundario{background:var(--superficie-alt);color:var(--texto)}.boton.peligro{background:transparent;color:var(--error)}.icono-accion{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:transparent;color:var(--texto-sec);cursor:pointer}.icono-accion:hover{background:var(--superficie-alt);color:var(--texto)}.navegacion{display:flex;gap:4px;background:var(--superficie);border:1px solid var(--borde);border-radius:12px;padding:4px;margin:16px 0;overflow-x:auto;scrollbar-width:none}.navegacion::-webkit-scrollbar{display:none}.navegacion button{flex:1;white-space:nowrap;padding:11px 14px;font-size:14px;font-weight:550;color:var(--texto-sec);background:transparent;border:none;border-radius:9px;cursor:pointer;font-family:inherit;min-height:44px}.navegacion button[data-activo=true]{background:var(--acento);color:#fff}.fila{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--borde)}.fila:last-child{border-bottom:none}.fila-texto{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0}.fila-texto>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.chip.ok{background:#16c47f29;color:var(--ok)}.chip.pendiente{background:#9b9baa29;color:var(--texto-sec)}.chip.alerta{background:#ffa50229;color:var(--alerta)}.resultado{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;animation:aparecer .14s ease-out}@keyframes aparecer{0%{opacity:0}to{opacity:1}}.resultado.permitido{background:#0d7a4f}.resultado.ya_usado{background:#b31f2b}.resultado.otro_evento{background:#a15c00}.resultado.desconocido{background:#3a3a48}.resultado h1{font-size:34px;margin-bottom:6px}.resultado .nombre{font-size:25px;font-weight:600;margin-top:18px}.resultado .detalle{opacity:.9;margin-top:6px;font-size:15px}.camara{width:100%;aspect-ratio:1;min-height:260px;max-height:62vh;object-fit:cover;border-radius:var(--radio);background:#000;display:block}.tabla-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-sec);padding:10px 8px;border-bottom:1px solid var(--borde);white-space:nowrap}td{padding:12px 8px;border-bottom:1px solid var(--borde)}@media(max-width:520px){.contenedor{padding:14px 12px 80px}h1{font-size:22px}.navegacion button{flex:none}}
