.event-page,.staff-page{background:#050610;color:#fff}.event-hero{min-height:82vh;background-size:cover;background-position:center;display:flex;align-items:center;position:relative}.event-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#050610);pointer-events:none}.event-hero-content{position:relative;z-index:2;max-width:900px;padding:150px 7% 80px}.event-hero h1{font-size:clamp(42px,7vw,86px);line-height:.96;margin:14px 0;background:linear-gradient(90deg,#fff,#bdf4ff,#ffd86b);-webkit-background-clip:text;background-clip:text;color:transparent}.event-meta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.event-meta span{background:rgba(255,255,255,.08);border:1px solid rgba(82,220,255,.22);border-radius:999px;padding:10px 14px;font-weight:900}.event-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}.map-card{border:1px solid rgba(82,220,255,.24);border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.36)}.map-card iframe{display:block;width:100%;height:420px;border:0}.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.promo-card{background:linear-gradient(180deg,rgba(23,26,45,.82),rgba(10,10,18,.88));border:1px solid rgba(82,220,255,.24);border-radius:28px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.36)}.promo-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.promo-card-head span,.promo-card-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#ffd86b}.promo-card h3{font-size:26px;margin:0 0 8px}.promo-card p{color:#d9dcf4}.promo-form{display:grid;gap:12px;margin-top:18px}.promo-form input,.staff-card input{width:100%;border:1px solid rgba(82,220,255,.24);background:rgba(0,0,0,.32);color:#fff;border-radius:14px;padding:13px 14px;font:inherit;outline:none}.result-box{margin-top:16px;border-radius:18px;padding:16px;border:1px solid rgba(255,255,255,.15)}.result-box.success{background:rgba(0,217,120,.12);border-color:rgba(0,217,120,.35)}.result-box.error{background:rgba(255,59,87,.12);border-color:rgba(255,59,87,.35)}.result-box code{word-break:break-all;color:#ffd86b;font-weight:900}.qr-img{display:block;width:220px;height:220px;background:#fff;border-radius:14px;margin:14px 0}.qr-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.small{font-size:13px;opacity:.8}.staff-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top,rgba(0,217,255,.16),transparent 35%),#050610}.staff-card{width:min(760px,100%);background:rgba(255,255,255,.07);border:1px solid rgba(82,220,255,.24);border-radius:30px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.35);backdrop-filter:blur(12px)}.staff-logo{width:220px;display:block;margin:0 auto 20px}.staff-card h1{font-size:clamp(34px,6vw,58px);line-height:1;margin:10px 0}.staff-card label{display:grid;gap:8px;margin:14px 0;font-weight:900}.scanner-box{border:1px dashed rgba(82,220,255,.28);border-radius:20px;padding:14px;margin:18px 0}.scanner-box video{display:block;width:100%;max-height:320px;background:#000;border-radius:14px}.staff-actions{display:flex;gap:10px;flex-wrap:wrap}.full{width:100%;border:0;cursor:pointer}.staff-links{display:flex;gap:12px;justify-content:center;margin-top:20px;flex-wrap:wrap}.staff-links a,.staff-links button{color:#bdf4ff;font-weight:900}.staff-step{display:none}.staff-step.active{display:block}.staff-hint{margin-top:14px;background:rgba(255,255,255,.07);border:1px solid rgba(82,220,255,.18);border-radius:14px;padding:12px;color:#d9dcf4}.flow-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.flow-tabs button{border:1px solid rgba(82,220,255,.24);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer}.flow-tabs button.active{background:linear-gradient(90deg,#ffb000,#ffd86b);color:#140900}.verify-mode{display:none}.verify-mode.active{display:block}#html5-reader{width:100%;display:none;overflow:hidden;border-radius:14px}@media(max-width:850px){.event-layout,.promo-grid{grid-template-columns:1fr}.event-hero-content{padding-left:5%;padding-right:5%}.map-card iframe{height:320px}.promo-card{padding:20px}}

/* STAFF APP MODE V19 */
.staff-app-mode{
  overscroll-behavior:none;
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
}

.staff-app-card{
  min-height:min(92vh,900px);
  display:flex;
  flex-direction:column;
}

.staff-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.staff-topbar .staff-logo{
  max-width:170px;
  margin:0;
}

.staff-logout{
  border:1px solid rgba(255,216,107,.28);
  background:rgba(255,176,0,.1);
  color:#ffd86b;
  border-radius:999px;
  padding:9px 13px;
  font-weight:900;
}

.hidden{display:none!important}

.staff-status-strip{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  border:1px solid rgba(0,217,120,.28);
  background:rgba(0,217,120,.08);
  border-radius:16px;
  padding:11px 13px;
  margin:12px 0;
  color:#fff;
}

.staff-status-strip strong{
  color:#8dffbd;
}

.staff-result-big{
  font-size:1.04rem;
  border-width:2px;
}

.staff-result-big strong{
  font-size:clamp(22px,5vw,34px);
  display:block;
  margin-bottom:8px;
}

.staff-history{
  margin-top:18px;
  border:1px solid rgba(82,220,255,.16);
  background:rgba(255,255,255,.035);
  border-radius:18px;
  padding:14px;
}

.staff-history-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.staff-history-head button{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:800;
}

.staff-history-item{
  border-radius:14px;
  padding:10px;
  margin-top:8px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}

.staff-history-item.ok{
  border-color:rgba(0,217,120,.25);
}

.staff-history-item.bad{
  border-color:rgba(255,59,87,.3);
}

.staff-history-item strong,
.staff-history-item span,
.staff-history-item small{
  display:block;
}

.staff-history-item span{
  color:#bdf4ff;
  font-size:12px;
}

.staff-history-item small{
  color:#d9dcf4;
}

@media(max-width:720px){
  .staff-shell{
    padding:10px;
  }

  .staff-card{
    width:100%;
    border-radius:22px;
    padding:18px;
  }

  .staff-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .flow-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .staff-links{
    display:grid;
    grid-template-columns:1fr;
  }

  input,button,a{
    touch-action:manipulation;
  }
}

@media(orientation:landscape) and (max-height:520px){
  .staff-card{
    min-height:auto;
  }

  .staff-logo{
    max-height:72px;
    width:auto;
  }
}


/* STAFF APP FEEDBACK V20 */
.staff-flash-ok::after,
.staff-flash-error::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:999999;
  pointer-events:none;
  animation:staffFlash .65s ease-out both;
}

.staff-flash-ok::after{
  background:rgba(0,255,120,.42);
  box-shadow:inset 0 0 0 9999px rgba(0,255,120,.16);
}

.staff-flash-error::after{
  background:rgba(255,0,55,.46);
  box-shadow:inset 0 0 0 9999px rgba(255,0,55,.18);
}

@keyframes staffFlash{
  0%{opacity:0}
  12%{opacity:1}
  45%{opacity:.82}
  100%{opacity:0}
}


/* STAFF FEEDBACK V21 - stronger OK/STOP overlay */
.staff-flash-ok::after,
.staff-flash-error::after{
  content:attr(data-staff-flash-text);
  position:fixed;
  inset:0;
  z-index:999999;
  pointer-events:none;
  display:grid;
  place-items:center;
  font-size:clamp(76px,22vw,210px);
  font-weight:1000;
  letter-spacing:.04em;
  color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,.55);
  animation:staffFlashV21 .95s ease-out both;
}

.staff-flash-ok::after{
  background:radial-gradient(circle, rgba(0,255,120,.82), rgba(0,160,70,.58) 42%, rgba(0,255,120,.22) 100%);
  box-shadow:inset 0 0 0 9999px rgba(0,255,120,.16);
}

.staff-flash-error::after{
  background:radial-gradient(circle, rgba(255,0,55,.9), rgba(160,0,20,.68) 44%, rgba(255,0,55,.26) 100%);
  box-shadow:inset 0 0 0 9999px rgba(255,0,55,.20);
}

@keyframes staffFlashV21{
  0%{opacity:0;transform:scale(.88)}
  10%{opacity:1;transform:scale(1.04)}
  22%{opacity:.72;transform:scale(.98)}
  34%{opacity:1;transform:scale(1.02)}
  50%{opacity:.86;transform:scale(1)}
  100%{opacity:0;transform:scale(1.08)}
}


/* PERFORMANCE V48 */
@media(max-width:900px), (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
