:root{font-family:'Space Grotesk',system-ui,-apple-system,sans-serif;color:#f4f7ff;background:#060b14;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 25% 0,#152f56 0,transparent 60%)}
main{width:100%;max-width:460px;padding:32px;border:1px solid #324662;border-radius:28px;background:#0b1525;text-align:center;box-shadow:0 24px 80px #0004}
.reservation-brand{display:block;margin-bottom:28px}.reservation-brand img{display:block;height:auto;margin:auto;filter:brightness(0) invert(1)}
.reservation-crown{object-fit:contain;width:72px;height:72px;filter:drop-shadow(0 0 24px #ffda582b);margin:0 auto 12px}
.eyebrow{color:#ffda58;font-size:11px;letter-spacing:.14em;text-transform:uppercase}h1{font-size:34px;line-height:1.15;letter-spacing:-.045em;margin:14px 0 20px;text-wrap:balance}p{font-size:15px;line-height:1.65;color:#bdcce0}
a,button{font:inherit;color:#d5e6ff;overflow-wrap:anywhere}button{border:0;background:transparent;cursor:pointer}
.reservation-actions{margin-top:28px}.primary{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;background:linear-gradient(110deg,#ffe785,#ffd600);color:#142238;border-radius:99px;text-decoration:none;font-weight:700;padding:15px 20px;box-shadow:0 8px 28px #ffd60016}
.website-action{display:block;padding:14px;text-underline-offset:4px;font-size:14px}.website-action.primary{font-size:16px}
.reservation-utilities{border-top:1px solid #ffffff12;margin-top:22px;padding-top:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px}.reservation-utilities a,.reservation-utilities button{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#94abc5;text-decoration:underline;text-underline-offset:4px;padding:4px 0}
.secondary{width:100%;min-height:48px;border:1px solid #405574;border-radius:12px;padding:12px}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}
#reservation-renewal{font-size:13px;color:#9eb2cb;margin:20px 0 0}#reservation-status,#reservation-test{font-size:13px;color:#ffe183}#reservation-management{border-top:1px solid #ffffff12;margin-top:20px;padding-top:8px;text-align:left}#reservation-management p{font-size:13px}
.support{margin:18px 0 0;font-size:12px;text-align:center;color:#8096b0}.support a{display:inline-block;color:#9eb2cb;min-height:44px;padding:12px 0;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #ffda58;outline-offset:5px}
@media(max-width:380px){body{padding:16px}main{padding:28px 20px}h1{font-size:30px}}
@media(prefers-reduced-motion:no-preference){main.is-confirmed .reservation-crown{animation:welcome .5s ease-out both}@keyframes welcome{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}}
body.remi-account-page main{background:linear-gradient(145deg,#151821,#08090e 80%);border-color:#f3d77b40}
body.remi-account-page main p,body.remi-account-page .reservation-utilities a,body.remi-account-page .reservation-utilities button,body.remi-account-page .support a{color:#fff}
body.remi-account-page #reservation-renewal{color:#fff}
#reservation-next-steps{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff26}
#reservation-next-steps h2{font-size:21px;line-height:1.25;margin:0 0 16px;letter-spacing:-.025em}
#reservation-next-steps p{font-size:13px;text-align:left}
