:root{--red:#d71920;--yellow:#ffd23f;--black:#050505;--white:#fff;--ink:#111;--muted:#6f6f6f;--line:#e9e4d8;--cream:#fff8e6;--soft:#f7f3e8;--green:#1cff72;--wm-green:#c1ff18;--wm-pink:#ff009d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,sans-serif;background:#070707;color:var(--ink)}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;background:#070707;padding:28px}.wm-site{background:radial-gradient(circle at 78% 8%,rgba(193,255,24,.18),transparent 25%),radial-gradient(circle at 8% 18%,rgba(255,0,157,.16),transparent 30%),linear-gradient(140deg,#050505 0%,#141414 58%,#080808 100%)}.wrap{width:min(1220px,100%);margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px;color:#fff}.brand img{height:42px;object-fit:contain}.brand small{display:block;color:#f7d7d7;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:11px 15px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.wm-pill{border-color:rgba(193,255,24,.34);color:#fff;background:rgba(193,255,24,.08)}.event-banner{min-height:310px;border-radius:36px;border:1px solid rgba(255,255,255,.13);overflow:hidden;position:relative;background:linear-gradient(110deg,#f8f8f2 0%,#f8f8f2 56%,#111 56%,#111 100%);display:flex;align-items:center;justify-content:space-between;padding:42px 50px;margin-bottom:22px;box-shadow:none}.event-banner:before{content:"";position:absolute;inset:auto -80px -120px auto;width:390px;height:390px;border-radius:50%;background:var(--wm-green)}.event-banner:after{content:"";position:absolute;left:46%;top:-82px;width:210px;height:210px;border-radius:50%;background:var(--wm-pink)}.banner-copy{position:relative;z-index:2;max-width:650px}.banner-copy p{margin:0 0 14px;color:#d71920;letter-spacing:.22em;text-transform:uppercase;font-weight:900;font-size:12px}.banner-copy h1{margin:0;font-size:clamp(46px,8vw,104px);line-height:.88;letter-spacing:-.075em;font-weight:900;color:#111}.banner-copy h1 span{display:block;color:var(--wm-green);-webkit-text-stroke:1.5px #111;text-shadow:4px 5px 0 #ff009d}.banner-copy small{display:block;margin-top:24px;max-width:520px;color:#444;font-size:15px;font-weight:650;line-height:1.6}.banner-mark{position:relative;z-index:2;color:#fff;display:flex;flex-direction:column;align-items:flex-end;text-align:right;margin-left:auto}.banner-mark span{font-size:150px;line-height:.7;color:var(--wm-green);font-weight:900;font-style:italic;text-shadow:8px 0 0 var(--wm-pink)}.banner-mark b{font-size:28px;color:var(--wm-pink);font-weight:900;letter-spacing:-.04em}.register-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:22px;align-items:stretch}.event-panel{min-height:100%}.event-card-clean,.form-card,.panel{background:#fff;border-radius:32px;padding:30px;border:1px solid rgba(255,255,255,.6);box-shadow:none}.event-card-clean{height:100%;background:#0f0f0f;color:#fff;border-color:rgba(255,255,255,.12);position:relative;overflow:hidden}.event-card-clean:before{content:"";position:absolute;right:-90px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:rgba(193,255,24,.14)}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:0 0 12px}.neon{color:var(--wm-green)}.event-card-clean h2{font-size:34px;line-height:1.05;letter-spacing:-.055em;margin:0 0 18px;position:relative;z-index:1}.subtext{position:relative;z-index:1;margin:0;max-width:620px;color:#555;line-height:1.75;font-weight:500}.event-card-clean .subtext{color:#cacaca}.flow-list{position:relative;z-index:1;display:grid;gap:12px;margin-top:28px}.flow-list div{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px}.flow-list b{color:#ff009d;font-size:12px}.flow-list span{font-weight:800}.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.card-title h2,.panel h1,.panel h2{font-size:26px;line-height:1.1;margin:0;font-weight:900;letter-spacing:-.04em}.card-title p{margin:8px 0 0;color:#777;font-size:13px;line-height:1.6}.stepper{display:flex;gap:8px;margin-bottom:20px}.step{height:7px;border-radius:99px;background:#ece5d4;flex:1}.step.active{background:linear-gradient(90deg,var(--wm-pink),var(--wm-green))}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:#222}.control{width:100%;border:1px solid #ded8cb;background:#fff;border-radius:18px;padding:15px 16px;font:650 14px Montserrat;color:#111;outline:none;transition:.18s}.control:focus{border-color:#111;box-shadow:0 0 0 4px rgba(193,255,24,.24)}.otp-input{text-align:center;font-size:28px;letter-spacing:.35em;font-weight:900}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btn{appearance:none;border:0;border-radius:18px;padding:15px 18px;font:900 13px Montserrat;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.18s}.btn-primary{background:#050505;color:#fff}.btn-primary:hover{transform:translateY(-1px);background:#ff009d;color:#fff}.btn-yellow{background:var(--wm-green);color:#111}.btn-red{background:var(--red);color:#fff}.btn-ghost{background:#fff;color:#111;border:1px solid #ded8cb}.w-full{width:100%}.note{padding:14px 16px;border-radius:18px;background:#f4ffd3;border:1px solid rgba(193,255,24,.8);color:#344100;font-size:12px;line-height:1.55;font-weight:750;margin-bottom:16px}.dark-note{background:#111;color:#fff;border-color:#111}.dev-otp{font-size:14px}.dev-otp b{font-size:22px;letter-spacing:.16em}.flash{position:fixed;top:18px;right:18px;z-index:40;border-radius:18px;padding:14px 16px;font-weight:800;font-size:13px;box-shadow:0 18px 50px rgba(0,0,0,.2);background:#fff}.flash.error{border-left:5px solid var(--red)}.flash.success{border-left:5px solid var(--green)}.checkout-shell{min-height:100vh;background:#f7f3e8;padding:28px}.verify-shell{background:radial-gradient(circle at 20% 10%,rgba(255,0,157,.13),transparent 34%),#f7f3e8}.checkout-grid{display:grid;grid-template-columns:1fr 390px;gap:22px}.muted{color:#777;line-height:1.65}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #eee5d5;font-weight:700}.summary-line.total{font-size:22px;font-weight:900;color:#ff009d;border-bottom:0}.method{border:1px solid #e4dccb;border-radius:20px;padding:16px;margin:12px 0;display:flex;gap:12px;align-items:flex-start}.method input{margin-top:4px}.verify-card{width:min(620px,100%);margin:34px auto}.ticket-wrap{min-height:100vh;background:#080808;padding:28px}.ticket-card{width:min(760px,100%);margin:auto;background:#fff;border-radius:34px;overflow:hidden;border:1px solid #fff}.ticket-head{background:linear-gradient(135deg,#050505,#202020);color:#fff;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ticket-head img{height:42px}.ticket-body{padding:30px;display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:center}.qr-box{border:1px solid #e7e0d3;border-radius:26px;padding:18px;text-align:center;background:#fffdf7}.qr-box img{width:100%;max-width:230px}.badge{display:inline-flex;border-radius:999px;padding:8px 12px;background:#ecfff4;color:#08713e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-body{background:#f6f2e8;min-height:100vh}.admin-layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#070707;color:#fff;padding:26px;position:sticky;top:0;height:100vh}.sidebar img{height:38px;margin-bottom:24px}.nav a{display:block;padding:13px 14px;border-radius:16px;margin:6px 0;color:#e8e8e8;font-weight:800;font-size:13px}.nav a:hover,.nav a.active{background:#191919;color:#B6FF19}.main{padding:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric{background:#fff;border:1px solid #e7e0d3;border-radius:24px;padding:20px}.metric b{font-size:30px}.metric span{display:block;color:#777;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.table-card{background:#fff;border:1px solid #e7e0d3;border-radius:28px;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px;border-bottom:1px solid #eee8dc;font-size:13px;vertical-align:top}th{background:#fff9e7;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.status{display:inline-flex;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status.pending{background:#fff6cd;color:#765900}.status.paid{background:#e9fff2;color:#08713e}.status.failed{background:#ffe7e7;color:#b20d14}.scanner-box{background:#fff;border:1px solid #e7e0d3;border-radius:30px;padding:22px;max-width:680px}.scan-result{margin-top:16px;border-radius:20px;padding:16px;font-weight:800}.scan-result.ok{background:#e9fff2;color:#08713e}.scan-result.bad{background:#ffe7e7;color:#b20d14}@media(max-width:900px){.site-shell,.checkout-shell,.ticket-wrap{padding:16px}.event-banner{padding:28px;border-radius:26px;min-height:360px;background:linear-gradient(180deg,#f8f8f2 0%,#f8f8f2 68%,#111 68%,#111 100%);align-items:flex-start}.banner-mark{position:absolute;right:28px;bottom:26px}.banner-mark span{font-size:92px}.register-layout,.checkout-grid,.ticket-body,.admin-layout{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.metric-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.event-card-clean,.form-card,.panel{border-radius:26px;padding:22px}.banner-copy h1{font-size:52px}}
.clean-banner {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 24px;
  align-items: stretch;
  padding: 38px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 90% 12%, rgba(182, 255, 25, .35), transparent 30%),
    radial-gradient(circle at 18% 90%, rgba(255, 0, 157, .22), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f7f5ef 52%, #ffffff 100%);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: none;
}

.clean-banner::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -54px;
  top: -54px;
  border-radius: 50%;
  background: #b6ff19;
  opacity: .86;
}

.clean-banner::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  left: -42px;
  bottom: -64px;
  border-radius: 50%;
  background: #ff009d;
  opacity: .12;
}

.clean-banner .banner-copy {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.clean-banner .banner-copy p {
  margin: 0 0 12px;
  color: #e11923;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 13px;
}

.clean-banner .banner-copy h1 {
  margin: 0;
  font-size: clamp(54px, 7vw, 104px);
  line-height: .82;
  letter-spacing: -.08em;
  color: #e11923;
  font-weight: 950;
}

.clean-banner .banner-copy h1 span {
  display: block;
  color: #050505;
}

.clean-banner .banner-copy small {
  display: block;
  margin-top: 24px;
  max-width: 680px;
  color: #343434;
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: -.01em;
}

.banner-info-card {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: end;
  gap: 14px;
}

.banner-info-card div {
  background: rgba(5,5,5,.92);
  color: #fff;
  border-radius: 22px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.12);
}

.banner-info-card small {
  display: block;
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 5px;
}

.banner-info-card b {
  display: block;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -.04em;
}

@media (max-width: 980px) {
  .clean-banner {
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .banner-info-card {
    grid-template-columns: 1fr;
  }
}

.ticket-page-pro {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 0, 157, .18), transparent 28%),
    radial-gradient(circle at 86% 4%, rgba(182, 255, 25, .20), transparent 24%),
    linear-gradient(135deg, #050505 0%, #090909 48%, #15130b 100%);
  color: #111;
  padding: 34px 18px 54px;
}

.ticket-bg-orb {
  position: fixed;
  pointer-events: none;
  filter: blur(18px);
  opacity: .7;
  border-radius: 50%;
}

.ticket-bg-orb.orb-one {
  width: 260px;
  height: 260px;
  background: rgba(255, 0, 157, .18);
  left: -90px;
  bottom: 14%;
}

.ticket-bg-orb.orb-two {
  width: 280px;
  height: 280px;
  background: rgba(182, 255, 25, .14);
  right: -110px;
  top: 12%;
}

.ticket-shell-pro {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 0 auto;
}

.ticket-top-pro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.ticket-brand-pro {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #fff;
  text-decoration: none;
}

.ticket-brand-pro img {
  width: 184px;
  height: auto;
  display: block;
}

.ticket-brand-pro span {
  display: grid;
  gap: 2px;
}

.ticket-brand-pro small,
.ticket-status-pro span {
  color: rgba(255,255,255,.58);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
}

.ticket-brand-pro b,
.ticket-status-pro b {
  color: #fff;
  font-size: 17px;
  letter-spacing: -.02em;
}

.ticket-status-pro {
  text-align: right;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  padding: 12px 18px;
  backdrop-filter: blur(12px);
}

.ticket-status-pro span,
.ticket-status-pro b {
  display: block;
}

.ticket-hero-pro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 18px;
}

.ticket-hero-pro > div:first-child {
  background:
    radial-gradient(circle at 88% 0%, rgba(182,255,25,.34), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f9f8f3 100%);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 32px;
  padding: 34px;
}

.ticket-hero-pro p {
  margin: 0 0 10px;
  color: #e11923;
  text-transform: uppercase;
  letter-spacing: .20em;
  font-size: 12px;
  font-weight: 950;
}

.ticket-hero-pro h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(42px, 5vw, 74px);
  line-height: .92;
  letter-spacing: -.075em;
  font-weight: 950;
  color: #050505;
}

.ticket-hero-pro span {
  display: block;
  max-width: 680px;
  margin-top: 18px;
  color: #555;
  font-size: 16px;
  line-height: 1.7;
}

.ticket-meta-pro {
  display: grid;
  gap: 14px;
}

.ticket-meta-pro div {
  border-radius: 26px;
  padding: 22px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(14px);
}

.ticket-meta-pro small {
  display: block;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 850;
  margin-bottom: 6px;
}

.ticket-meta-pro b {
  display: block;
  color: #fff;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.ticket-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 24px;
  padding: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(14px);
}

.inline-action-form {
  margin: 0;
}

.ticket-action-btn {
  appearance: none;
  border: 1px solid rgba(255,255,255,.15);
  background: #fff;
  color: #050505;
  border-radius: 999px;
  padding: 13px 18px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

.ticket-action-btn:hover {
  transform: translateY(-1px);
}

.ticket-action-btn.primary {
  background: #b6ff19;
  border-color: #b6ff19;
}

.ticket-action-btn.ghost {
  background: transparent;
  color: #fff;
}

.ticket-export-area {
  display: grid;
  gap: 22px;
}

.premium-ticket-card {
  overflow: hidden;
  border-radius: 34px;
  background: #fbfaf6;
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 34px 90px rgba(0,0,0,.28);
}

.ticket-ribbon {
  min-height: 142px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 30px 38px;
  background:
    radial-gradient(circle at 90% 0%, rgba(182,255,25,.22), transparent 34%),
    linear-gradient(135deg, #050505 0%, #141414 100%);
  color: #fff;
}

.ticket-ribbon-brand img {
  width: 250px;
  max-width: 100%;
  height: auto;
  display: block;
}

.ticket-ribbon-info {
  text-align: right;
}

.ticket-ribbon-info small {
  display: block;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.05em;
  margin-bottom: 8px;
}

.ticket-ribbon-info b {
  display: block;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  letter-spacing: .02em;
  font-weight: 700;
}

.ticket-body-grid {
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  gap: 34px;
  padding: 42px;
  align-items: center;
}

.qr-panel {
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 10%, rgba(182,255,25,.16), transparent 28%),
    #fffdf8;
  border: 1px solid #e9dfc9;
  padding: 28px;
  display: grid;
  justify-items: center;
}

.qr-box {
  width: 300px;
  height: 300px;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 26px;
  padding: 10px;
}

.qr-box img,
.qr-box canvas {
  width: 280px !important;
  height: 280px !important;
  display: block;
}

.ticket-code-box {
  width: 100%;
  margin-top: 16px;
  border-radius: 20px;
  background: #050505;
  color: #fff;
  padding: 14px 16px;
  text-align: center;
}

.ticket-code-box small {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.54);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  font-weight: 900;
}

.ticket-code-box b {
  display: block;
  font-size: 17px;
  letter-spacing: .02em;
}

.ticket-detail-panel {
  min-width: 0;
}

.ticket-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.ticket-badge {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
}

.ticket-badge.valid {
  color: #006b3b;
  background: #e9fff2;
}

.ticket-badge.used {
  color: #9b2b00;
  background: #fff0e8;
}

.ticket-badge.soft {
  color: #050505;
  background: #efffbf;
}

.ticket-detail-panel h2 {
  margin: 0 0 24px;
  font-size: clamp(36px, 4.5vw, 64px);
  line-height: .95;
  letter-spacing: -.075em;
  color: #050505;
  font-weight: 950;
}

.ticket-info-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ticket-info-list div {
  min-width: 0;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #eee4d0;
  padding: 16px;
}

.ticket-info-list small {
  display: block;
  color: #777;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px;
  font-weight: 900;
  margin-bottom: 7px;
}

.ticket-info-list b {
  display: block;
  color: #111;
  font-size: 17px;
  line-height: 1.25;
  word-break: break-word;
}

.ticket-note-pro {
  margin-top: 18px;
  border-radius: 24px;
  background: #fff8d7;
  border: 1px solid #f3df86;
  color: #4f3b00;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 700;
}

.ticket-footer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 38px;
  background: #f1eadb;
  border-top: 1px solid #e5dcc8;
}

.ticket-footer-strip span,
.ticket-footer-strip b {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 950;
  color: #4e4739;
}

@media (max-width: 980px) {
  .ticket-page-pro {
    padding: 20px 12px 42px;
  }

  .ticket-top-pro {
    align-items: flex-start;
    flex-direction: column;
  }

  .ticket-status-pro {
    text-align: left;
    border-radius: 22px;
    width: 100%;
  }

  .ticket-brand-pro img {
    width: 150px;
  }

  .ticket-hero-pro {
    grid-template-columns: 1fr;
  }

  .ticket-hero-pro > div:first-child {
    padding: 26px;
    border-radius: 28px;
  }

  .ticket-meta-pro {
    grid-template-columns: 1fr;
  }

  .ticket-action-bar {
    border-radius: 26px;
  }

  .ticket-action-btn,
  .inline-action-form {
    width: 100%;
  }

  .ticket-action-btn {
    justify-content: center;
  }

  .ticket-body-grid {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 24px;
  }

  .ticket-ribbon {
    min-height: auto;
    padding: 24px;
    align-items: flex-start;
    flex-direction: column;
  }

  .ticket-ribbon-brand img {
    width: 190px;
  }

  .ticket-ribbon-info {
    text-align: left;
  }

  .ticket-ribbon-info small {
    font-size: 24px;
  }

  .qr-panel {
    padding: 18px;
    border-radius: 28px;
  }

  .qr-box {
    width: min(100%, 290px);
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .qr-box img,
  .qr-box canvas {
    width: 250px !important;
    height: 250px !important;
  }

  .ticket-detail-panel h2 {
    font-size: 42px;
  }

  .ticket-info-list {
    grid-template-columns: 1fr;
  }

  .ticket-footer-strip {
    padding: 18px 24px;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .ticket-hero-pro h1 {
    font-size: 42px;
  }

  .ticket-detail-panel h2 {
    font-size: 36px;
  }

  .ticket-ribbon-info small {
    font-size: 22px;
  }

  .qr-box img,
  .qr-box canvas {
    width: 220px !important;
    height: 220px !important;
  }
}

@media print {
  body {
    background: #fff !important;
  }

  .no-export,
  .ticket-bg-orb {
    display: none !important;
  }

  .ticket-page-pro {
    background: #fff !important;
    padding: 0 !important;
  }

  .ticket-shell-pro {
    width: 100% !important;
  }

  .premium-ticket-card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

.header-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mini-login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: #ffffff;
  color: #050505;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: 1px solid rgba(255,255,255,.18);
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.mini-login-btn:hover {
  transform: translateY(-1px);
  background: #c1ff1c;
  color: #050505;
}

.ticket-login-card {
  grid-column: 1 / -1;
  margin-top: 22px;
}

.login-card-inner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
  gap: 28px;
  align-items: center;
  padding: 34px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 90% 12%, rgba(193,255,28,.24), transparent 28%),
    radial-gradient(circle at 8% 90%, rgba(255,0,157,.16), transparent 30%),
    linear-gradient(135deg, #101010 0%, #050505 100%);
  border: 1px solid rgba(255,255,255,.13);
  color: #fff;
}

.login-card-inner::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -80px;
  width: 220px;
  height: 220px;
  background: #c1ff1c;
  opacity: .18;
  border-radius: 50%;
}

.login-copy,
.ticket-login-form {
  position: relative;
  z-index: 2;
}

.login-copy h2 {
  max-width: 560px;
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 4.4vw, 68px);
  line-height: .9;
  letter-spacing: -.075em;
  font-weight: 950;
}

.login-copy span {
  display: block;
  max-width: 620px;
  margin-top: 18px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}

.ticket-login-form {
  display: grid;
  gap: 14px;
  padding: 24px;
  border-radius: 28px;
  background: #fff;
  color: #050505;
}

.ticket-login-form .field {
  margin: 0;
}

.ticket-login-form .control {
  background: #fbfaf6;
}

.login-helper {
  display: block;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 980px) {
  .header-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .login-card-inner {
    grid-template-columns: 1fr;
    padding: 26px;
  }

  .login-copy h2 {
    font-size: 42px;
  }
}

@media (max-width: 560px) {
  .header-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mini-login-btn,
  .header-actions .pill {
    width: 100%;
  }

  .ticket-login-card {
    margin-top: 18px;
  }

  .login-card-inner {
    padding: 20px;
    border-radius: 28px;
  }

  .login-copy h2 {
    font-size: 34px;
  }

  .login-copy span {
    font-size: 14px;
  }

  .ticket-login-form {
    padding: 18px;
    border-radius: 24px;
  }
}

.auth-card {
  position: relative;
  overflow: hidden;
}

.auth-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 7px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: #f3efe5;
  border: 1px solid #e7ddca;
}

.auth-tab {
  appearance: none;
  border: 0;
  min-height: 46px;
  border-radius: 999px;
  background: transparent;
  color: #65615a;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  transition:
    transform .18s ease,
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

.auth-tab:hover {
  transform: translateY(-1px);
  color: #050505;
}

.auth-tab.active {
  color: #050505;
  background: linear-gradient(135deg, #ffffff 0%, #fffaf0 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.auth-panel {
  display: none;
  opacity: 0;
  transform: translateY(12px) scale(.985);
}

.auth-panel.active {
  display: block;
  animation: authPanelIn .34s ease forwards;
}

@keyframes authPanelIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.985);
    filter: blur(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.auth-kicker {
  margin: 0 0 8px;
  color: #ff009d;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.wm-stepper.login-mode .step:nth-child(1) {
  background: linear-gradient(90deg, #ff009d, #c1ff1c);
}

.wm-stepper.login-mode .step:nth-child(2),
.wm-stepper.login-mode .step:nth-child(3),
.wm-stepper.login-mode .step:nth-child(4) {
  background: #e9e0cd;
}

.login-status-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 18px;
}

.login-status-box div {
  min-width: 0;
  padding: 14px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 0%, rgba(193,255,28,.20), transparent 36%),
    #111111;
  border: 1px solid rgba(255,255,255,.08);
}

.login-status-box b {
  display: block;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -.02em;
  margin-bottom: 5px;
}

.login-status-box span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  line-height: 1.45;
  font-weight: 700;
}

/* =========================================================
   WARNOES HERO VIDEO - FINAL CLEAN FIT
   Video dibuat kecil, fit, horizontal, dan tidak kegedean.
   ========================================================= */

.event-banner.wm-hero-video {
  position: relative !important;
  display: block !important;
  width: 100% !important;

  height: 340px !important;
  min-height: 340px !important;
  max-height: 340px !important;

  padding: 0 !important;
  margin: 0 0 22px !important;

  overflow: hidden !important;
  border-radius: 34px !important;
  background: #050505 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

/* matiin ornament bawaan .event-banner lama */
.event-banner.wm-hero-video::before,
.event-banner.wm-hero-video::after {
  display: none !important;
  content: none !important;
}

/* matiin elemen visual lama kalau masih ada */
.event-banner.wm-hero-video .banner-copy,
.event-banner.wm-hero-video .banner-mark,
.event-banner.wm-hero-video .visual,
.event-banner.wm-hero-video .shape,
.event-banner.wm-hero-video .orb,
.event-banner.wm-hero-video .graphic,
.event-banner.wm-hero-video .banner-art,
.event-banner.wm-hero-video .media-box,
.event-banner.wm-hero-video .event-visual,
.event-banner.wm-hero-video .wm-hero-video__content {
  display: none !important;
}

/* ini kunci utamanya: contain, bukan cover */
.event-banner.wm-hero-video video,
.wm-hero-video__media {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;

  background: #050505 !important;
  z-index: 1 !important;
}

/* overlay dimatiin dulu biar video asli keliatan bersih */
.wm-hero-video__overlay {
  display: none !important;
}

/* desktop kecil / tablet */
@media (max-width: 991px) {
  .event-banner.wm-hero-video {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    border-radius: 28px !important;
  }
}

/* mobile */
@media (max-width: 640px) {
  .event-banner.wm-hero-video {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    border-radius: 22px !important;
  }
}