.qr-library{border:1px solid #61748a66;border-radius:14px;padding:16px;margin:0 0 20px;background:#1421360a}
.qr-library h2{font-size:18px;margin:0 0 8px}.qr-library p{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.qr-library button,.qr-library select{font:inherit;min-height:44px;border:1px solid #7892bc;border-radius:9px;padding:10px 12px;cursor:pointer;max-width:100%}
.qr-library button{background:#18233f;color:#fff}.qr-library label{display:block;margin:12px 0}.qr-library select{display:block;width:100%;margin-top:6px}
.qr-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-actions button{flex:1 1 180px}.qr-library summary{cursor:pointer;padding:10px 0}
.qr-record{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px solid #7892bc55;padding:10px 0}.qr-record span{flex:1 1 100%;overflow-wrap:anywhere}
.qr-scanner{position:fixed;inset:0;z-index:95;background:#080d18;color:white}.qr-scanner video{width:100%;height:100%;object-fit:contain}
.qr-scanner-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:start;gap:10px}
.qr-scanner-top p{background:#101827ed;border-radius:10px;padding:12px;margin:0;flex:1;line-height:1.4}
.qr-scanner button{font:inherit;min-height:44px;border-radius:9px;padding:12px;background:#18233f;color:white;border:1px solid #7892bc;cursor:pointer}
.qr-matches{position:absolute;bottom:20px;left:12px;right:12px;display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto}
