:root { color-scheme: dark; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #090d13; color: #e6ecf5; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; padding: 48px 20px; display: grid; place-items: center; }
.login-shell { width: 100%; max-width: 420px; }
.brand { display: inline-block; font-size: 32px; font-weight: 750; color: #edf4ff; text-decoration: none; }
.brand span { color: #69bbfa; }
.eyebrow { margin: 30px 0 10px; text-transform: uppercase; letter-spacing: .09em; font-size: 12px; color: #98b5d3; }
h1 { margin: 0; font-size: clamp(27px, 5vw, 33px); letter-spacing: -.025em; }
.intro { line-height: 1.55; color: #a9b8cb; margin: 12px 0 24px; }
.status { min-height: 1.5em; line-height: 1.5; color: #bdd7f0; overflow-wrap: anywhere; }
.status[data-error="true"] { color: #ffc2ba; }
label { display: block; margin: 18px 0 8px; font-size: 14px; font-weight: 650; }
input, button, .continue { width: 100%; min-height: 46px; border: 1px solid #415169; border-radius: 7px; padding: 11px 12px; font: inherit; }
input { color: #f0f5fc; background: #101722; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-text-fill-color: #f0f5fc !important;
  -webkit-box-shadow: 0 0 0 1000px #101722 inset !important;
  box-shadow: 0 0 0 1000px #101722 inset !important;
  transition: background-color 5000s ease-in-out 0s;
}
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #7fc7ff; outline-offset: 3px; }
.hint { font-size: 12px; line-height: 1.5; color: #a1b1c5; margin: 8px 0; }
button { cursor: pointer; font-weight: 650; margin-top: 22px; background: #81c9ff; color: #08101a; border-color: #81c9ff; }
button:disabled { opacity: .65; cursor: wait; }
.continue { display: block; text-align: center; text-decoration: none; background: #81c9ff; color: #08101a; font-weight: 650; }
#sign-out { margin-top: 12px; background: transparent; color: #e6ecf5; border-color: #415169; }
#session-description { line-height: 1.6; }
footer { margin-top: 38px; padding-top: 20px; border-top: 1px solid #273347; font-size: 12px; line-height: 1.8; color: #a1b1c5; }
[hidden] { display: none !important; }
@media (max-width: 480px) { body { padding-top: 32px; place-items: start center; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto; } }
