:root{--azul:#6b2c91;--bg:#f3f2f1;--card:#fff;--txt:#201f1e;--muted:#605e5c;--linea:#e1dfdd}*{box-sizing:border-box}body{background:var(--bg);color:var(--txt);margin:0;font-family:Segoe UI,system-ui,Arial,sans-serif}header{background:var(--azul);color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;font-size:17px;font-weight:600;display:flex}header .who{opacity:.85;font-size:12px;font-weight:400}main{max-width:900px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--linea);border-radius:10px;margin-bottom:14px;padding:16px}.center{text-align:center;padding:24px}label{color:var(--muted);margin:10px 0 4px;font-size:12px;font-weight:600;display:block}input,textarea,select{border:1px solid var(--linea);border-radius:8px;width:100%;padding:10px;font-size:15px}textarea{resize:vertical;min-height:90px;font-family:monospace}.row{flex-wrap:wrap;gap:12px;display:flex}.row>div{flex:1;min-width:140px}button{cursor:pointer;background:var(--azul);color:#fff;border:none;border-radius:8px;padding:12px 16px;font-size:15px;font-weight:600}button.ghost{color:var(--azul);border:1px solid var(--azul);background:#fff}button.sm{padding:8px 12px;font-size:14px}.enl-row{border-bottom:1px solid var(--linea);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.enl-row .u{color:var(--muted);word-break:break-all;font-size:12px}.tabs{gap:8px;margin-bottom:12px;display:flex}.tabs button{color:var(--azul);border:1px solid var(--azul);background:#fff}.tabs button.on{background:var(--azul);color:#fff}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.qr{border:1px solid var(--linea);text-align:center;background:#fff;border-radius:8px;padding:10px}.qr canvas,.qr img{width:120px!important;height:120px!important}.qr .lab{word-break:break-all;margin-top:6px;font-size:13px;font-weight:700}.spin{border:3px solid var(--linea);border-top-color:var(--azul);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite r;display:inline-block}@keyframes r{to{transform:rotate(360deg)}}@media print{header,.card.controls,.noprint{display:none!important}body{background:#fff}main{max-width:100%;padding:0}.grid{grid-template-columns:repeat(4,1fr);gap:8px}.qr{break-inside:avoid;border:1px solid #ccc}}
