.pulse-pass-wrap{display:flex;justify-content:center;margin:16px}
.pulse-pass{max-width:360px;border:1px solid #eee;border-radius:16px;padding:16px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.pulse-pass-header{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.pulse-avatar{width:56px;height:56px;border-radius:50%}
.pulse-name{font-weight:700}
.pulse-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.85rem;font-weight:700}
.pulse-status.ok{background:#e7f8ef;color:#0a8f3d}
.pulse-status.bad{background:#fde7ea;color:#c20f2e}
.pulse-qr{width:180px;height:180px;margin:8px auto}
.pulse-token{font-size:.9rem;text-align:center;margin-top:6px}
.pulse-note{color:#666;text-align:center;margin-top:6px}
