/* QR studio and Analytics (model dashboard, dark theme). */
.qr-studio{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:18px;align-items:start;margin-bottom:18px}
.qr-controls{display:grid;gap:12px}.qr-controls h2{margin:0}
.qr-controls label{display:grid;gap:6px;font-size:12px;color:#b9b9c2}
.qr-controls select,.qr-controls input:not([type=checkbox]){background:#121216;border:1px solid #2c2c33;border-radius:8px;color:#f1f1f4;padding:9px 10px;font:inherit}
.qr-controls .qr-check{display:flex;align-items:center;gap:8px}
.qr-preview{display:grid;justify-items:center;gap:10px;padding:22px;border:1px solid #27272e;border-radius:16px;background:radial-gradient(circle at 30% 20%,#1d1d24,#0d0d10)}
#qrPreview{width:min(100%,360px)}
.qr-scan{margin:0;font-size:13px;font-weight:600;color:#a3a3ad}.qr-scan.ok,.qr-check-line.ok{color:#5ed39a}.qr-scan.bad,.qr-check-line.bad{color:#ff7a8a}
.qr-card{border-radius:22px;padding:18px;display:grid;gap:12px;justify-items:center;text-align:center;box-shadow:0 18px 50px #0007}
.qr-card svg{width:100%;height:auto;display:block}
.qr-card b{font-size:20px;line-height:1.1}.qr-card small{font-size:12px;opacity:.7}
.qr-card-nametag{background:#fff;color:#111}.qr-card-nametag b{font-size:24px;font-weight:800;letter-spacing:.5px}
.qr-card-theme{background:linear-gradient(160deg,#f3ece2,#e7d6c4);color:#2b2118}.qr-card-theme .qr-frame{background:#fff;border-radius:16px;padding:12px;width:100%}
.qr-card-call{background:#0f0f10;color:#f1ede4;justify-items:stretch;text-align:start}
.qr-card-head{display:flex;gap:10px;align-items:center}.qr-card-head img{width:44px;height:44px;border-radius:50%;object-fit:cover}.qr-card-head span{display:grid;gap:2px}
.qr-card-call .qr-frame{background:#f1ede4;border-radius:16px;padding:12px}
.qr-card-foot{display:flex;justify-content:space-around;font-size:12px;color:#cfc9bb;font-weight:600}
.qr-list{display:grid;gap:10px}
.qr-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:10px;border:1px solid #27272e;border-radius:12px}
.qr-thumb{background:#fff;border-radius:8px;padding:4px}.qr-thumb svg{width:100%;height:auto;display:block}
.qr-row-text{display:grid;gap:3px}.qr-row-text small{color:#9a9aa4}
.qr-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.an-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.an-head h2{margin:0}
.an-range{display:flex;gap:4px;background:#121216;border:1px solid #2c2c33;border-radius:999px;padding:3px}
.an-range button{border:0;background:none;color:#a3a3ad;padding:6px 12px;border-radius:999px;font:inherit;font-size:12px;cursor:pointer}.an-range [aria-pressed=true]{background:#2a2a31;color:#fff}
.an-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.an-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}.an-grid h3{margin:0 0 12px;font-size:14px}
.an-bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.an-bars li{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:10px;align-items:center;font-size:12px}
.an-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d4d4da}
.an-bar{height:8px;border-radius:99px;background:#1e1e24;overflow:hidden}.an-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#cf29bf,#ff548c)}
/* From visit to paying fan */
.an-funnel{margin-top:14px}.an-funnel h3{margin:0 0 6px;font-size:14px}.an-funnel h3+p{margin:0 0 14px;font-size:12px}.an-funnel h3:not(:first-child){margin-top:18px}
.an-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.an-steps li{background:#121216;border:1px solid #26262c;border-radius:12px;padding:10px;display:grid;gap:2px;min-width:0}
.an-steps small{font-size:10px;color:#8d8d97;letter-spacing:.04em}.an-steps strong{font-size:18px}.an-steps em{font-style:normal;font-size:11px;color:#a3a3ad}
.an-funnel-table{width:100%;border-collapse:collapse;font-size:12px}.an-funnel-table th{text-align:left;font-weight:500;color:#8d8d97;padding:6px 8px;white-space:nowrap}
.an-funnel-table td{padding:8px;border-top:1px solid #222228;white-space:nowrap}.an-funnel-table td small{display:block;color:#8d8d97;font-size:10px}
@media (max-width:820px){.qr-studio{grid-template-columns:1fr}.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.an-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.an-steps li{padding:9px 8px}.an-steps strong{font-size:15px;overflow-wrap:anywhere}.qr-row{grid-template-columns:56px 1fr}.qr-row-actions{grid-column:1/-1;justify-content:flex-start}}

/* "You're live" pop-up after publishing */
.qr-live{width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #2b2b2e;border-radius:26px;background:#18181b;color:#f4f4f6;padding:0}
.qr-live::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.qr-live[open]{animation:qr-live-in .45s cubic-bezier(.22,1,.36,1)}
@keyframes qr-live-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qr-live[open]{animation:none}}
.qr-live-inner{display:grid;gap:14px;padding:22px}
.qr-live-badge{justify-self:start;font-size:12px;font-weight:700;color:#7fe0ad;background:rgba(80,200,140,.12);padding:4px 10px;border-radius:999px}
.qr-live h2{margin:0;font-size:26px}.qr-live p{margin:-6px 0 0;color:#a6a6ae;font-size:14px}
.qr-live-card{display:grid;justify-items:center;gap:6px;padding:20px 20px 18px;border-radius:22px;background:linear-gradient(160deg,var(--qr-bg),color-mix(in srgb,var(--qr-accent) 30%,var(--qr-bg)));color:var(--qr-ink)}
.qr-live-card .qr-frame{background:#fff;border-radius:18px;padding:12px;width:100%;max-width:260px;aspect-ratio:1;display:grid;place-items:center}
.qr-live-card .qr-frame svg{width:100%;height:auto;display:block}
.qr-live-card b{font-size:20px;margin-top:6px}.qr-live-card small{opacity:.75}
.qr-live-link{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid #2f2f34;border-radius:999px;background:#111114;font-size:13px}
.qr-live-link span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qr-live-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qr-live-actions .btn{min-height:46px}
.qr-live-foot{display:flex;justify-content:space-between;align-items:center}.qr-live-foot a{color:#d8d8de;font-size:14px}
/* Locked QR (30 Oct 2026): her real-looking card, blurred */
.qr-locked{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:28px;align-items:center}
.qr-locked-frame{position:relative;border-radius:24px;overflow:hidden}
.qr-locked-frame .qr-card{margin:0;width:100%;filter:blur(2.6px);transform:scale(1.01);user-select:none;pointer-events:none}
.qr-locked-frame .qr-frame{aspect-ratio:1}.qr-locked-frame .qr-frame svg{display:block;width:100%;height:auto}
.qr-locked-blank{background:repeating-linear-gradient(45deg,#ddd 0 6px,#fff 6px 12px)!important}
.qr-locked-text h2{margin:0 0 6px}.qr-locked-text .btn{margin:10px 0}
@media(max-width:640px){.qr-locked{grid-template-columns:1fr;justify-items:center;text-align:center}.qr-locked-frame{width:220px}}
