:root{--negro: #0a0a08;--negro-suave: #131310;--carbon: #1c1c18;--dorado: #f5b01b;--dorado-claro: #ffd24a;--dorado-tenue: #8a6410;--fuego: #f97316;--rojo: #d92b04;--hueso: #fafaf7;--humo: #a8a8a0;--ceniza: #7c7c74;--font-display: "Anton", sans-serif;--font-sans: "Inter", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--negro);color:var(--hueso);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.app{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:max(env(safe-area-inset-top),20px) 24px max(env(safe-area-inset-bottom),24px);max-width:430px;margin:0 auto}.logo{width:88px;height:88px;object-fit:contain;margin:8px auto 4px;display:block;filter:drop-shadow(0 0 24px rgba(245,176,27,.25))}.marca{font-family:var(--font-display);line-height:.94;letter-spacing:.04em;text-transform:uppercase;font-size:28px;text-align:center;background:linear-gradient(180deg,var(--dorado-claro),var(--dorado));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:2px}.marca-sub{color:var(--ceniza);font-size:11px;letter-spacing:.35em;text-transform:uppercase;text-align:center;margin-bottom:28px}.card{width:100%;background:var(--negro-suave);border:1px solid rgba(245,176,27,.14);border-radius:16px;padding:24px 20px}h1.titulo{font-family:var(--font-display);line-height:.94;letter-spacing:.03em;text-transform:uppercase;font-size:24px;color:var(--hueso);margin-bottom:18px;text-align:center}label{display:block;font-size:12px;color:var(--humo);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 6px}input{width:100%;background:var(--carbon);color:var(--hueso);border:1px solid transparent;border-radius:10px;padding:12px 14px;font-size:16px;font-family:var(--font-sans);outline:none}input:focus{border-color:var(--dorado-tenue)}.gdpr{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:12px;color:var(--humo);line-height:1.45}.gdpr input{width:auto;margin-top:2px;accent-color:var(--dorado)}button.principal{width:100%;margin-top:22px;padding:14px;border:none;border-radius:12px;font-family:var(--font-display);font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--negro);background:linear-gradient(135deg,var(--dorado-claro),var(--dorado) 55%,var(--fuego));cursor:pointer;transition:transform .12s ease,filter .12s ease}button.principal:active{transform:scale(.98)}button.principal:disabled{filter:grayscale(.7) brightness(.6);cursor:default}button.secundario{width:100%;margin-top:12px;padding:12px;border-radius:12px;border:1px solid rgba(245,176,27,.35);background:transparent;color:var(--dorado);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer}.enlace{background:none;border:none;color:var(--dorado);font-size:14px;margin-top:18px;cursor:pointer;display:block;text-align:center;width:100%;font-family:var(--font-sans)}.error{margin-top:14px;padding:12px 14px;border-radius:10px;background:#d92b041f;border:1px solid rgba(217,43,4,.4);color:#ff9d80;font-size:14px;line-height:1.45}.aviso{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f5b01b14;border:1px solid rgba(245,176,27,.3);color:var(--dorado-claro);font-size:14px;line-height:1.5}.estado-pill{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.estado-pill.active{background:#f5b01b24;color:var(--dorado);border:1px solid rgba(245,176,27,.4)}.estado-pill.warn{background:#f9731624;color:var(--fuego);border:1px solid rgba(249,115,22,.4)}.saludo{text-align:center;color:var(--humo);font-size:14px;margin-bottom:22px}.qr-marco{position:relative;width:264px;height:264px;margin:8px auto 0;border-radius:20px;background:var(--hueso);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #f5b01b59,0 0 48px #f5b01b2e}.qr-marco img{width:232px;height:232px;image-rendering:pixelated}.contador{margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--humo);font-size:14px}.contador .num{font-family:var(--font-display);font-size:26px;color:var(--dorado);min-width:44px;text-align:center}.anillo{width:40px;height:40px;transform:rotate(-90deg)}.anillo circle{fill:none;stroke-width:4}.anillo .fondo{stroke:var(--carbon)}.anillo .progreso{stroke:var(--dorado);stroke-linecap:round;transition:stroke-dashoffset 1s linear}.bienvenida{text-align:center;padding:40px 0 24px}.bienvenida .check{font-size:56px;color:var(--dorado);display:block;margin-bottom:12px}.pie{margin-top:auto;padding-top:28px;font-size:11px;color:var(--ceniza);text-align:center;letter-spacing:.05em}
