:root{--primary:#7c3aed;--dark:#111827;--soft:#f5f7fb;--muted:#6b7280;--card:#fff;--border:#e5e7eb}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--soft);color:#111827}
.bg-soft{background:linear-gradient(135deg,#f7f5ff,#f8fafc)}
.navbar-event{backdrop-filter:blur(12px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:1030}
.brand-dot{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#ec4899);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
.hero{min-height:620px;display:flex;align-items:center;position:relative;overflow:hidden;background:#111827}
.hero-cover{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.62)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,24,39,.9),rgba(17,24,39,.35),rgba(17,24,39,.65))}
.hero-content{position:relative;z-index:2;color:#fff}
.hero-badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.hero h1{font-size:clamp(2.4rem,6vw,5.5rem);font-weight:900;line-height:.98;letter-spacing:-.04em}
.section{padding:80px 0}
.section-title{font-weight:850;letter-spacing:-.03em}
.glass-card{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 50px rgba(17,24,39,.08);border-radius:28px}
.info-card{height:100%;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 35px rgba(17,24,39,.05)}
.icon-box{width:48px;height:48px;border-radius:16px;background:#f3e8ff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px}
.timeline{border-left:2px solid #e9d5ff;padding-left:24px}
.timeline-item{position:relative;margin-bottom:28px}
.timeline-item:before{content:"";position:absolute;left:-32px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px #f3e8ff}
.qr-box{background:#fff;border-radius:24px;padding:20px;display:inline-block;box-shadow:0 12px 35px rgba(0,0,0,.08)}
.admin-sidebar{min-height:100vh;background:#111827;color:#fff;position:sticky;top:0}
.admin-sidebar a{color:#cbd5e1;text-decoration:none;display:block;padding:11px 14px;border-radius:12px;margin:3px 0}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.1);color:#fff}
.metric{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 8px 25px rgba(17,24,39,.04)}
.metric .value{font-size:2rem;font-weight:850}
.table-card{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden}
.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#f3f4f6}
.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.checkin-shell{min-height:100vh;background:radial-gradient(circle at top,#ede9fe,#f8fafc 50%)}
#reader{max-width:520px;margin:auto}
.scan-success{animation:pop .25s ease}
@keyframes pop{
	from{transform:scale(.94);opacity:.5}to{transform:scale(1);opacity:1}
}
.sticky-bottom-mobile{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:1000;width:min(92%,480px)}
@media(max-width:768px){
	.hero{min-height:570px}
	.section{padding:56px 0}
	.hero h1{font-size:3rem}
	.admin-sidebar{position:static;min-height:auto}
	.admin-main{padding-top:20px}
}
