:root{font-family:Arial,sans-serif;color:#123b5d;background:#f3f6f8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;padding:24px 14px}main{max-width:560px;margin:auto;background:white;border-radius:20px;box-shadow:0 12px 36px #123b5d18;padding:30px 24px}.brand{text-align:center;font-weight:800;letter-spacing:.4px}h1{font-size:25px;line-height:1.2}h2{font-size:20px;text-align:center}#meta,#notice{font-size:15px;line-height:1.5;color:#536574}label{display:block;font-weight:bold;margin-top:18px}input:not([type=checkbox]){width:100%;font:inherit;font-size:20px;border:1px solid #8ba3b5;border-radius:10px;padding:14px;margin-top:8px}button,#recover{display:block;width:100%;border:0;border-radius:11px;padding:17px;background:#0b76bd;color:white;font-weight:800;font-size:17px;margin-top:22px;text-align:center;text-decoration:none;cursor:pointer}button:disabled{opacity:.55;cursor:default}.choice{display:flex;align-items:flex-start;gap:12px;font-weight:normal;font-size:15px;line-height:1.4}.choice input{width:22px;height:22px;flex-shrink:0;margin:0}.rule{font-size:14px;line-height:1.5;color:#536574}.queue{padding:12px;background:#edf5fa;border-radius:10px}.support{display:block;background:#14804a;color:white;padding:15px;border-radius:11px;text-align:center;text-decoration:none;font-weight:bold;margin-top:24px}nav{display:flex;justify-content:center;gap:24px;padding-top:18px}nav a{color:#123b5d}details{margin-top:22px}summary{cursor:pointer;font-weight:bold}iframe{display:none}

#opening{text-align:center}.spinner{width:34px;height:34px;margin:28px auto;border:3px solid #e3eeef;border-top-color:#0b76bd;border-radius:50%;animation:turn 1s linear infinite}#openingMessage{line-height:1.7}@keyframes turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

/* Restore the established registration design from the previous Index template. */
body{background:linear-gradient(180deg,#eaf7fd,#fff 42%);font:16px/1.45 Arial,sans-serif;color:#17202a;padding:0}
main{width:min(560px,calc(100% - 28px));margin:26px auto;padding:28px;border-radius:22px;box-shadow:0 14px 40px #123b5d1f}
.brand{color:#123b5d;font-size:16px;margin:6px 0 22px;letter-spacing:.4px}
.brand-subtitle{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:2px;color:#7b8f9f}
#event{font-size:24px;line-height:1.2;margin:0 0 8px;color:#17202a}
#meta{font-size:14px;line-height:1.4;text-align:center;margin:0 0 28px}
.queue{margin:0 0 22px;padding:18px;border:1px solid #c8deed;border-radius:16px;background:#eef8fd;text-align:center}
.queue-label{display:block;font-size:clamp(16px,4vw,19px);font-weight:700;white-space:nowrap;color:#284961}
.queue-value{display:block;font-size:48px;line-height:1.15;font-weight:800;color:#123b5d;margin-top:8px;font-variant-numeric:tabular-nums}
h1{font-size:28px;line-height:1.15;margin:24px 0 8px}
label{margin:14px 0 6px}input:not([type=checkbox]){font-size:18px;padding:14px;border-color:#b7c7d3;margin-top:0}
button{margin-top:18px;padding:15px}.rule{font-size:13px;color:#596a77;margin-top:22px}
#opening{padding:48px 28px;color:#123b5d}#opening .brand{margin:0}
@media(max-width:600px){#page{width:100%;min-height:100dvh;margin:0;padding:48px 18px 40px;border-radius:0;box-shadow:none}body{background:#fff}#event{font-size:23px}h1{font-size:25px;text-align:center;margin:24px 0 12px}input:not([type=checkbox]){font-size:16px;padding:15px}button{min-height:54px;font-size:16px}.rule{text-align:center;font-size:12px;line-height:1.5;margin-top:22px;color:#7b8f9f}}

.photo-show{width:min(560px,calc(100% - 28px));margin:0 auto 32px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px #123b5d1f}.photo-frame{position:relative;aspect-ratio:4/5;background:#eaf0fa;overflow:hidden}.photo-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease-in-out;background-position:center;background-size:cover}.photo-slide::before{content:"";position:absolute;inset:0;backdrop-filter:blur(22px);background:#ffffff20}.photo-slide img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%}.photo-slide.active{opacity:1}.photo-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px 6px;color:#536574;font-size:13px}.photo-footer button{width:auto;min-height:36px;margin:0;padding:8px 10px;background:#edf5fa;color:#123b5d;border:1px solid #c8deed;font-size:11px;font-weight:600}.photo-counter{text-align:center;color:#7b8f9f;font-size:11px;padding:6px 0 13px;font-variant-numeric:tabular-nums}@media(max-width:600px){.photo-show{margin-bottom:24px}.photo-footer{font-size:12px;padding-left:14px;padding-right:14px}#page{min-height:0}}@media(prefers-reduced-motion:reduce){.photo-slide{transition:none}}

/* Restore the bordered WhatsApp preference in registration and the permanent ticket. */
.choice{padding:14px;margin-top:16px;border:1px solid #b7c7d3;border-radius:12px;background:#fff;line-height:1.45}
#turnWaMessage:empty,#ticketFeedback:empty{display:none}#cancelTurn,#keepTurn{background:#edf5fa;color:#123b5d;border:1px solid #b7c7d3}#cancelConfirmation{padding:14px;border:1px solid #ba6767;border-radius:12px;margin-top:16px}#anotherTicket{background:#edf5fa;color:#123b5d}#ticketStatus{padding:18px;border-radius:12px;background:#eaf6fd}#photoTicket{background:#0b76bd}

.choice input[type=checkbox]{accent-color:#14804a}a.support[href^="https://wa.me/"]{background:#14804a;color:#fff}

.choice{background:rgba(20,128,74,.055);border-color:rgba(20,128,74,.3)}
#ticketNumber{font-size:58px;font-weight:900;color:#0b76bd;text-align:center;margin:8px 0}#statusTitle{font-size:28px;line-height:1.15;margin:24px 0 8px}#ticketStatus{padding:14px;margin:16px 0;border-radius:12px;text-align:left;font-size:16px;background:#eef8fd}#ticketStatus.near{background:#fff4cc;color:#8a5a00;border:1px solid #f2c94c}#ticketStatus.next{background:#dff6e7;color:#176b3a;border:1px solid #79c99e;font-weight:700}#ticketStatus.warning{background:#ffe8cc;color:#9a4d00;border:1px solid #f2a65a;font-weight:700}#ticketStatus.danger{background:#fde2e2;color:#a32020;border:1px solid #e57373;font-weight:700}#cancelTurn{width:auto;margin:22px auto 12px;padding:12px 18px;font-size:14px;background:transparent;color:#9b2734;border:1px solid #9b2734}

.ticket-page .brand,.ticket-page #event,.ticket-page #meta,.ticket-page #statusTitle{text-align:left}.ticket-page .brand-subtitle{display:none}.ticket-page .brand{margin:0 0 10px}.ticket-page #meta{margin:0 0 20px}.ticket-page #statusTitle{margin:24px 0 8px}.wa-panel{padding:14px;margin-top:16px;border:1px solid rgba(20,128,74,.3);border-radius:12px;background:rgba(20,128,74,.055)}.wa-panel .choice{border:0;background:transparent;padding:0;margin:0;font-size:15px}.wa-panel p{font-size:13px;color:#536574;margin:8px 0 0}.ticket-page>details{background:#eef8fd;padding:14px;border-radius:12px}.ticket-page>a.support[href^="https://wa.me/"]{border:14px solid #eef8fd;border-radius:12px}.ticket-page .rule{text-align:left}#ticketFeedback:empty{display:none}

.ticket-page .support-box{padding:14px;background:#eef8fd;border-radius:12px;margin:16px 0}.ticket-page .support-box .support{margin:0;border-radius:11px}

#ticketStatus{font-size:18px;line-height:1.5}

.refresh-loading::before{
  content:'↻';
  display:inline-block;
  margin-right:8px;
  animation:refreshSpin .8s linear infinite;
}

@keyframes refreshSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.registration-dots{display:inline-flex;gap:4px;align-items:center;margin-left:8px;vertical-align:middle}.registration-dots i{display:block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.2;animation:registrationDotFade 1.2s ease-in-out infinite}.registration-dots i:nth-child(2){animation-delay:.2s}.registration-dots i:nth-child(3){animation-delay:.4s}@keyframes registrationDotFade{0%,60%,100%{opacity:.2}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.registration-dots i{animation:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.refresh-loading::before{animation:none}}

#anotherTicket{display:block;width:100%;margin:24px 0 16px;background:#0b76bd;color:#fff;border:0;border-radius:12px;padding:16px;font-weight:800}#anotherTicket[hidden]{display:none}

#cancelConfirmation{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#10233399;padding:18px;margin:0;border:0;border-radius:0;overflow:auto} .cancel-dialog{width:min(440px,100%);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;padding:24px;border-radius:18px;box-shadow:0 20px 70px #0004}.cancel-dialog h2{margin:0 0 12px}.cancel-dialog p{line-height:1.5}#cancelError{color:#a32020}#cancelError:empty{display:none}

#ticketAhead{text-align:center;background:#eef8fd;border:1px solid #c8deed;border-radius:16px;padding:20px 14px;margin:20px 0}#ticketAhead span{display:block;font-size:22px;font-weight:700;color:#123b5d}#ticketAheadCount{display:block;font-size:64px;line-height:1.15;margin-top:8px;color:#286477;font-weight:900;font-variant-numeric:tabular-nums}

#ticketAhead.near{background:#fff4cc;border-color:#f2c94c;color:#8a5a00}#ticketAhead.next{background:#dff6e7;border-color:#79c99e;color:#176b3a}#ticketAhead.warning{background:#ffe8cc;border-color:#f2a65a;color:#9a4d00}#ticketAhead.near span,#ticketAhead.near strong,#ticketAhead.next span,#ticketAhead.next strong,#ticketAhead.warning span,#ticketAhead.warning strong{color:inherit}
