/* Scoped to the public registration; shared admin and scanner remain unchanged. */
body.admin.invitation-page:has(.registration-shell){background:#151719;background-image:radial-gradient(ellipse at 10% 60%,#f64d3b09,transparent 55%)}
body.admin.invitation-page main:has(.registration-shell){max-width:1160px;margin:0 auto;padding:36px 32px 20px;box-sizing:border-box}
.registration-shell{--reg-muted:#a4aaaf;--reg-line:#ffffff13;--reg-coral:#ff6955;font-size:14px;line-height:1.6;color:#f3f2ee}
.registration-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:56px}
.registration-brand{display:inline-flex;align-items:center}.registration-brand img{width:172px;height:auto}.registration-logo-light{display:none}
.registration-back,.registration-footer a{color:var(--reg-muted);text-decoration:none;font-size:13px}.registration-back span{margin-left:12px;color:var(--reg-coral)}
.registration-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:center;min-height:650px}
.registration-story{min-width:0;align-self:center;padding:16px 0}
.registration-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-size:10px;font-weight:650;letter-spacing:.18em;color:#c7c6c1}.registration-eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--reg-coral);box-shadow:0 0 0 5px #ff695512}
body.admin .registration-story h2{font-size:clamp(40px,4.8vw,64px);line-height:1.04;letter-spacing:-.055em;font-weight:650;margin:0 0 24px}body.admin .registration-story h2 em{font-style:normal;color:var(--reg-coral)}
.registration-story-intro{font-size:17px;line-height:1.7;color:var(--reg-muted);margin:0}
.registration-art{position:relative;height:330px;margin-top:32px;isolation:isolate;max-width:450px}
.registration-orbit{position:absolute;width:255px;height:255px;border:1px solid #ff69551a;border-radius:50%;top:6px;left:38px;box-shadow:0 0 0 30px #ff695503,0 0 0 60px #ff695503}
.registration-receipt{position:absolute;top:10px;left:50px;width:196px;padding:20px 20px 24px;box-sizing:border-box;background:#f4f0e8;color:#3b3b36;transform:rotate(-9deg);box-shadow:0 20px 45px #0003;border-radius:3px;clip-path:polygon(0 0,100% 0,100% 98%,95% 100%,90% 98%,85% 100%,80% 98%,75% 100%,70% 98%,65% 100%,60% 98%,55% 100%,50% 98%,45% 100%,40% 98%,35% 100%,30% 98%,25% 100%,20% 98%,15% 100%,10% 98%,5% 100%,0 98%)}
.registration-receipt-mark{font-size:27px;line-height:1;font-weight:800;letter-spacing:-4px;margin-bottom:14px}.registration-receipt-mark span{color:#f54c39;font-size:19px;margin-left:4px}
.registration-receipt-title{font:8px monospace;letter-spacing:.14em}.registration-receipt-rule{border-top:1px dashed #3b3b3640;margin:12px 0}
.registration-receipt-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.registration-receipt-row i{display:block;width:70px;height:4px;background:#3b3b361c}.registration-receipt-row:nth-of-type(4) i{width:54px}.registration-receipt-row b{font:10px monospace;color:#65645b}
.registration-receipt-total{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #3b3b3640;padding-top:12px;margin-top:12px}.registration-receipt-total span{font:9px monospace}.registration-receipt-total strong{font-size:18px;letter-spacing:-.04em}
.registration-barcode{width:95px;height:17px;margin:17px auto 0;background:repeating-linear-gradient(90deg,#3b3b3680 0 1px,transparent 1px 3px,#3b3b3680 3px 5px,transparent 5px 7px,#3b3b3680 7px 8px,transparent 8px 11px)}
.registration-scan-line{position:absolute;top:109px;left:22px;width:263px;height:1px;background:linear-gradient(90deg,transparent,#ff6955 25%,#ff6955 75%,transparent);box-shadow:0 0 20px #ff695577;transform:rotate(-9deg);animation:reg-scan 5s ease-in-out 1}
.registration-result{position:absolute;top:177px;left:128px;right:0;display:flex;align-items:center;gap:12px;padding:17px 18px;background:#2b3031ef;border:1px solid #ffffff16;border-radius:12px;box-shadow:0 16px 40px #0003;backdrop-filter:blur(12px);transform:rotate(3deg);animation:reg-arrive .7s .15s both}
.registration-result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#9ed2b31a;color:#a6dfbc;font-size:19px;flex-shrink:0}.registration-result strong{font-size:12px;font-weight:650;display:block;white-space:nowrap}.registration-result div>span{display:block;font-size:10px;color:#aeb8b5;white-space:nowrap}.registration-result-amount{margin-left:auto;font-size:13px;font-weight:650;white-space:nowrap}.registration-art-caption{position:absolute;bottom:1px;left:40px;font-size:8px;letter-spacing:.18em;color:#8f9595}.registration-art-caption span{color:var(--reg-coral);font-size:15px;margin-left:12px}
body.admin .registration-card{width:100%;margin:0;padding:34px 36px;box-sizing:border-box;border:1px solid var(--reg-line);background:linear-gradient(145deg,#272b2e,#202326);border-radius:20px;box-shadow:0 24px 70px #0002;font-size:14px;line-height:1.6;min-width:0}
.registration-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 32px;padding:0;list-style:none;color:#c3c9cd}
.registration-steps li{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;text-align:center}
.registration-step-number{display:grid;place-items:center;box-sizing:border-box;flex-shrink:0;width:34px;height:34px;border:1px solid #667077;border-radius:50%;font-size:15px;line-height:1;font-weight:600}
.registration-step-label{font-size:15px;line-height:20px;font-weight:600}
.registration-steps li[aria-current]{color:#fff}.registration-steps li[aria-current] .registration-step-number{background:#ff6955;border-color:#ff6955;color:#231815}
.registration-steps .is-complete .registration-step-number{background:#a6dfbc1a;border-color:#80ad91;color:#bfe4cc}

.registration-offer{display:inline-block;font-size:11px;font-weight:600;color:#bfe4cc;background:#9ed2b313;padding:4px 9px;border-radius:5px;margin-bottom:16px}
body.admin .registration-card h1{font-size:32px;line-height:1.12;letter-spacing:-.04em;font-weight:620;margin:0 0 14px;max-width:320px}.registration-subtitle{color:var(--reg-muted);font-size:13px;margin:0 0 30px}.registration-card>p{color:var(--reg-muted)}
.registration-card form{display:grid;gap:9px}.registration-card label{font-size:12px;font-weight:500;margin-top:12px;color:#d2d5d7}.registration-card p{overflow-wrap:anywhere}
body.admin .registration-card input:not([type=checkbox]),body.admin .registration-card select{width:100%;min-height:48px;box-sizing:border-box;font:inherit;padding:12px 14px;border-radius:8px;background:#181b1e66;border:1px solid #ffffff17;color:#f3f2ee;transition:border-color .2s,box-shadow .2s}
body.admin .registration-card :is(input,select):focus-visible{outline:2px solid #ff8b79;outline-offset:3px;border-color:#ff8b79}body.admin .registration-card select option{background:#25292d;color:#f3f2ee}
body.admin .registration-card button{margin-top:18px;min-height:50px;border-radius:8px;font-size:13px;font-weight:650;justify-content:center}
body.admin .registration-card .btn-primary{color:#231815!important;background:#ff6955;border:1px solid #ff6955;box-shadow:0 4px 18px #ff695515;transition:transform .18s,background .18s,box-shadow .18s}
body.admin .registration-card .btn-primary:hover{background:#ff806e;border-color:#ff806e;transform:translateY(-1px);box-shadow:0 6px 22px #ff69552b;filter:none}.registration-card .btn-primary:disabled{transform:none;opacity:.65}
.registration-card .registration-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400}.registration-check input{flex:0 0 auto;margin-top:5px;accent-color:#ff6955}
.registration-card .registration-note{font-size:11px;line-height:1.6;color:var(--reg-muted);margin:12px 0 0}.registration-card .registration-login{font-size:12px;margin:28px 0 0;padding-top:22px;border-top:1px solid var(--reg-line);color:var(--reg-muted)}.registration-login a{color:#f3f2ee;font-weight:600;margin-left:4px;text-underline-offset:4px}
.registration-error{padding:12px;background:#ff695512;color:#ffc5bb!important;border:1px solid #ff695544;border-radius:8px}.registration-conditions{font-size:12px;margin-top:14px;color:var(--reg-muted)}.registration-conditions summary{cursor:pointer;color:inherit}.registration-conditions a{color:inherit;text-underline-offset:3px}.registration-card [hidden]{display:none!important}
.registration-mail-icon{display:grid;place-items:center;width:60px;height:60px;background:#ff695514;color:#ff8f7f;border-radius:17px;margin-bottom:24px}
.registration-footer{display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding:20px 0 0;border-top:1px solid var(--reg-line);font-size:11px;color:var(--reg-muted)}.registration-footer a{font-size:11px}
html[data-admin-theme=light] body.admin.invitation-page:has(.registration-shell){background:#f5f3ef}html[data-admin-theme=light] .registration-shell{color:#242827;--reg-muted:#656d6a;--reg-line:#24282716;--reg-coral:#c53e2d}html[data-admin-theme=light] .registration-logo-dark{display:none}html[data-admin-theme=light] .registration-logo-light{display:block}html[data-admin-theme=light] .registration-eyebrow{color:#656d6a}
html[data-admin-theme=light] body.admin .registration-card{background:#fff;box-shadow:0 24px 70px #33271a08}html[data-admin-theme=light] .registration-card label,html[data-admin-theme=light] .registration-login a{color:#343b38}html[data-admin-theme=light] body.admin .registration-card :is(input:not([type=checkbox]),select){background:#f7f7f5;color:#242827;border-color:#24282722}html[data-admin-theme=light] .registration-card select option{background:#fff;color:#242827}html[data-admin-theme=light] .registration-steps{color:#505a55}html[data-admin-theme=light] .registration-step-number{border-color:#89928c}html[data-admin-theme=light] .registration-steps li[aria-current]{color:#242827}html[data-admin-theme=light] .registration-steps li[aria-current] .registration-step-number{border-color:#ff6955;color:#231815}html[data-admin-theme=light] .registration-steps .is-complete .registration-step-number{background:#e9f3ec;border-color:#6a9478;color:#326744}html[data-admin-theme=light] .registration-offer{background:#e9f3ec;color:#326744}html[data-admin-theme=light] .registration-error{color:#a63122!important}html[data-admin-theme=light] .registration-mail-icon{color:#c53e2d}html[data-admin-theme=light] .registration-result{color:#f3f2ee}
@keyframes reg-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes reg-scan{0%,100%{opacity:.7;translate:0 0}50%{opacity:1;translate:0 46px}}
@media(min-width:1500px){body.admin.invitation-page main:has(.registration-shell){padding-top:48px}.registration-grid{min-height:690px}}
@media(max-width:1000px){.registration-grid{gap:36px;grid-template-columns:1fr 1fr}body.admin .registration-story h2{font-size:46px}.registration-result{left:78px;padding:14px 12px;gap:8px}.registration-result-amount{display:none}body.admin .registration-card{padding:28px}}
@media(max-width:760px){body.admin.invitation-page main:has(.registration-shell){padding:24px 20px 18px}.registration-header{padding-bottom:36px}.registration-brand img{width:150px}.registration-grid{display:flex;flex-direction:column;gap:28px;min-height:0;max-width:460px;margin:auto;align-items:stretch}.registration-story{align-self:stretch;padding:0}.registration-eyebrow{font-size:9px;margin-bottom:14px}body.admin .registration-story h2{font-size:40px;margin-bottom:12px}body.admin .registration-story h2 br{display:none}body.admin .registration-story h2 em{display:block}.registration-story-intro{font-size:14px}.registration-story-intro br{display:none}.registration-art{display:none}body.admin .registration-card{padding:26px 24px;border-radius:16px}.registration-steps{gap:8px;margin-bottom:28px}.registration-step-label{font-size:14px}body.admin .registration-card h1{font-size:28px;max-width:none}.registration-subtitle{margin-bottom:22px}body.admin .registration-card input:not([type=checkbox]),body.admin .registration-card select{font-size:16px;min-height:50px}.registration-footer{margin-top:28px}.registration-footer>span{max-width:190px}.registration-shell:has(#reg-name) .registration-story,.registration-shell:has(.registration-mail-icon) .registration-story{display:none}}
@media(max-width:360px){body.admin.invitation-page main:has(.registration-shell){padding:20px 14px}.registration-back{font-size:11px}.registration-back span{margin-left:3px}.registration-brand img{width:138px}body.admin .registration-card{padding:24px 18px}body.admin .registration-story h2{font-size:36px}.registration-steps{gap:8px}}
@media(prefers-reduced-motion:reduce){.registration-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
