:root{--bg:#080b10;--bg2:#0d1118;--panel:#111722;--panel2:#171f2c;--line:#273244;--text:#f4f7fb;--muted:#94a0b3;--accent:#7c5cff;--accent2:#a386ff;--ok:#37d399;--danger:#ff7082;--warning:#f3c15f;--shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#1a1630 0,#0d1118 30%,#080b10 72%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}button,input,textarea,select{font:inherit}button,.btn,label[for]{cursor:pointer}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:11px}.small-text{font-size:12px}.eyebrow{margin:0 0 8px;color:#b7a7ff;font-size:10px;font-weight:900;letter-spacing:.18em}.brand-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#6c47f3,#a07cff);display:grid;place-items:center;font-weight:1000;letter-spacing:-.06em;box-shadow:0 15px 30px rgba(124,92,255,.3)}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:13px}.panel{background:linear-gradient(180deg,rgba(19,25,36,.96),rgba(12,17,25,.96));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.btn{border:1px solid transparent;border-radius:12px;padding:11px 15px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#222c3a}.btn.primary{background:linear-gradient(135deg,var(--accent),#9a72ff);box-shadow:0 10px 25px rgba(124,92,255,.24)}.btn.secondary{background:#1d2633;border-color:#354257}.btn.ghost{background:transparent;border-color:#334052;color:#c9d1dc}.btn.mini{padding:7px 10px;border-radius:9px;font-size:11px}.btn.huge{min-height:58px;padding:15px 25px;font-size:16px}.btn.wide{width:100%}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.icon-btn,.back-btn{border:1px solid var(--line);background:#161e29;color:#fff;width:38px;height:38px;border-radius:11px;font-size:22px;display:grid;place-items:center}.message{min-height:18px;margin-top:10px;font-size:12px;color:var(--muted)}.message.error{color:#ff9aa6}.message.success{color:#7ce7bd}.hint{margin-top:14px;padding:12px 13px;background:#0d131c;border:1px solid #29364a;border-radius:12px;color:#aeb9c8;font-size:11px;line-height:1.5}code{background:#0a0e14;border:1px solid #263043;padding:2px 5px;border-radius:6px;color:#c7bcff}
label{display:flex;flex-direction:column;gap:6px;color:#aab5c4;font-size:11px;font-weight:750}input,textarea,select{width:100%;border:1px solid #2c394c;background:#0b1017;color:#f1f5fa;border-radius:11px;padding:11px 12px;outline:none}textarea{resize:vertical;line-height:1.45}input:focus,textarea:focus,select:focus{border-color:#775be0;box-shadow:0 0 0 3px rgba(124,92,255,.10)}label small{font-size:9px;color:#7f8b9d}.check{flex-direction:row;align-items:center;gap:8px;padding:10px 11px;border:1px solid #293547;border-radius:11px;background:#111823}.check input{width:auto;accent-color:#7c5cff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span-2{grid-column:1/-1}.switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.inline-field{max-width:260px;margin-top:12px}
.app-header{height:72px;padding:0 max(18px,calc((100vw - 1520px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #1d2735;background:rgba(8,11,16,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.header-brand{display:flex;align-items:center;gap:11px}.header-brand>div{display:flex;flex-direction:column}.header-brand b{font-size:13px;letter-spacing:.08em}.header-brand small{color:var(--muted);font-size:10px;margin-top:2px}.header-actions{display:flex;align-items:center;gap:10px}.status-dot{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--warning)}.status-dot.ok:before{background:var(--ok)}.status-dot.bad:before{background:var(--danger)}
.landing{display:grid;place-items:center;padding:22px}.landing-card{width:min(600px,100%);text-align:center}.landing-card .brand-mark{margin:0 auto 22px}.landing-card h1{font-size:clamp(30px,6vw,56px);line-height:1.02;margin:0}.landing-card>p.muted{font-size:15px;line-height:1.6}.landing-actions{margin-top:24px}.landing-card .tiny{margin-top:18px;color:var(--muted)}
.login-wrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:22px}.login-card{width:min(430px,100%);padding:26px}.login-card h1{margin:0 0 6px}.login-card label{margin-top:18px}.login-card .btn{margin-top:14px}
.admin-shell{width:min(1580px,100%);margin:auto;padding:18px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.sidebar{padding:14px;position:sticky;top:90px;max-height:calc(100vh - 108px);overflow:auto}.side-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 3px 12px}.side-title>div{display:flex;flex-direction:column}.side-title b{font-size:14px}.side-title small{color:var(--muted);font-size:10px;margin-top:2px}.event-list{display:flex;flex-direction:column;gap:8px}.event-item{width:100%;text-align:left;border:1px solid #293647;background:#111823;color:#eef3f9;border-radius:13px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.event-item.active{border-color:#7c5cff;background:linear-gradient(135deg,rgba(124,92,255,.15),rgba(124,92,255,.04))}.event-item b{font-size:11px;display:block}.event-item small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.event-state{width:8px;height:8px;border-radius:50%;background:#647083;flex:0 0 auto}.event-state.on{background:var(--ok)}.workspace{min-width:0}.empty-admin{min-height:560px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.empty-admin .big-icon{font-size:68px;color:#a98eff}.empty-admin h2{margin:8px 0}.empty-admin p{color:var(--muted);max-width:460px}.empty-admin .btn{margin-top:8px}.workspace-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:7px 4px 16px}.workspace-head h1{margin:0;font-size:27px}.workspace-actions{display:flex;gap:9px;flex-wrap:wrap}.tabs{display:flex;gap:7px;overflow:auto;padding-bottom:9px}.tabs button{border:1px solid #283548;background:#111823;color:#aeb8c6;border-radius:11px;padding:10px 13px;white-space:nowrap;font-size:11px;font-weight:850}.tabs button.active{background:#6f50d9;border-color:#876df0;color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-effects{display:grid;grid-template-columns:minmax(350px,.75fr) minmax(0,1.25fr);gap:14px}.section-card{padding:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h3,.section-card h3{margin:0;font-size:15px}.section-head p,.section-card>p{margin:4px 0 0;color:var(--muted);font-size:10px}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.asset-box{border:1px solid #283548;border-radius:14px;padding:12px;background:#0f151e}.asset-box>b{font-size:11px}.asset-box input{margin:10px 0}.asset-preview{height:150px;border:1px dashed #334156;border-radius:10px;margin-top:9px;display:grid;place-items:center;color:#758297;font-size:10px;overflow:hidden;background:#0a0f16}.asset-preview.portrait{height:210px}.asset-preview img{width:100%;height:100%;object-fit:contain}.effect-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.effect-admin{border:1px solid #293648;border-radius:14px;background:#101721;overflow:hidden}.effect-admin-cover{height:120px;background:#0b1017;display:grid;place-items:center;font-size:32px;overflow:hidden}.effect-admin-cover img{width:100%;height:100%;object-fit:cover}.effect-admin-body{padding:11px}.effect-admin-body b{font-size:11px}.effect-admin-body p{font-size:9px;color:var(--muted);margin:3px 0 10px}.effect-admin-actions{display:flex;gap:6px;flex-wrap:wrap}.qr-admin{padding:24px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.qr-admin h2{margin:0}.copy-row{display:flex;gap:8px;margin-top:17px}.copy-row input{min-width:0}.qr-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.qr-large{width:min(320px,36vw);background:white;border-radius:18px;padding:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.photo-tile{border:1px solid #293649;border-radius:14px;overflow:hidden;background:#0d131c;text-decoration:none}.photo-tile img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.photo-tile-meta{padding:9px}.photo-tile-meta b{font-size:10px}.photo-tile-meta small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.steps{padding-left:18px;color:#aab6c6;font-size:11px;line-height:1.7}.queue-list{display:flex;flex-direction:column;gap:7px}.queue-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #293649;border-radius:11px;background:#0f151e}.queue-item b{font-size:10px}.queue-item small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.queue-status{font-size:9px;font-weight:900;padding:5px 8px;border-radius:99px;background:#263245}.queue-status.done{background:rgba(55,211,153,.13);color:#77e7bc}.queue-status.failed{background:rgba(255,112,130,.13);color:#ff9aa6}.queue-status.printing{background:rgba(243,193,95,.12);color:#f3c15f}
.modal{border:0;background:transparent;padding:15px;color:var(--text);width:min(520px,100%)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{background:#111722;border:1px solid #2d394b;border-radius:20px;padding:20px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:10px}.modal-head h2{margin:0}.modal-card label{margin-top:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.guest-body{background:radial-gradient(circle at 50% 0%,#18132d 0,#090c11 48%)}.guest-header{height:68px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1e2938;background:rgba(8,11,16,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}.guest-brand{display:flex;align-items:center;gap:10px}.guest-brand>div:last-child{display:flex;flex-direction:column}.guest-brand b{font-size:12px}.guest-brand small{color:var(--muted);font-size:9px;margin-top:2px}.guest-logo{width:42px;height:42px;border-radius:10px;overflow:hidden;background:#fff}.guest-logo img{width:100%;height:100%;object-fit:contain}.guest-shell{width:min(980px,100%);margin:auto;padding:18px;min-height:calc(100vh - 68px)}.guest-step{display:none}.guest-step.active{display:block}.hero-card{min-height:calc(100vh - 110px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.hero-card h1{font-size:clamp(36px,8vw,74px);line-height:.98;max-width:800px;margin:0}.hero-text{max-width:620px;color:#adb7c5;font-size:15px;line-height:1.6}.hero-card .btn{margin-top:15px;min-width:min(320px,90vw)}.hero-card .tiny{margin-top:12px}.step-head{display:flex;align-items:center;gap:12px;margin:7px 0 16px}.step-head h2{margin:0;font-size:27px}.guest-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.guest-effect{border:1px solid #2a374a;background:#111823;color:#fff;border-radius:17px;padding:0;overflow:hidden;text-align:left;min-height:190px;position:relative}.guest-effect-media{height:145px;background:linear-gradient(135deg,#151d29,#0b1017);display:grid;place-items:center;font-size:48px;overflow:hidden}.guest-effect-media img{width:100%;height:100%;object-fit:cover}.guest-effect-text{padding:12px}.guest-effect-text b{font-size:13px}.guest-effect-text small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.guest-effect.selected{border-color:#8a6eff;box-shadow:0 0 0 2px rgba(124,92,255,.18),0 16px 40px rgba(0,0,0,.25)}.guest-effect.selected:after{content:"✓";position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;background:#7c5cff;display:grid;place-items:center;font-weight:900}.bottom-action{width:100%;margin-top:16px}.camera-stage{width:min(560px,100%);aspect-ratio:var(--camera-aspect,9/16);margin:auto;border:1px solid #2a3748;border-radius:22px;overflow:hidden;background:#05070a;position:relative;box-shadow:0 25px 70px rgba(0,0,0,.35)}.camera-stage video,.camera-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-stage video.mirror{transform:scaleX(-1)}.camera-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;color:#a8b2c2}.camera-symbol{font-size:70px;color:#a98cff}.camera-empty b{font-size:16px}.camera-empty p{font-size:11px;max-width:300px;line-height:1.5}.camera-overlay{position:absolute;inset:4%;border:1px solid rgba(255,255,255,.12);border-radius:22px;pointer-events:none}.camera-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.guest-prompt{width:min(560px,100%);margin:14px auto 0}.generating-card{min-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.generating-card h2{font-size:34px;margin:8px 0}.generating-card p:last-child{color:var(--muted);max-width:520px}.ai-loader{display:flex;gap:10px;margin-bottom:22px}.ai-loader span{width:18px;height:18px;border-radius:50%;background:#8a6eff;animation:pulse 1s infinite alternate}.ai-loader span:nth-child(2){animation-delay:.2s}.ai-loader span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{transform:translateY(-13px);opacity:.45}}.result-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:center;min-height:calc(100vh - 106px)}.result-photo-wrap{position:relative;width:min(560px,100%);margin:auto}.result-photo-wrap>img{width:100%;display:block;aspect-ratio:2/3;object-fit:cover;border-radius:22px;border:1px solid #324059;box-shadow:0 30px 90px rgba(0,0,0,.42)}.result-badge{position:absolute;right:12px;top:12px;background:rgba(8,11,16,.8);backdrop-filter:blur(8px);padding:7px 10px;border-radius:99px;font-size:10px;font-weight:900}.result-panel{padding:20px}.result-panel h1{font-size:36px;line-height:1;margin:0}.qr-medium{width:210px;background:#fff;border-radius:15px;padding:7px;margin-top:17px}.qr-label{font-size:10px;color:var(--muted);max-width:250px}.result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.copies{margin-top:10px;max-width:150px}.copies label{flex-direction:row;align-items:center}.copies input{width:70px;padding:8px}
.photo-page{display:grid;place-items:center;padding:20px}.photo-card{width:min(520px,100%);padding:16px}.photo-brand{display:flex;align-items:center;gap:10px;padding:3px 2px 13px}.photo-brand>div{display:flex;flex-direction:column}.photo-brand b{font-size:12px}.photo-brand small{font-size:9px;color:var(--muted)}.public-photo{width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:16px;display:block;background:#090d13}.photo-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:9px 2px}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-actions .primary{grid-column:1/-1}.public-gallery-shell{width:min(1300px,100%);margin:auto;padding:18px}
@media(max-width:1100px){.admin-shell{grid-template-columns:250px 1fr}.grid-2,.grid-effects{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.admin-shell{grid-template-columns:1fr}.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.result-layout{grid-template-columns:1fr}.result-panel{text-align:center}.qr-medium{margin-left:auto;margin-right:auto}.qr-label{margin-left:auto;margin-right:auto}.result-buttons{max-width:520px;margin-left:auto;margin-right:auto}.copies{margin-left:auto;margin-right:auto}}
@media(max-width:720px){.app-header,.guest-header{height:62px;padding:0 12px}.admin-shell,.guest-shell,.public-gallery-shell{padding:10px}.header-brand b{font-size:11px}.status-dot{display:none}.workspace-head{align-items:flex-start;flex-direction:column}.workspace-actions{width:100%}.workspace-actions .btn{flex:1}.tabs{margin:0 -2px}.grid-2,.grid-effects{gap:10px}.section-card{padding:13px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.switch-grid{grid-template-columns:1fr}.asset-grid{grid-template-columns:1fr 1fr}.effect-admin-list{grid-template-columns:1fr}.qr-admin{grid-template-columns:1fr;text-align:center}.copy-row{flex-direction:column}.qr-actions{justify-content:center}.qr-large{width:min(300px,75vw);margin:auto}.guest-effects{grid-template-columns:repeat(2,1fr);gap:8px}.guest-effect{min-height:160px}.guest-effect-media{height:115px}.step-head h2{font-size:22px}.camera-stage{max-height:64vh}.result-panel h1{font-size:29px}.result-buttons{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{padding:18px}.hero-text{font-size:13px}.asset-preview{height:120px}.asset-preview.portrait{height:170px}}
@media(max-width:420px){.guest-effects{grid-template-columns:1fr 1fr}.guest-effect-media{height:105px}.guest-effect-text{padding:9px}.guest-effect-text b{font-size:11px}.guest-header .btn{display:none}.camera-actions .btn{flex:1;min-width:135px}.asset-grid{grid-template-columns:1fr}.result-photo-wrap>img{max-height:65vh}.photo-actions{grid-template-columns:1fr}.photo-actions .primary{grid-column:auto}}

.library-grid{grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)}
.effect-admin-list.single-column{grid-template-columns:1fr}
.library-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.effect-admin-actions .btn.primary{box-shadow:none}
.suggestion-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.selected-suggestion{border-color:#876df0!important;color:#fff!important;background:rgba(124,92,255,.12)!important}
.frame-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:3}
.camera-overlay{z-index:2}
.camera-stage video,.camera-stage>img#capturePreview{z-index:1}
.camera-empty{z-index:1}
.btn.danger{background:#7e2532;border-color:#a23a49;color:#fff}.btn.danger:hover{background:#922f3e}.danger-text{color:#ff9aa6!important;border-color:#59313a!important}.asset-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.asset-actions .btn{min-width:0}

.dslr-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.dslr-status-card{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:12px;align-items:start}
.dslr-status-card .asset-preview{margin-top:0}
.dslr-guest-panel{width:min(560px,100%);margin:12px auto 0;padding:13px 14px;border:1px solid #314056;border-radius:14px;background:#0d141e;display:flex;justify-content:space-between;align-items:center;gap:12px}
.dslr-live-row{display:flex;align-items:center;gap:10px;min-width:0}.dslr-live-row>div{display:flex;flex-direction:column;min-width:0}.dslr-live-row b{font-size:12px}.dslr-live-row small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.4}.dslr-live-dot{width:11px;height:11px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 5px rgba(243,193,95,.08);flex:0 0 auto}.dslr-live-dot.ok{background:var(--ok);box-shadow:0 0 0 5px rgba(55,211,153,.08)}.dslr-live-dot.bad{background:var(--danger);box-shadow:0 0 0 5px rgba(255,112,130,.08)}
.dslr-guest-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.dslr-status-card{grid-template-columns:1fr}.dslr-guest-panel{align-items:stretch;flex-direction:column}.dslr-guest-actions{justify-content:stretch}.dslr-guest-actions .btn{flex:1}.dslr-admin-actions .btn{flex:1}}

/* Galeria pública com QR individual */
.gallery-page{min-height:100vh;background:radial-gradient(circle at 50% -10%,#1a1630 0,#0d1118 30%,#080b10 72%)}
.gallery-header{position:sticky;top:0;z-index:50}
.gallery-header:fullscreen,.gallery-page:fullscreen{background:#080b10}
.gallery-page:fullscreen .gallery-header{position:sticky;top:0}
.gallery-page:fullscreen .public-gallery-shell{max-width:1600px}
#galleryFullscreenBtn[aria-pressed="true"]{border-color:var(--accent);color:#fff;background:rgba(124,92,255,.14)}
.gallery-hero{padding:22px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-hero h1{font-size:clamp(28px,5vw,48px);margin:0 0 8px;line-height:1}
.gallery-hero p.muted{margin:0;max-width:680px;line-height:1.55}
.gallery-live{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px rgba(55,211,153,.09)}
.public-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start}
.public-gallery-card{overflow:hidden;min-width:0}
.gallery-photo-link{display:block;background:#070a0f;text-decoration:none}
.gallery-photo-image{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#090d13;border-radius:12px}
.gallery-card-body{padding:13px}
.gallery-card-info{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #263246}
.gallery-card-info>div{min-width:0}.gallery-card-info b{font-size:13px}.gallery-card-info small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.gallery-card-info>small{text-align:right;margin-top:2px}
.gallery-card-qr-wrap{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;padding:12px 0}
.gallery-card-qr{width:96px;height:96px;background:#fff;padding:5px;border-radius:10px;object-fit:contain}
.gallery-card-qr-wrap b{font-size:11px}.gallery-card-qr-wrap small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.gallery-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gallery-card-actions button{grid-column:1/-1}
.gallery-share-admin{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.gallery-share-admin h2{margin:0 0 6px}
.admin-photo-card{border:1px solid #293649;border-radius:14px;overflow:hidden;background:#0d131c}
.admin-photo-main{display:block}.admin-photo-main>img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#090d13;border-radius:12px}
.admin-photo-meta{padding:9px;display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:8px;align-items:center}
.admin-photo-meta b{font-size:9px}.admin-photo-meta small{display:block;color:var(--muted);font-size:7px;margin-top:3px}
.admin-photo-qr{width:62px;height:62px;background:#fff;border-radius:7px;padding:3px}
.admin-photo-actions{padding:0 9px 9px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-photo-actions .btn{width:100%}

@media(max-width:720px){
  .gallery-hero{padding:16px;align-items:flex-start;flex-direction:column}
  .public-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .gallery-card-body{padding:9px}
  .gallery-card-info{display:block}.gallery-card-info>small{text-align:left;margin-top:5px}
  .gallery-card-qr-wrap{grid-template-columns:72px 1fr;gap:8px}.gallery-card-qr{width:72px;height:72px}
  .gallery-card-actions{grid-template-columns:1fr}.gallery-card-actions button{grid-column:auto}
  .gallery-share-admin{grid-template-columns:1fr;text-align:center;padding:16px}.gallery-share-admin .copy-row{flex-direction:column}.gallery-share-admin .qr-actions{justify-content:center}.gallery-share-admin .qr-large{margin:auto}
}
@media(max-width:430px){
  .public-photo-grid{grid-template-columns:1fr}
  .gallery-card-qr-wrap{grid-template-columns:90px 1fr}.gallery-card-qr{width:90px;height:90px}
}

.queue-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.queue-actions .btn{white-space:nowrap}
@media(max-width:520px){.queue-item{grid-template-columns:1fr}.queue-actions{justify-content:flex-start}}

/* v3.9 · proteção por senha do evento */
.event-lock-screen{min-height:calc(100vh - 74px);display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(124,92,255,.16),transparent 34%),#090c12}
.event-lock-screen.hidden{display:none!important}
.event-lock-card{width:min(520px,100%);padding:30px;text-align:center;border-radius:26px;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.event-lock-card label{display:block;text-align:left;margin-top:20px}
.event-lock-card input{width:100%;margin-top:8px;font-size:18px;letter-spacing:.04em}
.event-lock-card .huge{width:100%;margin-top:16px}
.event-lock-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:0 auto 16px;font-size:32px;background:linear-gradient(135deg,var(--accent,#7c5cff),#9c76ff);box-shadow:0 18px 45px rgba(124,92,255,.26)}
.event-lock-logo{width:88px;height:88px;margin:0 auto 16px;border-radius:22px;overflow:hidden;background:#fff}
.event-lock-logo img{width:100%;height:100%;object-fit:contain}
@media (max-width:640px){.event-lock-screen{padding:16px;min-height:calc(100vh - 68px)}.event-lock-card{padding:24px 18px;border-radius:22px}.event-lock-card h1{font-size:30px}}

/* v4.1 · impressão somente pela galeria */
.gallery-print-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.gallery-print-row .btn{flex:1;min-width:130px}
.gallery-print-copies{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.gallery-print-copies input{width:68px;min-height:38px;padding:7px 8px;border-radius:10px}

/* v4.3 · contagem regressiva da câmera do celular */
.countdown-row{width:min(560px,100%);margin:12px auto 0;padding:12px 14px;border:1px solid #314056;border-radius:14px;background:#0d141e;display:grid;gap:8px}
.countdown-row label{display:grid;gap:8px;font-size:12px;font-weight:700}
.countdown-row small{font-size:10px;color:var(--muted);line-height:1.45}
.countdown-row select{width:100%}
.countdown-overlay{position:absolute;inset:0;display:grid;place-items:center;z-index:4;font-size:clamp(72px,20vw,140px);font-weight:900;color:#fff;text-shadow:0 10px 35px rgba(0,0,0,.55);background:radial-gradient(circle,rgba(124,92,255,.18),rgba(0,0,0,.25) 45%,rgba(0,0,0,.02) 70%)}

/* v4.5 · controles da câmera imediatamente abaixo da prévia */
.camera-actions-near{width:min(560px,100%);margin:8px auto 0;align-items:stretch}
.camera-actions-near #openCameraBtn,.camera-actions-near #captureBtn{min-height:52px;font-size:15px;font-weight:900}
.camera-actions-near #openCameraBtn:not(.hidden),.camera-actions-near #captureBtn:not(.hidden){flex:1 1 220px}
#browserCountdownRow{margin-top:8px}
@media(max-width:720px){.camera-actions-near{margin-top:6px;gap:6px}.camera-actions-near #openCameraBtn,.camera-actions-near #captureBtn{width:100%;flex-basis:100%;min-height:54px}}

/* v4.6 · download de todas as fotos somente pela galeria */
.gallery-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.gallery-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.gallery-hero-actions{width:100%;align-items:stretch}.gallery-hero-actions .btn{width:100%}.gallery-admin-actions{width:100%;justify-content:stretch}.gallery-admin-actions .btn{flex:1}}

/* v4.8 · comparação original x IA, assets próprios por personagem e logo extra */
.sponsor-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border-bottom:1px solid #223045;background:rgba(11,16,23,.9);backdrop-filter:blur(14px)}
.sponsor-bar img{max-height:44px;max-width:min(220px,70vw);object-fit:contain}
.result-sponsor{display:flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #2c394c;border-radius:14px;background:#0d141e;margin:8px 0 14px}
.result-sponsor img{max-height:44px;max-width:200px;object-fit:contain}
.compare-card{width:100%;margin-bottom:12px;padding:10px;border:1px solid #2b3747;border-radius:18px;background:#0d141d}
.compare-stage{position:relative;overflow:hidden;border-radius:14px;background:#090d13;aspect-ratio:2/3}
.compare-base,.compare-overlay img{display:block;width:100%;height:100%;object-fit:cover}
.compare-overlay{position:absolute;inset:0;overflow:hidden}
.compare-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.22);transform:translateX(-1px);pointer-events:none}
.compare-handle:before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.compare-handle:after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);color:#111722;font-size:15px;font-weight:900}
.compare-slider{width:100%;margin-top:10px}
.compare-labels{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:var(--muted);font-size:11px;font-weight:700}
.photo-card .compare-card{margin-bottom:16px}
.gallery-print-format{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.gallery-print-format select{width:auto;min-width:180px;min-height:38px;padding:7px 10px;border-radius:10px}

.result-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.result-pair-card,.gallery-compare-col,.admin-compare-col{display:grid;gap:6px}
.result-pair-card span,.gallery-compare-col span,.admin-compare-col span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.result-pair-card img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:14px;border:1px solid #2b3747;background:#090d13}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px}
.gallery-compare-col,.admin-compare-col{padding:8px;background:#070a0f}
.gallery-compare-col img,.admin-compare-col img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:12px;background:#090d13}
.admin-compare-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#1a2331;padding:1px}
@media(max-width:720px){.result-pair{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}}

@media(max-width:720px){.gallery-print-format{width:100%}.gallery-print-format select{width:100%}.sponsor-bar{padding:8px 12px}.sponsor-bar img{max-height:36px}}

/* v5.8 · câmera 9:16 sem zoom/corte por padrão */
.camera-stage.camera-fit-contain video,
.camera-stage.camera-fit-contain>img#capturePreview{object-fit:contain;background:#05070a}
.camera-stage.camera-fit-cover video,
.camera-stage.camera-fit-cover>img#capturePreview{object-fit:cover}
.camera-stage.camera-fit-contain .frame-overlay{object-fit:contain}
.camera-stage.camera-fit-cover .frame-overlay{object-fit:cover}
.camera-view-mode{width:min(560px,100%);margin:12px auto 0;padding:10px 12px;border:1px solid #283548;border-radius:14px;background:#0e151f;display:flex;align-items:center;justify-content:space-between;gap:12px}
.camera-view-mode>div:first-child{display:flex;flex-direction:column;gap:2px}.camera-view-mode b{font-size:10px}.camera-view-mode small{font-size:8px;color:var(--muted)}
.camera-view-switch{display:flex;gap:5px;padding:4px;border-radius:10px;background:#080d14;border:1px solid #263244}
.camera-view-option{border:0;border-radius:8px;background:transparent;color:#aeb8c6;font:inherit;font-size:9px;font-weight:850;padding:8px 10px;cursor:pointer;white-space:nowrap}
.camera-view-option.active{background:#6f50d9;color:#fff;box-shadow:0 5px 15px rgba(111,80,217,.25)}
@media(max-width:720px) and (orientation:portrait){
  .camera-stage{width:min(100%,430px);max-height:76svh}
  .camera-view-mode{width:min(100%,430px);flex-direction:column;align-items:stretch}
  .camera-view-switch{width:100%}.camera-view-option{flex:1}
}
@media(max-width:720px) and (orientation:landscape){
  .camera-stage{width:min(100%,74svh);max-height:74svh}
  .camera-view-mode{width:min(100%,74svh)}
}


/* v6.0 · diagnóstico do stream e tentativa de 9:16 nativo */
.camera-stream-info{width:min(560px,100%);margin:8px auto 0;padding:9px 12px;border:1px solid #283548;border-radius:13px;background:#0b1119;display:flex;flex-direction:column;gap:4px}
.camera-stream-info>div{display:flex;align-items:center;gap:7px}.camera-stream-info b{font-size:10px}.camera-stream-info small{font-size:8px;line-height:1.4;color:var(--muted)}
.camera-stream-dot{width:8px;height:8px;border-radius:50%;background:#657183;box-shadow:0 0 0 3px rgba(101,113,131,.12)}
.camera-stream-info[data-state="working"] .camera-stream-dot{background:#f0b84b;box-shadow:0 0 0 3px rgba(240,184,75,.12)}
.camera-stream-info[data-state="ok"] .camera-stream-dot{background:#45d483;box-shadow:0 0 0 3px rgba(69,212,131,.12)}
.camera-stream-info[data-state="warn"] .camera-stream-dot{background:#f0b84b;box-shadow:0 0 0 3px rgba(240,184,75,.12)}
.camera-stream-info[data-state="bad"] .camera-stream-dot{background:#ff6470;box-shadow:0 0 0 3px rgba(255,100,112,.12)}
@media(max-width:720px){.camera-stream-info{width:min(100%,430px)}}


/* v6.3 · cards de personagens mais altos para destacar a foto modelo */
.guest-effect{min-height:285px}
.guest-effect-media{height:220px}
.guest-effect-media img{object-position:center center}
@media(max-width:720px){
  .guest-effect{min-height:275px}
  .guest-effect-media{height:205px}
}
@media(max-width:420px){
  .guest-effect{min-height:255px}
  .guest-effect-media{height:185px}
}

/* v6.5 · tela cheia da galeria */
.gallery-header .header-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.gallery-header .header-actions{gap:6px}.gallery-header #galleryFullscreenBtn,.gallery-header #refreshPublicGallery{min-height:38px}}
html:fullscreen .gallery-header,html:-webkit-full-screen .gallery-header{position:sticky;top:0}
html:fullscreen .public-gallery-shell,html:-webkit-full-screen .public-gallery-shell{width:min(1600px,100%)}

/* v7.0 Multiempresa */
.access-shell{max-width:1500px;margin:0 auto;padding:24px}.access-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:24px}.access-hero h1{margin:.15rem 0 .45rem}.access-role-map{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.access-role-map span,.role-chip{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:999px;padding:6px 10px;font-size:12px;font-style:normal}.access-role-map i{opacity:.45}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.access-users-card{grid-column:1/-1}.compact-form{margin:12px 0 16px}.access-list{display:grid;gap:8px}.access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}.access-row span{display:grid;gap:4px;min-width:0}.access-row small{color:#8490a2;overflow-wrap:anywhere}.access-user-row b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-chip{padding:3px 8px;color:#c7d2fe}.admin-identity{display:inline-flex;align-items:center;gap:7px;color:#aab4c3;font-size:12px}@media(max-width:900px){.access-grid{grid-template-columns:1fr}.access-users-card{grid-column:auto}.access-hero{align-items:flex-start;flex-direction:column}.access-shell{padding:14px}}
.access-row-actions{display:flex!important;grid-auto-flow:column!important;align-items:center;gap:8px}

/* v7.2.5 · texto opcional do convidado na foto */
.guest-text-admin{margin-top:14px;padding:14px;border:1px solid rgba(124,92,255,.28);border-radius:16px;background:rgba(124,92,255,.055)}
.section-subhead{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.section-subhead>div{display:grid;gap:4px}.section-subhead small{color:var(--muted);line-height:1.45}
.guest-text-preview-card{display:grid;gap:7px;margin-top:12px}.guest-text-preview-card>small{color:var(--muted)}
.guest-text-admin-preview{position:relative;aspect-ratio:2/3;max-width:240px;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#354052,#151a22 55%,#090c11);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 50px rgba(124,92,255,.12)}
.guest-text-admin-preview:before{content:'PRÉVIA DA FOTO';position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.25);font-weight:800;white-space:nowrap}
.guest-text-admin-preview span{position:absolute;max-width:88%;font-weight:800;line-height:1.08;overflow-wrap:anywhere;z-index:2}
.guest-text-admin-preview[data-position="top-left"] span{left:6%;top:6%;text-align:left}.guest-text-admin-preview[data-position="top-center"] span{left:50%;top:6%;transform:translateX(-50%);text-align:center}.guest-text-admin-preview[data-position="top-right"] span{right:6%;top:6%;text-align:right}
.guest-text-admin-preview[data-position="bottom-left"] span{left:6%;bottom:6%;text-align:left}.guest-text-admin-preview[data-position="bottom-center"] span{left:50%;bottom:6%;transform:translateX(-50%);text-align:center}.guest-text-admin-preview[data-position="bottom-right"] span{right:6%;bottom:6%;text-align:right}
.caption-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}
.caption-preview-wrap{position:relative;overflow:hidden;border-radius:20px;background:#080b10;border:1px solid #273244;min-height:300px}.caption-preview-wrap img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;margin:auto}
.guest-caption-preview-text{position:absolute;max-width:86%;font-weight:800;line-height:1.08;overflow-wrap:anywhere;white-space:pre-wrap;pointer-events:none;z-index:3;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.guest-caption-preview-text[data-position="top-left"]{left:6%;top:6%;text-align:left}.guest-caption-preview-text[data-position="top-center"]{left:50%;top:6%;transform:translateX(-50%);text-align:center}.guest-caption-preview-text[data-position="top-right"]{right:6%;top:6%;text-align:right}
.guest-caption-preview-text[data-position="bottom-left"]{left:6%;bottom:6%;text-align:left}.guest-caption-preview-text[data-position="bottom-center"]{left:50%;bottom:6%;transform:translateX(-50%);text-align:center}.guest-caption-preview-text[data-position="bottom-right"]{right:6%;bottom:6%;text-align:right}
.caption-editor-card{padding:18px;display:grid;gap:14px}.caption-editor-card textarea{min-height:130px;font-size:18px;resize:vertical}.caption-editor-card label small{display:block;margin-top:6px;color:var(--muted)}.caption-actions{display:grid;gap:9px}
@media(max-width:820px){.caption-layout{grid-template-columns:1fr}.caption-preview-wrap img{max-height:56vh}.guest-text-admin-preview{max-width:210px}}

/* v7.5 · Experiência personalizada + Leads */
.guest-body{--guest-bg:#080b10;--guest-text:#f4f7fb;--guest-font:Inter,ui-sans-serif,system-ui,sans-serif;background-color:var(--guest-bg);background-image:linear-gradient(rgba(5,8,12,.48),rgba(5,8,12,.68)),var(--guest-bg-image,radial-gradient(circle at 50% 0%,#18132d 0,#090c11 48%));background-size:cover;background-position:center;background-attachment:fixed;color:var(--guest-text)}
.guest-body .guest-header{background:color-mix(in srgb,var(--guest-bg) 82%,transparent);border-bottom-color:color-mix(in srgb,var(--guest-text) 14%,transparent)}
.guest-body .eyebrow{color:var(--accent2)}
.guest-body .btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2))}
.guest-body .hero-card,.guest-body .lead-guest-card{color:var(--guest-text)}
.guest-body .hero-text,.guest-body .muted{color:color-mix(in srgb,var(--guest-text) 68%,transparent)}
.lead-guest-card{width:min(720px,100%);margin:24px auto;padding:24px;background:color-mix(in srgb,var(--guest-bg) 86%,transparent);backdrop-filter:blur(18px)}
.lead-guest-form{display:flex;flex-direction:column;gap:14px}.lead-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-guest-fields label{font-size:12px;color:var(--guest-text)}.lead-guest-fields .lead-check{grid-column:1/-1;display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--guest-text) 18%,transparent);border-radius:12px;background:color-mix(in srgb,var(--guest-bg) 76%,transparent)}.lead-guest-fields .lead-check input{width:auto;margin-top:2px;accent-color:var(--accent)}
.experience-admin-card{overflow:hidden}.experience-background-box{max-width:560px}.experience-bg-preview{height:230px}.experience-bg-preview img{object-fit:cover}.experience-mini-preview{margin-top:16px;min-height:240px;border-radius:18px;padding:24px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--xp-primary,#7c5cff) 22%,var(--xp-bg,#080b10)),var(--xp-bg,#080b10));border:1px solid color-mix(in srgb,var(--xp-primary,#7c5cff) 55%,transparent);color:var(--xp-text,#fff)}.experience-mini-preview>div{display:flex;flex-direction:column;align-items:center;gap:8px}.experience-mini-preview small{color:color-mix(in srgb,var(--xp-text,#fff) 70%,transparent)}.experience-mini-preview b{font-size:26px}.experience-mini-preview span{font-size:12px;opacity:.76}.experience-mini-preview button{margin-top:10px;border:0;border-radius:12px;padding:11px 24px;color:#fff;background:linear-gradient(135deg,var(--xp-primary,#7c5cff),var(--xp-secondary,#a386ff));font-weight:900}
.lead-settings{margin-top:14px}.section-subhead{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-subhead>div{display:flex;flex-direction:column}.section-subhead b{font-size:12px}.section-subhead small{font-size:9px;color:var(--muted);margin-top:3px}.lead-field-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.lead-field-card{border:1px solid #2a374a;border-radius:14px;padding:12px;background:#0d141e}.lead-field-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.lead-field-top b{font-size:11px}.lead-field-top span{font-size:9px;color:var(--muted)}.lead-field-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.lead-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.lead-table-wrap{overflow:auto;max-height:560px;border:1px solid #293649;border-radius:12px}.lead-table{width:100%;border-collapse:collapse;min-width:620px;background:#0c121a}.lead-table th,.lead-table td{padding:9px 10px;border-bottom:1px solid #263244;text-align:left;font-size:10px;vertical-align:top}.lead-table th{position:sticky;top:0;background:#151d29;color:#cfd6e2;z-index:1}.lead-table td{color:#aeb8c7}.modern-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.modern-flow span{padding:9px 12px;border:1px solid #334156;border-radius:11px;background:#0d141e;font-size:10px;font-weight:800}.modern-flow i{color:var(--accent);font-style:normal;font-weight:900}.access-simple-map{display:flex;gap:8px;flex-wrap:wrap}.access-simple-map span{padding:9px 12px;border:1px solid #334156;border-radius:99px;background:#0f1620;font-size:10px;color:#cfd6e2}
@media(max-width:720px){.lead-guest-fields{grid-template-columns:1fr}.experience-mini-preview{min-height:200px}.access-simple-map{margin-top:12px}.lead-table-wrap{max-height:440px}}

.guest-body{font-family:var(--guest-font)}

/* v7.7 · Modos Tradicional + Espelho Mágico */
.magic-mirror-settings{border-color:rgba(124,92,255,.45);background:linear-gradient(145deg,rgba(124,92,255,.08),rgba(255,255,255,.02))}
.magic-mirror-settings.magic-disabled{opacity:.62}.magic-mirror-settings .asset-preview video{width:100%;max-height:240px;object-fit:contain;border-radius:12px;background:#05070b}


/* v7.7 · editor visual de impressão */
.print-editor-grid{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(260px,.85fr);gap:18px;margin-top:16px;align-items:start}.print-layout-canvas{position:relative;margin:auto;max-width:560px;width:100%;background:#fff center/cover no-repeat;border:2px solid #38455a;border-radius:14px;box-shadow:0 18px 50px #0007;overflow:hidden;touch-action:none}.print-layout-canvas.portrait{aspect-ratio:2/3}.print-layout-canvas.landscape{aspect-ratio:3/2}.print-slot{position:absolute;border:2px solid #8b5cf6;background:rgba(139,92,246,.16);display:grid;place-items:center;color:white;font-weight:900;letter-spacing:.08em;cursor:move;user-select:none;touch-action:none;box-shadow:inset 0 0 0 1px #ffffff55}.print-slot.selected{border-color:#ff4f81;background:rgba(255,79,129,.2);z-index:3}.print-slot i{position:absolute;width:20px;height:20px;right:-2px;bottom:-2px;background:#ff4f81;border:2px solid white;border-radius:6px;cursor:nwse-resize;touch-action:none}.print-slot-settings{background:#0b1018;border:1px solid #263449;border-radius:14px;padding:14px}.form-grid.compact{grid-template-columns:1fr 1fr;margin-top:10px}.print-template-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.print-bg-box{margin-top:16px}.print-bg-box .asset-preview{min-height:100px}@media(max-width:900px){.print-editor-grid{grid-template-columns:1fr}}

/* v7.7.2 · editor em camadas */
.print-art-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.print-slot{z-index:10}.print-layer-info{margin-top:10px;padding:10px 12px;border:1px solid #263449;border-radius:10px;color:#a9b7ca;font-size:.9rem}.print-layer-order,.print-slot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.print-layer-order .btn{flex:1 1 120px}.app-toast{position:fixed;right:22px;bottom:22px;z-index:9999;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border-radius:14px;background:#121b29;border:1px solid #33445f;color:#f5f7fb;box-shadow:0 18px 60px #0009;opacity:0;transform:translateY(14px);pointer-events:none;transition:.22s ease;font-weight:800}.app-toast.show{opacity:1;transform:translateY(0)}.app-toast.success{border-color:#28c989;background:#0e211d}.app-toast.error{border-color:#ff668c;background:#28121a}.print-slot.layer-dim{opacity:.72}.print-layout-canvas .print-slot.selected{box-shadow:0 0 0 2px #ff4f81,inset 0 0 0 1px #ffffff55}

/* v7.7.4 · transparência real do PNG + cores sólidas por pose */
.print-layout-canvas{background-image:linear-gradient(45deg,#e9edf4 25%,transparent 25%),linear-gradient(-45deg,#e9edf4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9edf4 75%),linear-gradient(-45deg,transparent 75%,#e9edf4 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;background-color:#fff}.print-art-layer{background:transparent!important}.print-slot{opacity:1!important;color:#fff!important;text-shadow:0 1px 2px #0008;border-width:3px!important;box-shadow:none!important}.print-slot.pose-color-1{background:#e5486d!important;border-color:#8f1737!important}.print-slot.pose-color-2{background:#4c6fff!important;border-color:#17358f!important}.print-slot.pose-color-3{background:#20b67a!important;border-color:#08724a!important}.print-slot.selected{outline:4px solid #ffd44d!important;outline-offset:2px}.print-slot i{background:#111827!important;border-color:#fff!important}.print-slot span{background:#0009;padding:5px 9px;border-radius:999px}

/* v7.9.1 · Jogos interativos aprimorados + senha obrigatória */
.game-admin-card{border-color:rgba(124,92,255,.38)}
.game-admin-settings{margin-top:14px;display:grid;gap:14px}
.game-type-settings{padding:14px;border:1px solid #2a374a;border-radius:14px;background:#0d141e}
.game-type-settings textarea{min-height:150px}
.game-guest-card{width:min(860px,100%);margin:24px auto;padding:24px;background:color-mix(in srgb,var(--guest-bg) 88%,transparent);backdrop-filter:blur(18px)}
.guest-game-area{display:grid;gap:18px;justify-items:center;margin-top:12px}
.roulette-wrap{position:relative;width:min(360px,78vw);aspect-ratio:1/1;display:grid;place-items:center}
.roulette-wheel{position:relative;width:100%;height:100%;border-radius:50%;border:10px solid color-mix(in srgb,var(--guest-text) 88%,transparent);background:conic-gradient(from 0deg,#7257ff 0 16.66%,#ff4f81 16.66% 33.33%,#18b98f 33.33% 50%,#f2b84b 50% 66.66%,#4c8cff 66.66% 83.33%,#b45cff 83.33% 100%);box-shadow:0 18px 55px #0008,inset 0 0 0 6px #0002;display:grid;place-items:center;overflow:hidden;will-change:transform}
.roulette-center{position:relative;z-index:3;width:34%;aspect-ratio:1/1;border-radius:50%;display:grid;place-items:center;background:#0b1018;border:5px solid #fff;color:#fff;font-weight:1000;letter-spacing:.08em;box-shadow:0 8px 24px #0009}
.roulette-pointer{position:absolute;z-index:8;top:-10px;left:50%;transform:translateX(-50%);font-size:42px;line-height:1;color:#fff;text-shadow:0 4px 10px #000;filter:drop-shadow(0 2px 2px #0008);pointer-events:none}
.roulette-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.roulette-options span{padding:7px 10px;border:1px solid color-mix(in srgb,var(--guest-text) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--guest-bg) 68%,transparent);font-size:12px}
.roulette-labels{position:absolute;inset:0;z-index:2;pointer-events:none}.roulette-label{position:absolute;width:28%;max-width:108px;text-align:center;color:#fff;font-weight:1000;line-height:1.05;text-shadow:0 2px 5px #000b;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;transform-origin:center center}.roulette-options.hidden{display:none!important}
.game-topline{width:min(680px,100%);display:flex;align-items:center;justify-content:space-between;gap:14px}.game-timer{display:flex;align-items:baseline;justify-content:center;gap:5px;min-width:122px;padding:10px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent2) 55%,transparent);background:color-mix(in srgb,var(--guest-bg) 72%,transparent);box-shadow:0 8px 28px #0004}.game-timer span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent2)}.game-timer strong{font-size:30px;line-height:1;color:var(--guest-text)}.game-timer small{font-size:12px;color:var(--guest-text)}.game-timer.compact{min-width:112px;padding:8px 12px}.game-timer.compact strong{font-size:25px}.game-timer.urgent{border-color:#ff4f81;box-shadow:0 0 0 3px rgba(255,79,129,.13),0 8px 28px #0004}.game-timer.urgent strong{color:#ff6f98}.game-timer-admin-grid{margin-bottom:12px}
.game-result{width:min(620px,100%);padding:16px 18px;border-radius:16px;text-align:center;font-size:clamp(18px,3vw,30px);font-weight:1000;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,#0d141e),color-mix(in srgb,var(--accent2) 22%,#0d141e));border:1px solid color-mix(in srgb,var(--accent2) 55%,transparent)}
.memory-grid{width:min(720px,100%);display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:12px}.memory-card{position:relative;min-height:110px;border:1px solid color-mix(in srgb,var(--guest-text) 18%,transparent);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,#0d141e),#0d141e);color:var(--guest-text);font-size:18px;font-weight:900;cursor:pointer;transform-style:preserve-3d;transition:.2s ease}.memory-card:hover{transform:translateY(-2px)}.memory-card .memory-face{display:none;padding:8px}.memory-card.open,.memory-card.matched{background:linear-gradient(135deg,var(--accent),var(--accent2));transform:scale(1.02)}.memory-card.open .memory-back,.memory-card.matched .memory-back{display:none}.memory-card.open .memory-face,.memory-card.matched .memory-face{display:block}.memory-card.matched{box-shadow:0 0 0 3px rgba(69,212,131,.3)}
.quiz-progress{font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--accent2);text-transform:uppercase}.quiz-options{width:min(680px,100%);display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-option{min-height:72px;font-size:17px}.quiz-option:disabled{opacity:.72}
@media(max-width:720px){.game-guest-card{padding:18px}.memory-grid{grid-template-columns:repeat(3,minmax(78px,1fr));gap:9px}.memory-card{min-height:92px;font-size:15px}.quiz-options{grid-template-columns:1fr}.roulette-wrap{width:min(310px,82vw)}.roulette-label{width:30%;max-width:92px}.game-topline{align-items:flex-start}.game-timer strong{font-size:26px}}
@media(max-width:430px){.memory-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}.memory-card{min-height:92px}}

/* v8.0 · Editor de impressão, créditos e White Label */
.print-element-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.print-element-layer{position:absolute;border:2px dashed #18c9b5;background:rgba(24,201,181,.12);display:grid;place-items:center;cursor:move;user-select:none;touch-action:none;overflow:hidden;color:#fff;font-weight:900;z-index:20}.print-element-layer.selected{outline:4px solid #ffd44d;outline-offset:2px}.print-element-layer.print-element-text{padding:3px;text-align:center;white-space:pre-wrap}.print-element-layer.print-element-logo img,.print-element-layer.print-element-frame img{width:100%;height:100%;object-fit:contain;pointer-events:none}.print-element-layer.print-element-frame img{object-fit:fill}.print-element-layer.print-element-qr{background:#fff;color:#111}.print-element-layer.print-element-qr:before{content:'▦';font-size:clamp(22px,6vw,56px)}.print-resize-handle,.print-element-layer i{position:absolute;width:20px;height:20px;right:-2px;bottom:-2px;background:#111827;border:2px solid #fff;border-radius:6px;cursor:nwse-resize;touch-action:none}.print-layout-canvas.square{aspect-ratio:1/1}.print-layout-canvas.strip{aspect-ratio:1/3}.print-layer-list{display:grid;gap:7px;margin-top:10px}.print-layer-list button{width:100%;text-align:left}.print-layer-list .active{border-color:#ffd44d;color:#ffd44d}.modal-wide{width:min(900px,calc(100vw - 30px));max-height:90vh;overflow:auto}.credit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:14px 0}.credit-summary>div{border:1px solid #2a374a;border-radius:14px;padding:12px;background:#0b111a;display:flex;flex-direction:column;gap:4px}.credit-summary b{font-size:18px}.credit-summary span{font-size:10px;color:var(--muted)}.credit-summary .credit-warning{border-color:#ff668c;background:#28121a}.credit-history{border:1px solid #28364a;border-radius:14px;max-height:320px;overflow:auto;margin-top:10px}.credit-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #263244}.credit-history-row:last-child{border-bottom:0}.credit-history-row span:first-child{display:flex;flex-direction:column;min-width:0}.credit-history-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credit-history-row time{font-size:10px;color:var(--muted)}.credit-move{font-weight:900}.credit-move.plus{color:#4ee3a1}.credit-move.minus{color:#ff6b8d}.branding-preview{--bp-primary:#7c5cff;--bp-secondary:#a386ff;--bp-bg:#080b10;--bp-text:#f4f7fb;margin-top:16px;min-height:230px;padding:28px;border-radius:18px;border:1px solid color-mix(in srgb,var(--bp-primary) 45%,#263244);background:linear-gradient(145deg,color-mix(in srgb,var(--bp-primary) 22%,var(--bp-bg)),var(--bp-bg));color:var(--bp-text);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.branding-preview img{max-width:180px;max-height:70px;object-fit:contain;margin-bottom:10px}.branding-preview p{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:11px}.branding-preview h3{font-size:28px;margin:8px 0}.branding-preview span{opacity:.72;max-width:600px}.branding-preview button{border:0;border-radius:12px;padding:12px 26px;margin-top:18px;background:linear-gradient(135deg,var(--bp-primary),var(--bp-secondary));color:white;font-weight:900}.white-label-landing{min-height:100vh;background:var(--brand-bg,#080b10) center/cover no-repeat;color:var(--brand-text,#f4f7fb);display:grid;place-items:center;padding:24px}.brand-landing-card{width:min(760px,100%);padding:36px;background:color-mix(in srgb,var(--brand-bg,#080b10) 82%,transparent);backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--brand-text,#fff) 14%,transparent);border-radius:28px;text-align:center}.brand-landing-logo{max-width:220px;max-height:90px;object-fit:contain;margin-bottom:12px}.brand-events{display:grid;gap:10px;margin-top:24px}.brand-event{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand-text,#fff) 16%,transparent);border-radius:14px;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--brand-bg,#000) 78%,transparent)}.brand-event:hover{border-color:var(--brand-primary,#7c5cff)}.brand-event strong{text-align:left}.brand-event span{font-size:11px;opacity:.7}.brand-start-pill{background:linear-gradient(135deg,var(--brand-primary,#7c5cff),var(--brand-secondary,#a386ff));color:#fff;padding:9px 14px;border-radius:10px;font-weight:900;white-space:nowrap}
@media(max-width:700px){.credit-history-row{grid-template-columns:1fr auto}.credit-history-row time{grid-column:1/-1}.modal-wide{padding:0}.brand-landing-card{padding:24px}.brand-event{align-items:flex-start;flex-direction:column}.brand-start-pill{align-self:stretch;text-align:center}}

/* v8.1 - galeria oficial de modelos */
.official-template-gallery{border-color:rgba(124,92,255,.32)}
.official-template-gallery #officialTemplateList{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.official-template-gallery #officialTemplateList .effect-admin{margin:0}
@media(max-width:760px){.official-template-gallery #officialTemplateList{grid-template-columns:1fr}}


/* v8.1.1 - painel Empresas: ações responsivas e sem sobreposição */
.tenant-access-row{flex-direction:column;align-items:stretch;gap:14px;overflow:hidden}
.tenant-access-row .tenant-summary{display:grid;gap:5px;min-width:0;width:100%}
.tenant-access-row .tenant-summary small{color:#8490a2;overflow-wrap:anywhere;line-height:1.45}
.tenant-access-row .tenant-actions{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:8px;width:100%;max-width:100%;min-width:0}
.tenant-access-row .tenant-actions .btn{flex:1 1 132px;min-width:120px;white-space:normal;line-height:1.15;min-height:42px}
.tenant-quality-control{flex:0 1 116px;min-width:96px;gap:4px}
.tenant-quality-control>span{font-size:9px;color:#8e9bad;font-weight:800}
.tenant-quality-control select{min-width:0;padding:9px 10px}
#tenantCard,#tenantList,.access-grid>.section-card{min-width:0}
@media(max-width:1180px){.access-grid{grid-template-columns:1fr}.access-users-card{grid-column:auto}.tenant-access-row .tenant-actions .btn{flex-basis:150px}}
@media(max-width:620px){.tenant-access-row .tenant-actions{display:grid!important;grid-template-columns:1fr 1fr}.tenant-quality-control{grid-column:1/-1;width:100%;max-width:none}.tenant-access-row .tenant-actions .btn{width:100%;min-width:0}.tenant-access-row .tenant-actions .danger-text{grid-column:1/-1}}

/* v8.1.2 · marca extra na seleção de personagem */
.guest-effect-head{position:relative}.guest-sponsor-choice{margin-left:auto;max-width:110px;max-height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;box-shadow:0 8px 24px #0005}@media(max-width:520px){.guest-sponsor-choice{max-width:78px;max-height:38px}}


/* v8.1.4 · ordem de prompts/personagens por evento */
.character-order-row{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap;padding:9px;margin:0 0 10px;border:1px solid #2c3a50;border-radius:11px;background:#0b121b}.character-order-badge{display:grid;place-items:center;min-width:42px;height:36px;padding:0 9px;border-radius:10px;background:linear-gradient(135deg,#6f50d9,#9673ff);color:#fff;font-size:13px;font-weight:1000}.character-order-row label{display:flex;flex-direction:column;gap:3px;font-size:8px;color:var(--muted);font-weight:800}.character-order-row select{min-width:76px;padding:8px 28px 8px 9px}.character-order-row .btn:disabled{opacity:.35;cursor:not-allowed}.effect-admin-list.single-column .effect-admin{display:grid;grid-template-columns:150px minmax(0,1fr)}.effect-admin-list.single-column .effect-admin-cover{height:100%}.effect-admin-list.single-column .effect-admin-body{min-width:0}@media(max-width:640px){.effect-admin-list.single-column .effect-admin{grid-template-columns:1fr}.effect-admin-list.single-column .effect-admin-cover{height:130px}.character-order-row{align-items:stretch}.character-order-row label{flex:1}.character-order-row select{width:100%}.character-order-row .btn{flex:1}}

/* v8.2.0 campanha */
.campaign-card{margin:16px 0;padding:14px;border:1px solid #2b3546;border-radius:16px;background:linear-gradient(135deg,#111927,#0b1018);display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.campaign-logo{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}.campaign-card h3{margin:2px 0 5px;font-size:20px}.campaign-card p{margin:0 0 10px;line-height:1.4}.campaign-coupon{display:inline-block;margin:0 8px 10px 0;padding:7px 10px;border:1px dashed #7181a1;border-radius:9px;font-weight:800;letter-spacing:.05em}.campaign-card .btn{display:inline-flex;width:auto}@media(max-width:720px){.campaign-card{grid-template-columns:1fr;text-align:center}.campaign-logo{margin:auto}}

/* v8.2.0 relatorios/contingencia */
.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-metrics{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:9px}.report-metrics .metric{background:#0a0e14;border:1px solid #252d3b;border-radius:13px;padding:12px}.report-metrics .metric b{display:block;font-size:1.45rem}.report-metrics .metric span{color:#8e99aa;font-size:.72rem}.report-box{background:#0a0e14;border:1px solid #232c39;border-radius:12px;padding:12px}.report-box h4{margin:0 0 8px}.report-line{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #222c39}.report-line:last-child{border-bottom:0}@media(max-width:720px){.report-metrics{grid-template-columns:repeat(2,1fr)}}

/* v8.3.0 · Live Wall */
.livewall-mode-guide{display:grid;gap:7px;margin-top:18px;padding:14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.livewall-mode-guide b{margin-bottom:2px}.livewall-mode-guide small{display:block;color:var(--muted);line-height:1.45}.livewall-mode-guide strong{color:var(--text)}


/* v8.4.0 · Raspadinha, Caixa Misteriosa, Pare no Momento Certo */
.scratch-shell{position:relative;width:min(640px,92vw);margin:auto;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px #0008;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,#101722),#111827);min-height:300px}.scratch-prize{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:28px;font-size:clamp(25px,5vw,48px);font-weight:1000;color:var(--guest-text)}#scratchCanvas{position:relative;z-index:2;width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}.scratch-progress{position:absolute;z-index:4;right:12px;bottom:10px;padding:6px 9px;border-radius:999px;background:#0009;color:#fff;font-size:12px;font-weight:800;pointer-events:none}.mystery-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:18px;width:min(780px,100%)}.mystery-box{min-height:170px;border:1px solid color-mix(in srgb,var(--guest-text) 20%,transparent);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 30%,#101722),#111827);color:var(--guest-text);font:inherit;font-weight:1000;cursor:pointer;box-shadow:0 16px 36px #0005;transition:.35s cubic-bezier(.2,.8,.2,1)}.mystery-box:hover{transform:translateY(-6px) scale(1.02)}.mystery-box.opening{transform:rotate(-3deg) scale(1.05);filter:brightness(1.2)}.mystery-box.open{background:linear-gradient(135deg,var(--accent),var(--accent2));transform:scale(1.03)}.mystery-lid{display:block;font-size:58px;margin-bottom:8px}.stop-track{position:relative;width:min(850px,96%);margin:50px auto 20px;padding-top:34px}.stop-zones{display:flex;overflow:hidden;border-radius:18px;border:2px solid #ffffff55;box-shadow:0 16px 44px #0007}.stop-zones span{min-height:105px;display:grid;place-items:center;text-align:center;padding:10px 6px;background:linear-gradient(180deg,#1d2a3b,#111827);border-right:1px solid #ffffff28;font-size:12px;font-weight:900}.stop-zones span:nth-child(even){background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 35%,#172033),#111827)}.stop-zones span.jackpot{background:linear-gradient(180deg,#d89b1c,#6f4700);color:#fff}.stop-pointer{position:absolute;top:0;left:0;transform:translateX(-50%);font-size:40px;color:#fff;text-shadow:0 4px 10px #000;filter:drop-shadow(0 3px 3px #0008)}.game-final-prize{margin:12px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,#111827),#111827);border:1px solid color-mix(in srgb,var(--accent) 60%,#fff0);display:flex;flex-direction:column;gap:4px;text-align:center}.game-final-prize small{font-size:11px;letter-spacing:.12em;font-weight:900;opacity:.72}.game-final-prize strong{font-size:22px}.mini-confetti{position:fixed;z-index:99999;width:10px;height:18px;border-radius:3px;pointer-events:none;animation:miniConfetti 1.2s ease-out forwards}@keyframes miniConfetti{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}@media(max-width:720px){.mystery-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.mystery-box{min-height:135px}.stop-zones span{font-size:10px;min-height:88px}.scratch-shell{min-height:220px}}

/* MOBILE_SESSIONS_V860 */
.mobile-pose-progress{text-align:center;font-size:18px;font-weight:900;letter-spacing:.08em;color:var(--accent);margin:4px 0}
.mobile-pose-help{text-align:center;color:var(--muted);font-size:13px;margin:0 0 12px}
.mobile-review{width:min(760px,100%);margin:0 auto;padding:20px;text-align:center}
.mobile-review h2{font-size:clamp(24px,5vw,36px);margin:8px 0}.mobile-review-image{display:block;max-width:100%;width:auto;height:auto;max-height:58vh;object-fit:contain;margin:18px auto;border-radius:18px}
.mobile-review-actions{display:grid;gap:12px;max-width:560px;margin:18px auto}.mobile-review-actions .btn{min-height:58px}.mobile-review-actions .primary{min-height:72px;background:linear-gradient(135deg,#19a765,#0b7945);font-size:22px}
#resultStep .print-main-action{grid-column:1/-1;min-height:80px;padding:20px;font-size:clamp(20px,3vw,25px);font-weight:1000;background:linear-gradient(135deg,#19a765,#0b7945);border:2px solid #55dc9b;box-shadow:0 10px 32px #0f995b55;color:#fff}
#resultStep .print-main-action:disabled{opacity:.55;box-shadow:none;cursor:default}#resultStep #guestDownload{font-size:15px;min-height:50px}
#resultStep .result-photo-wrap>img{object-fit:contain;max-height:none}.mobile-review-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.mobile-review{padding:14px}.mobile-review-image{max-height:52vh}#resultStep .print-main-action{min-height:76px;font-size:20px}.mobile-review-actions .primary{font-size:20px}}

@media(max-width:720px){#resultStep .result-photo-wrap>img{max-height:42vh;max-height:42svh;object-fit:contain}#resultStep .result-panel{padding:12px 4px}#resultStep .result-buttons{margin-top:12px}#resultStep .qr-medium{width:150px}}

/* Explicit company credit mode. */
.credit-mode-card{margin:16px 0;padding:18px;border:1px solid var(--primary,#7c5cff);border-radius:16px;background:linear-gradient(120deg,#7c5cff18,#39c6b509)}
.credit-mode-card .check{font-weight:750;font-size:16px;align-items:center;gap:12px}
.credit-mode-card input[role="switch"]{width:23px;height:23px;flex-shrink:0;accent-color:var(--primary,#7c5cff)}
.credit-mode-card p{font-size:13px;line-height:1.5;margin:12px 0}
.credit-mode-card .message{margin-bottom:0}
#creditDialog{width:min(940px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:0}
#creditDialog .modal-wide{width:100%;min-width:0;max-height:calc(100dvh - 32px);padding:20px}
#creditDialog .form-grid>*{min-width:0}
@media(max-width:700px){#creditDialog .modal-wide{padding:14px}#creditDialog .modal-actions{flex-wrap:wrap}}

/* Company-scoped event workspace. */
.event-company-scope{padding:12px;margin-bottom:14px;border:1px solid #5e4b99;border-radius:14px;background:linear-gradient(135deg,#7c5cff1f,#111823)}
.event-company-scope label{font-size:12px;color:#eef3f9;gap:9px}
.event-company-scope select{min-width:0;font-size:13px}
.event-company-scope>small{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:var(--muted)}
.event-company-scope .message:empty{display:none}
.editor-company{margin:0 0 7px;font-size:12px;font-weight:750;color:#baacf2}
.new-event-path{margin-top:14px;padding:12px;border:1px solid #35405c;border-radius:12px;background:#0b1017}
.new-event-path b{display:block;font-size:11px;color:#aab5c4}
.new-event-path output{display:block;overflow-wrap:anywhere;color:#c6baff;margin:7px 0;font-size:13px}
.new-event-path small{display:block;color:var(--muted);font-size:10px;line-height:1.5}

@media(max-width:720px){.admin-page .app-header .header-brand small,.admin-page #adminIdentity{display:none}.admin-page .app-header .brand-mark{flex-shrink:0}.admin-page .header-actions{gap:6px}}
@media(max-width:520px){.admin-page .app-header .header-brand b{display:none}.admin-page .app-header .header-brand{flex-shrink:0}.admin-page .app-header .brand-mark.small{width:34px;height:34px}}

/* Browser preview artwork follows the stage; the video keeps its native framing. */
.camera-stage.browser-frame-fill>#frameOverlay{object-fit:fill}
.camera-actions-near .camera-frame-toggle{flex:1 1 100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.camera-frame-state{border-radius:999px;padding:4px 9px;background:#0e151f;color:#c2cddd;font-size:.84em;white-space:nowrap}
.camera-frame-toggle[aria-pressed="true"] .camera-frame-state{background:rgba(55,211,153,.16);color:#9de7c6}
.camera-frame-toggle:focus-visible{outline:2px solid var(--accent,#a58cff);outline-offset:2px}

.public-video-card{margin:20px auto 0;padding:16px;border:1px solid #29354a;border-radius:18px;text-align:center;background:#111823}
.public-video-card h2{margin:0 0 8px;font-size:clamp(18px,5vw,24px)}
.public-video-card p{margin:0 0 12px;color:var(--muted);line-height:1.5}
.public-video-card video{display:block;max-height:65vh;max-width:100%;width:auto;margin:0 auto 12px;border-radius:12px;background:#080b10}
#videoAiSettings{min-inline-size:0;margin:12px 0;padding:12px;border:1px solid #29354a;border-radius:12px}
#videoAiSettings legend{padding:0 6px}
