/* pay-qr.css — payment QR generators (assets/js/pay-qr.js) */
#studio.ps{display:block}
.pq{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;text-align:left;color:var(--text,#1e2635)}
.pq-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.pq-side{position:sticky;top:calc(var(--ps-top,0px) + 12px);display:flex;flex-direction:column;gap:10px;min-width:0}
.pq-card{background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:16px;padding:16px 18px;min-width:0}
.pq-card h3{margin:0 0 12px;font-size:15px}
.pq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pq-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.pq-f.wide{grid-column:1/-1}
.pq-f span{font-size:12.5px;font-weight:600;color:var(--muted,#5a6377)}
.pq-f input{height:42px;border:1px solid var(--border,#e4e9f2);border-radius:10px;padding:0 12px;background:var(--panel,#fff);color:inherit;font:inherit;font-size:14.5px;min-width:0;box-sizing:border-box;width:100%}
.pq-f input:focus{outline:0;border-color:var(--accent,#4f6ef7);box-shadow:0 0 0 3px var(--accent-soft,#eef1fe)}
.pq-st{font-size:13px;padding:7px 10px;border-radius:9px;margin-top:10px}
.pq-st.good{background:#f0fdf4;color:#166534}.pq-st.bad{background:#fef2f2;color:#991b1b;margin-top:6px}
.pq-payload{margin:0;background:var(--field,#f8fafc);border:1px solid var(--border,#e4e9f2);border-radius:10px;padding:10px 12px;font:12.5px/1.55 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}
.pq-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.pq-acts .ps-go,.pq-acts .ps-btn{flex:1;width:auto;margin:0}
.pq-ticket{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px}
.pq-qr svg{width:240px;height:240px;display:block}
.pq-noqr{width:240px;height:240px;display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--border-2,#dfe4ee);border-radius:12px;color:var(--faint,#8a94a7);font-size:13px;padding:20px;box-sizing:border-box}
.pq-ticket b{font-size:16px;margin-top:8px;overflow-wrap:anywhere}
.pq-ticket span{font-size:12.5px;color:var(--muted,#5a6377);overflow-wrap:anywhere}
.pq-ticket strong{font-size:20px}
.pq-hint{font-size:12.5px;color:var(--muted,#5a6377);margin:0;line-height:1.5}
.pq-tlv{border-collapse:collapse;width:100%;font-size:12.5px;margin-top:10px}
.pq-tlv th,.pq-tlv td{border-bottom:1px solid var(--border,#eef1f6);padding:5px 8px;text-align:left;overflow-wrap:anywhere}
@media (max-width:900px){.pq{grid-template-columns:minmax(0,1fr)}.pq-side{position:static;order:-1}}
@media (max-width:600px){.pq-grid{grid-template-columns:minmax(0,1fr)}.pq-card{padding:14px}}
/* v2 studio: tabs, import, design, poster preview, bulk, camera */
.pq-tabs{display:flex;gap:4px;background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:12px;padding:4px;width:max-content;max-width:100%}
.pq-tabs button,.pq-seg button{border:0;background:none;padding:8px 14px;border-radius:9px;font:600 13.5px inherit;font-family:inherit;color:var(--muted,#5a6377);cursor:pointer;min-width:0}
.pq-tabs button.on,.pq-seg button.on{background:var(--accent-soft,#eef1fe);color:var(--accent-dark,#3a52c4)}
.pq-pane{display:flex;flex-direction:column;gap:14px}
.pq-pane[hidden]{display:none}
.pq-imp{border-style:dashed;border-width:2px;background:var(--field,#f8fafc)}
.pq-imp.over{border-color:var(--accent,#4f6ef7);background:var(--accent-soft,#eef1fe)}
.pq-imp-t b{display:block;font-size:14.5px}
.pq-imp-t span{display:block;font-size:12.5px;color:var(--muted,#5a6377);margin-top:3px;line-height:1.5}
.pq-imp .pq-row .ps-btn{width:auto;flex:0 1 auto;margin:0}
.pq-paste{display:flex;gap:8px;margin-top:10px;align-items:flex-start}
.pq-paste textarea,.pq-bulkta{flex:1;width:100%;box-sizing:border-box;border:1px solid var(--border,#e4e9f2);border-radius:10px;padding:8px 10px;font:12.5px/1.5 ui-monospace,Consolas,monospace;background:var(--panel,#fff);color:inherit;resize:vertical;min-width:0}
.pq-paste .ps-btn{width:auto;margin:0}
.pq-st.info{background:var(--field,#f1f5f9);color:var(--text,#1e2635);margin-top:6px}
.pq-st a{font-weight:700}
.pq-seg{display:inline-flex;gap:2px;border:1px solid var(--border,#e4e9f2);border-radius:11px;padding:3px;margin-bottom:12px;flex-wrap:wrap}
.pq-f select,.pq-f .cu-sel{height:42px;width:100%;box-sizing:border-box}
.pq-col input[type=color]{height:42px;padding:3px;width:100%;cursor:pointer}
.pq-f.ps-chk{flex-direction:row;align-items:center;gap:8px;font-size:13.5px;align-self:end;height:42px}
.pq-f[hidden]{display:none}
.pq-design .pq-row .ps-btn{width:auto;flex:1;margin:0}
.pq-prev{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px}
.pq-poster{width:100%;max-width:280px;box-shadow:0 6px 24px rgba(15,23,42,.14);border-radius:6px;overflow:hidden;background:#fff}
.pq-poster svg{display:block;width:100%;height:100%}
.pq-shop{font-size:17px!important;margin:0 0 6px!important}
.pq-acts{display:flex;gap:8px}
.pq-acts>*{flex:1;min-width:0;margin:0!important;width:auto}
.pq-acts .cu-sel{flex:0 0 100px;height:auto}
.pq-tblwrap{max-height:280px;overflow:auto;border:1px solid var(--border,#eef1f6);border-radius:10px}
.pq-bad{color:#b91c1c}
.pq-cam{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.pq-cam-box{position:relative;background:#000;border-radius:16px;overflow:hidden;width:min(480px,100%);display:flex;flex-direction:column}
.pq-cam-box video{width:100%;display:block;max-height:70vh;object-fit:cover}
.pq-cam-frame{position:absolute;left:50%;top:40%;width:56%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.25)}
.pq-cam-box p{color:#fff;text-align:center;margin:10px;font-size:14px}
.pq-cam-box .ps-btn{margin:0 12px 12px;width:auto}
@media (max-width:600px){.pq-tabs{width:100%}.pq-tabs button{flex:1}.pq-acts{flex-wrap:wrap}.pq-paste{flex-direction:column}.pq-paste .ps-btn{width:100%}}
.pq-f input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;padding:0;margin:0;box-shadow:none}
.pq-f.ps-chk{white-space:nowrap}
