:root{
  --bg:#F4F6F3; --card:#FFFFFF; --ink:#16231B; --muted:#5E6B63; --line:#DDE3DD;
  --verde:#1F8A4C; --verde-2:#E6F3EA; --ambar:#E39A1E; --rojo:#C8412F; --azul:#2563A8;
  --radio:14px; --sombra:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.05);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit}
button,input,select{font:inherit}
.top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:#fff;position:sticky;top:0;z-index:10}
.top h1{font-size:16px;margin:0;font-weight:650;flex:1}
.top a.volver{color:#cfe;text-decoration:none;font-size:20px;line-height:1}
.estado{font-size:12px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);padding:4px 10px;border-radius:99px}
.punto{width:8px;height:8px;border-radius:50%;background:#7c7}
.punto.off{background:#e77}
.wrap{max-width:560px;margin:0 auto;padding:16px}
.card{background:var(--card);border-radius:var(--radio);box-shadow:var(--sombra);padding:16px;margin-bottom:14px}
.card h2{font-size:14px;margin:0 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:650}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
select,input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px}
input.grande{font-size:30px;font-weight:700;text-align:center;letter-spacing:.02em}
.btn{display:block;width:100%;padding:14px;border:0;border-radius:12px;background:var(--verde);color:#fff;font-weight:650;font-size:16px;cursor:pointer;margin-top:14px}
.btn.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ambar{background:var(--ambar)}
.btn:disabled{opacity:.5}
.fila{display:flex;gap:10px}
.fila>*{flex:1}
.lista{list-style:none;margin:0;padding:0}
.lista li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.lista li:last-child{border:0}
.chip{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--verde-2);color:var(--verde);font-weight:650;white-space:nowrap}
.chip.pend{background:#FDF1DC;color:#9A6200}
.chip.rojo{background:#FBE6E2;color:var(--rojo)}
.muted{color:var(--muted);font-size:13px}
.modal{position:fixed;inset:0;background:rgba(10,20,15,.6);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal.on{display:flex}
.modal .card{max-width:380px;width:100%;text-align:center}
#qr{display:flex;justify-content:center;margin:12px 0}
.dato{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.dato b{font-weight:650}
.big{font-size:28px;font-weight:750}
.aviso{padding:10px 12px;border-radius:10px;font-size:14px;margin-top:10px}
.aviso.ok{background:var(--verde-2);color:#145C33}
.aviso.mal{background:#FBE6E2;color:#8E2A1C}
.aviso.med{background:#FDF1DC;color:#7A4E00}
.demo-tag{font-size:11px;background:var(--ambar);color:#231600;padding:2px 8px;border-radius:99px;font-weight:700}
