body{font-family:Arial,sans-serif;background:#f5f7fb;color:#0f172a;margin:0}
.wrap{max-width:1100px;margin:0 auto;padding:20px}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.topbar h1{margin:0;color:var(--brand-accent)}
.topbar p{margin:4px 0 0;color:#475569}
nav a{margin-left:12px;text-decoration:none;color:var(--brand-primary)}
.card{background:white;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.08);margin-bottom:20px}
.narrow{max-width:520px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
label{display:block;margin:12px 0 6px}
input,button,select{font-size:16px;padding:12px;border-radius:10px;border:1px solid #cbd5e1;width:100%;box-sizing:border-box}
button,.btn{background:var(--brand-primary);color:white;border:none;display:inline-block;text-decoration:none;padding:12px 16px;border-radius:10px;cursor:pointer}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:18px}
.flash.success{background:#dcfce7}.flash.error{background:#fee2e2}
.qr{max-width:180px;background:white;padding:8px;border-radius:10px}
.frame-body{background:black;color:white;overflow:hidden}
.frame-stage{position:fixed;inset:0}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1s ease}
.slide.active{opacity:1}
.frame-overlay{position:fixed;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;z-index:2;background:rgba(0,0,0,.3);padding:10px 14px;border-radius:12px}
.frame-events{position:fixed;left:16px;bottom:16px;right:16px;z-index:2;display:flex;gap:12px;flex-wrap:wrap}
.frame-events span{background:rgba(0,0,0,.45);padding:8px 12px;border-radius:999px}
.tiny-btn{width:auto;padding:6px 10px;border-radius:8px;background:#fff;color:#111827}
