.orbit-auth {
    --auth-ink: #25253c;
    --auth-muted: #68677d;
    --auth-accent: #534ab7;
    --auth-border: #938fa6;
    margin: 0;
    color: var(--auth-ink);
    background: #f4f3f8;
    font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
.orbit-auth *, .orbit-auth *::before, .orbit-auth *::after { box-sizing: border-box; }
.orbit-auth [hidden] { display: none !important; }
.orbit-auth a { text-underline-offset: 4px; }
.orbit-auth a:focus-visible, .orbit-auth button:focus-visible, .orbit-auth input:focus-visible { outline: 3px solid #7f77dd; outline-offset: 4px; }
.orbit-auth-skip { position: fixed; z-index: 100000; top: 12px; left: 12px; transform: translateY(-160%); padding: 12px 20px; border-radius: 8px; color: #fff; background: var(--auth-accent); }
.orbit-auth-skip:focus { transform: none; }
.orbit-auth-shell { min-height: 100svh; max-width: 1216px; padding: 48px; margin: auto; display: flex; flex-direction: column; justify-content: center; }
.orbit-auth-frame { display: grid; grid-template-columns: 46% 54%; min-height: 668px; background: #fff; border: 1px solid #e7e5ee; border-radius: 24px; box-shadow: 0 16px 64px #26215c0a, 0 2px 8px #26215c04; overflow: hidden; }
.orbit-auth-brand { position: relative; isolation: isolate; display: flex; flex-direction: column; padding: 40px; color: #fff; background: radial-gradient(ellipse at 80% 90%, #403679 0%, transparent 62%), #201d39; overflow: hidden; }
.orbit-auth-lockup { display: inline-flex; align-items: center; align-self: flex-start; gap: 12px; color: #fff; text-decoration: none; border-radius: 8px; }
.orbit-auth-lockup img { width: 56px; height: 56px; flex-shrink: 0; }
.orbit-auth-lockup strong { display: block; font-size: 30px; font-weight: 600; line-height: 1.1; letter-spacing: -.8px; }
.orbit-auth-lockup small { display: block; margin-top: 5px; color: #c4bfdc; font-size: 12px; }
.orbit-auth-story { margin-top: 55px; }
.orbit-auth-headline { margin: 0; font-size: clamp(32px, 3.4vw, 42px); line-height: 1.18; letter-spacing: -1.5px; font-weight: 600; }
.orbit-auth-headline span { color: #c8c2ff; }
.orbit-auth-description { max-width: 310px; margin: 20px 0 0; color: #c3bfd5; font-size: 15px; line-height: 1.7; }
.orbit-auth-art { position: relative; display: grid; place-items: center; height: 250px; margin: 4px -15px 0; }
.orbit-auth-art img { position: relative; width: 214px; height: 214px; filter: drop-shadow(0 18px 32px #a69df429); }
.orbit-auth-art-ring { position: absolute; width: 278px; height: 278px; border: 1px solid #b7aff21c; border-radius: 50%; transform: scaleY(.72) rotate(-22deg); }
.orbit-auth-art-ring::after { content: ''; position: absolute; inset: -34px; border: 1px solid #b7aff210; border-radius: 50%; }
.orbit-auth-star { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #b9b1ec; }
.orbit-auth-star-one { top: 48px; left: 18%; }
.orbit-auth-star-two { bottom: 60px; right: 11%; width: 3px; height: 3px; opacity: .55; }
.orbit-auth-brand-note { margin: auto 0 0; padding-top: 12px; font-size: 12px; color: #b3adc9; }
.orbit-auth-right { display: flex; flex-direction: column; min-width: 0; padding: 28px 48px 30px; }
.orbit-auth-languages { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-bottom: 38px; }
.orbit-auth-languages a { padding: 8px 12px; min-height: 40px; color: #68677d; font-size: 13px; font-weight: 500; border-radius: 7px; text-decoration: none; }
.orbit-auth-languages a:hover { background: #f7f6fb; color: var(--auth-accent); }
.orbit-auth-languages a[aria-current] { background: #eeedfe; color: #534ab7; }
.orbit-auth-content { flex: 1; display: flex; align-items: center; outline: none; }
.orbit-auth-content-inner { width: 100%; }
.orbit-auth-heading { margin-bottom: 30px; }
.orbit-auth-heading h1 { margin: 0 0 9px; color: var(--auth-ink); font-size: 30px; font-weight: 600; line-height: 1.2; letter-spacing: -.8px; }
.orbit-auth-heading p { margin: 0; color: var(--auth-muted); font-size: 15px; line-height: 1.6; }
.orbit-auth-form { display: flex; flex-direction: column; gap: 22px; }
.orbit-auth-field > label { display: block; margin-bottom: 8px; color: var(--auth-ink); font-size: 14px; font-weight: 500; }
.orbit-auth-field input:not([type=checkbox]) { display: block; width: 100%; height: 52px; padding: 0 15px; border: 1px solid var(--auth-border); border-radius: 9px; color: var(--auth-ink); background: #fff; font: inherit; font-size: 16px; box-shadow: 0 1px 2px #25253c04; transition: border-color .15s, box-shadow .15s; }
.orbit-auth-field input::placeholder { color: #737186; opacity: 1; }
.orbit-auth-field input:hover { border-color: #7e7994; }
.orbit-auth-field input:focus { border-color: var(--auth-accent); outline: none; box-shadow: 0 0 0 3px #534ab719; }
.orbit-auth-field input[aria-invalid=true] { border-color: #b42335; }
.orbit-auth-password-wrap { position: relative; }
.orbit-auth-password-wrap:has(.orbit-auth-reveal:not([hidden])) input { padding-right: 112px; }
.orbit-auth-reveal { position: absolute; right: 5px; top: 4px; display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 92px; height: 44px; padding: 0 9px; border: 0; border-radius: 6px; color: #626076; background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 500; }
.orbit-auth-reveal:hover { color: var(--auth-accent); background: #f4f3fc; }
.orbit-auth-eye-slash { display: none; }
.orbit-auth-reveal[aria-pressed=true] .orbit-auth-eye-slash { display: initial; }
.orbit-auth-caps { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; padding: 10px 12px; border: 1px solid #f1d295; border-radius: 7px; background: #fffaeb; color: #80500b; font-size: 13px; line-height: 1.5; }
.orbit-auth-caps svg { flex-shrink: 0; margin-top: 1px; }
.orbit-auth-options { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; font-size: 13px; }
.orbit-auth-remember { display: flex; align-items: center; gap: 9px; min-height: 28px; cursor: pointer; color: #424156; }
.orbit-auth-remember input { width: 17px; height: 17px; margin: 0; border: 1px solid #938fa6; border-radius: 4px; accent-color: var(--auth-accent); color: var(--auth-accent); cursor: pointer; }
.orbit-auth-hint { max-width: 180px; margin: 4px 0 0 26px; color: #737186; font-size: 11px; line-height: 1.5; }
.orbit-auth-forgot { display: inline-flex; align-items: center; min-height: 28px; color: var(--auth-accent); font-weight: 500; white-space: nowrap; text-decoration: none; }
.orbit-auth-forgot:hover, .orbit-auth-back:hover { text-decoration: underline; }
.orbit-auth-submit { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; width: 100%; padding: 13px 18px; border: 1px solid #534ab7; border-radius: 9px; background: var(--auth-accent); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; box-shadow: 0 3px 5px #534ab719; transition: background .15s, box-shadow .15s; }
.orbit-auth-submit:hover { background: #443b9f; box-shadow: 0 4px 12px #534ab72a; }
.orbit-auth-submit:disabled { cursor: wait; opacity: .8; }
.orbit-auth-spinner { display: none; width: 18px; height: 18px; border: 2px solid #ffffff66; border-top-color: white; border-radius: 50%; animation: orbit-auth-spin .8s linear infinite; }
[aria-busy=true] .orbit-auth-spinner { display: block; }
[aria-busy=true] .orbit-auth-submit-arrow { display: none; }
@keyframes orbit-auth-spin { to { transform: rotate(360deg); } }
.orbit-auth-access-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 38px 0 0; color: #737186; font-size: 12px; text-align: center; }
.orbit-auth-access-note svg { flex-shrink: 0; }
.orbit-auth-notice { margin: 0 0 22px; padding: 14px 16px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.orbit-auth-notice ul { margin: 4px 0 0; padding: 0; list-style: none; }
.orbit-auth-notice:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.orbit-auth-notice-error { border: 1px solid #efc4ca; background: #fff5f6; color: #a31e32; }
.orbit-auth-notice-success { border: 1px solid #b5dccd; background: #f0faf6; color: #23624b; }
.orbit-auth-notice-warning { border: 1px solid #f1d295; background: #fffaeb; color: #80500b; }
.orbit-auth-form .orbit-auth-notice { margin: 0; }
.orbit-auth-field-error { margin: 7px 0 0; color: #a31e32; font-size: 13px; }
.orbit-auth-back { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 22px; color: var(--auth-accent); font-size: 14px; text-decoration: none; }
.orbit-auth-footer { margin-top: 24px; color: #6e6a80; font-size: 11px; line-height: 1.6; }
.orbit-auth-footer p { margin: 0; }
.orbit-auth-footer-top { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; }
.orbit-auth-footer nav { display: flex; gap: 18px; }
.orbit-auth-footer a { display: inline-flex; align-items: center; min-height: 28px; color: #666178; text-decoration: none; }
.orbit-auth-footer a:hover { color: var(--auth-accent); text-decoration: underline; }
.orbit-auth-confidential { padding-top: 6px; }
/* Keep the existing invitation and verification forms aligned with the guest shell. */
.orbit-auth-content-inner > form:not(.orbit-auth-form) input:not([type=checkbox]):not([type=hidden]) { border-radius: 9px; min-height: 48px; }
.orbit-auth-content-inner > form:not(.orbit-auth-form) button[type=submit] { background: var(--auth-accent); min-height: 44px; }
.orbit-auth #orbit-cookie-banner { position: static !important; margin: 0 auto; box-shadow: none !important; background: #26213e !important; }
.orbit-auth #orbit-cookie-banner button { background: #534ab7 !important; min-height: 44px; }
@media (min-width: 901px) and (max-height: 840px) {
    .orbit-auth-shell { padding-top: 28px; padding-bottom: 24px; }
    .orbit-auth-frame { min-height: 610px; }
    .orbit-auth-story { margin-top: 35px; }
    .orbit-auth-art { height: 214px; }
    .orbit-auth-art img { width: 190px; height: 190px; }
}
@media (max-width: 1050px) and (min-width: 761px) {
    .orbit-auth-shell { padding: 28px; }
    .orbit-auth-brand { padding: 32px; }
    .orbit-auth-right { padding: 24px 30px 28px; }
    .orbit-auth-headline { font-size: 34px; }
    .orbit-auth-options { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 760px) {
    .orbit-auth-shell { max-width: 528px; padding: 24px 20px; justify-content: flex-start; }
    .orbit-auth-frame { display: block; min-height: auto; border-radius: 18px; }
    .orbit-auth-brand { padding: 22px 26px; }
    .orbit-auth-lockup { gap: 9px; }
    .orbit-auth-lockup img { width: 45px; height: 45px; }
    .orbit-auth-lockup strong { font-size: 26px; }
    .orbit-auth-lockup small { font-size: 11px; }
    .orbit-auth-story, .orbit-auth-brand-note { display: none; }
    .orbit-auth-right { padding: 16px 26px 26px; }
    .orbit-auth-languages { margin-bottom: 25px; }
    .orbit-auth-heading { margin-bottom: 26px; }
    .orbit-auth-heading h1 { font-size: 28px; }
    .orbit-auth-heading p { font-size: 14px; }
    .orbit-auth-options { flex-wrap: wrap; gap: 10px 16px; }
    .orbit-auth-hint { max-width: none; }
    .orbit-auth-forgot { min-height: 36px; }
    .orbit-auth-access-note { margin-top: 28px; font-size: 11px; }
    .orbit-auth-footer { text-align: center; margin-top: 18px; }
    .orbit-auth-footer-top { justify-content: center; gap: 2px; }
    .orbit-auth-footer p { width: 100%; }
    .orbit-auth-footer a { min-height: 40px; }
}
@media (max-width: 360px) {
    .orbit-auth-shell { padding: 14px 12px; }
    .orbit-auth-brand { padding: 20px; }
    .orbit-auth-right { padding-left: 20px; padding-right: 20px; }
    .orbit-auth-heading h1 { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .orbit-auth *, .orbit-auth *::before, .orbit-auth *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
