:root{--fondo:#e9eee8;--panel:#fbfcf8;--suave:#dfe7dc;--tinta:#20302a;--tenue:#5b6b63;--linea:#c5d1c6;--acento:#44603f;--acento-t:#fbfcf8;--clay:#8c5a35;--ok:#2f6b43;--ok-f:#dcecdf;--mal:#a23a30;--mal-f:#f6dfdb;--esp:#8b5a12;--esp-f:#f5e8cd}
*{box-sizing:border-box}html,body{margin:0;background:var(--fondo);color:var(--tinta);font:16px/1.45 Arial,"Segoe UI",sans-serif}
.app{max-width:520px;margin:0 auto;padding:14px;display:grid;gap:12px}.app.ancha{max-width:1000px}
h1{font:600 26px/1.1 Georgia,serif;margin:4px 0}h2{font:600 21px/1.2 Georgia,serif;margin:0}h3{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--clay);margin:0 0 4px;display:flex;justify-content:space-between}p{margin:0}
.barra{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.barra button{width:auto;padding:9px 12px;font-size:14px}
.panel{background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:15px;display:grid;gap:12px}
label{display:grid;gap:4px;font-size:14px;font-weight:600;color:var(--tenue)}
input,select{width:100%;padding:13px;border:1px solid var(--linea);border-radius:10px;background:#fff;color:var(--tinta);font:inherit;font-size:16px}
button{width:100%;padding:15px;border:0;border-radius:11px;background:var(--acento);color:var(--acento-t);font:700 16px Arial,sans-serif;cursor:pointer}
button.sec{background:var(--suave);color:var(--tinta)}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dos button[aria-pressed=false]{background:var(--suave);color:var(--tinta)}
.saldo{font:600 42px/1 Georgia,serif;font-variant-numeric:tabular-nums}.tenue{color:var(--tenue);font-size:14px}.pendiente{color:var(--esp);font-weight:600;font-size:14px}
.total{display:flex;justify-content:space-between;gap:12px;background:var(--suave);padding:12px;border-radius:10px;font-weight:700}
.msg{padding:12px;border-radius:10px;font-weight:600}.msg.ok{background:var(--ok-f);color:var(--ok)}.msg.mal{background:var(--mal-f);color:var(--mal)}.msg.esp{background:var(--esp-f);color:var(--esp)}
.tilde{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--linea);font-size:15px;color:var(--tinta);font-weight:400;cursor:pointer}
.tilde input{width:24px;height:24px;accent-color:var(--acento);padding:0}.tilde small{display:block;color:var(--tenue)}.tilde b{font-variant-numeric:tabular-nums}
.fila{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--linea)}.fila button{width:auto;padding:9px 12px;font-size:14px}
.tablaw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;min-width:760px}th{text-align:left;color:var(--tenue);font-size:12px;padding:6px}td{padding:7px 6px;border-top:1px solid var(--linea)}
#qr{background:#fff;padding:12px;border-radius:10px;justify-self:center;line-height:0}#qr svg{width:240px;height:240px;max-width:100%}
.enlace{overflow-wrap:anywhere;font-size:13px;color:var(--tenue)}
.acciones{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat{background:var(--suave);border-radius:10px;padding:12px;display:grid;gap:2px}.stat b{font:600 28px/1.1 Georgia,serif;font-variant-numeric:tabular-nums}.stat small{color:var(--tenue)}
.grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:16px}
#t>div{margin-top:16px}#t>.stats{margin-top:0}
.barra-fila{display:grid;gap:4px;padding:9px 0;border-top:1px solid var(--linea)}.barra-nombre{font-weight:600}.barra-grupo{display:grid;gap:4px}.barra-linea{display:flex;align-items:center;gap:8px}.barra{height:12px;border-radius:3px;min-width:2px}.b1{background:var(--acento)}.b2{background:var(--clay)}.b3{background:var(--mal)}
