/* Presentation is activated only after the expected GitLab login structure is found. */
body.ames-login {
  --ames-bg: #0b1017;
  --ames-fg: #eef2fa;
  --ames-muted: #98a6bb;
  --ames-border: #283546;
  --gl-text-color-default: #eef2fa;
  --gl-text-color-subtle: #98a6bb;
  --gl-text-color-link: #6daaff;
  margin: 0; min-height: 100vh; height: auto !important;
  background: var(--ames-bg) !important; color: var(--ames-fg) !important;
  font-family: 'GitLab Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color-scheme: dark;
}
.ames-login .ames-shell { display: grid !important; grid-template-columns: 58% 42%; grid-template-rows: 1fr auto; min-height: 100svh; height: auto !important; position: relative; }
.ames-login .ames-hero { position: relative; overflow: hidden; min-height: 740px; padding: 42px clamp(32px, 4vw, 72px) 0; border-right: 1px solid var(--ames-border); }
.ames-login .ames-wordmark { position: relative; z-index: 1; display: inline-flex; flex-direction: column; gap: 7px; }
.ames-login .ames-wordmark span { font-size: 30px; font-weight: 600; letter-spacing: 8px; line-height: 1.2; }
.ames-login .ames-wordmark small { color: #8495af; font-size: 10px; letter-spacing: 4px; }
.ames-login .ames-intro { position: relative; z-index: 1; margin-top: clamp(60px, 9vh, 110px); }
.ames-login .ames-eyebrow { color: #8f9eb5; font-size: 11px; letter-spacing: 4px; margin: 0 0 22px; }
.ames-login .ames-intro h1 { font-size: clamp(36px, 4.3vw, 72px); font-weight: 600; line-height: 1.38; letter-spacing: -.035em; color: #f0f4fc; margin: 0; }
.ames-login .ames-description { color: #a4b1c5; font-size: clamp(16px, 1.4vw, 22px); line-height: 1.7; margin: 22px 0 0; letter-spacing: .035em; }
.ames-login .ames-art { position: absolute; bottom: -24px; left: -2%; width: 104%; height: 57%; background: url('/ames-brand/orbit-v1.webp') center 65% / cover no-repeat; mask-image: linear-gradient(to bottom, transparent, black 18%, black 88%, transparent); pointer-events: none; }
.ames-login .ames-login-column { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 115px clamp(28px, 3.4vw, 62px) 45px !important; display: flex; align-items: center; justify-content: center; align-self: stretch !important; background: radial-gradient(ellipse at 80% 30%, #10182355, transparent 70%); }
.ames-login .ames-card { width: 100%; max-width: 510px; padding: clamp(28px, 3.2vw, 52px); border: 1px solid var(--ames-border); border-radius: 12px; background: linear-gradient(130deg, #101720b8, #0c1219cc); box-shadow: 0 22px 80px #00000012; color: var(--ames-fg); }
.ames-login .ames-card-heading { margin-bottom: 34px; }
.ames-login .ames-card-heading h2 { font-size: clamp(25px, 2.1vw, 34px); color: #f0f4fc; font-weight: 600; margin: 0 0 13px; line-height: 1.4; }
.ames-login .ames-card-heading p { margin: 0; color: var(--ames-muted); font-size: 15px; line-height: 1.6; }
.ames-login .ames-card > .gl-my-5 { margin: 0 !important; }
.ames-login [hidden] { display: none !important; }
.ames-login .ames-native-form { width: 100% !important; max-width: none !important; padding: 0; margin: 0 !important; }
.ames-login .ames-native-form label { color: #e0e7f1 !important; font-size: 14px; font-weight: 400; }
.ames-login .ames-native-form .form-group { margin-bottom: 22px; }
.ames-login .ames-native-form .form-control { color: #f0f4fc !important; background: #ffffff03 !important; border: 1px solid #435167 !important; box-shadow: none !important; border-radius: 6px; min-height: 50px; padding: 12px 14px; font-size: 16px; }
.ames-login .ames-native-form .form-control:focus { border-color: #438dff !important; box-shadow: 0 0 0 3px #247aff26 !important; outline: none; }
.ames-login .ames-native-form .form-control[aria-invalid="true"] { border-color: #f17e88 !important; }
.ames-login .ames-native-form .invalid-feedback, .ames-login .ames-native-form .gl-field-error { color: #ff9ca6 !important; }
.ames-login .ames-native-form .form-text { margin-top: 10px; }
.ames-login .ames-native-form .btn-icon { min-height: 50px; width: 42px; color: #9baec7 !important; background: transparent !important; box-shadow: none !important; }
.ames-login .ames-native-form .btn-confirm { background: #2277f5 !important; color: white !important; border: 1px solid #3889ff !important; box-shadow: none !important; min-height: 50px; font-size: 16px; font-weight: 500; border-radius: 6px; margin-top: 25px; transition: background .18s, box-shadow .18s; }
.ames-login .ames-native-form .btn-confirm:hover { background: #3487ff !important; box-shadow: 0 6px 28px #1876ff24 !important; }
.ames-login .ames-native-form .btn-confirm:focus-visible, .ames-login a:focus-visible, .ames-login button:focus-visible { outline: 2px solid #83b5ff !important; outline-offset: 4px; }
.ames-login .ames-native-form [data-testid="passkey-login-button"] { min-height: 42px; background: transparent !important; color: #b9c8dd !important; border: 1px solid #334155 !important; box-shadow: none !important; border-radius: 6px; }
.ames-login .ames-native-form .custom-control-label::before { background-color: #111a25; border-color: #61718a; }
.ames-login .ames-native-form .custom-control-input:checked ~ .custom-control-label::before { background-color: #2277f5; border-color: #438dff; }
.ames-login a { color: #70aaff !important; }
.ames-login .ames-native-form > .gl-text-center { color: var(--ames-muted); font-size: 13px; margin-top: 22px !important; }
.ames-login .ames-credit { color: #8898af; font-size: 12px; text-align: center; border-top: 1px solid var(--ames-border); margin: 26px 0 0; padding-top: 20px; }
.ames-login .ames-domain { position: absolute; top: 42px; right: clamp(28px, 3.4vw, 62px); color: #8b9cb6; font-size: 13px; letter-spacing: .02em; }
.ames-login .ames-footer { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(32px, 4vw, 72px); color: #8f9eb5; font-size: 12px; position: relative; z-index: 1; }
.ames-login .ames-footer a { color: #a1aec2 !important; text-decoration: none; }
.ames-login .ames-footer a:hover { color: #d7e7ff !important; text-decoration: underline; }
.ames-login .flash-container { position: static !important; }
.ames-login .flash-container .gl-alert { border-radius: 6px; margin-bottom: 20px; }
@media (min-width: 1800px) { .ames-login .ames-hero { padding-left: 6vw; } .ames-login .ames-card { max-width: 540px; } }
@media (max-width: 1100px) and (min-width: 761px) { .ames-login .ames-shell { grid-template-columns: 52% 48%; } .ames-login .ames-intro h1 { font-size: 4.3vw; } .ames-login .ames-login-column { padding-left: 24px !important; padding-right: 24px !important; } .ames-login .ames-card { padding: 28px; } }
@media (max-width: 760px) {
 .ames-login .ames-shell { display: flex !important; flex-direction: column; }
 .ames-login .ames-hero { min-height: 0; border-right: 0; padding: 28px 26px 24px; }
 .ames-login .ames-wordmark span { font-size: 23px; letter-spacing: 6px; }
 .ames-login .ames-wordmark small { font-size: 8px; letter-spacing: 3px; }
 .ames-login .ames-intro { margin-top: 38px; }
 .ames-login .ames-eyebrow { display: none; }
 .ames-login .ames-intro h1 { font-size: clamp(30px, 7.8vw, 45px); line-height: 1.35; }
 .ames-login .ames-description { font-size: 14px; margin-top: 12px; }
 .ames-login .ames-art { opacity: .2; width: 66%; height: 85%; left: auto; right: -16%; bottom: -40px; }
 .ames-login .ames-domain { top: 34px; right: 26px; font-size: 10px; }
 .ames-login .ames-login-column { padding: 8px 22px 18px !important; flex: 1; }
 .ames-login .ames-card { max-width: 520px; padding: 26px; }
 .ames-login .ames-card-heading { margin-bottom: 25px; }
 .ames-login .ames-card-heading h2 { font-size: 25px; }
 .ames-login .ames-card-heading p { font-size: 14px; }
 .ames-login .ames-footer { padding: 20px 26px 26px; flex-wrap: wrap; gap: 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .ames-login *, .ames-login *::before, .ames-login *::after { transition: none !important; animation: none !important; } }

/* v2: native alerts must not inherit the page's pale text over a light surface. */
.ames-login .gl-alert {
  --gl-text-color-default: #f0f4fc;
  --gl-text-color-subtle: #c7d4e6;
  background-color: #172435 !important;
  color: #f0f4fc !important;
  border: 1px solid #466080 !important;
}
.ames-login .gl-alert.gl-alert-danger { background-color: #321b25 !important; border-color: #945063 !important; }
.ames-login .gl-alert.gl-alert-warning { background-color: #302719 !important; border-color: #92713e !important; }
.ames-login .gl-alert.gl-alert-success { background-color: #172d28 !important; border-color: #407e6a !important; }
.ames-login .gl-alert .gl-alert-body,
.ames-login .gl-alert .gl-alert-content,
.ames-login .gl-alert .gl-alert-title,
.ames-login .gl-alert .gl-alert-description { color: #f0f4fc !important; }
.ames-login .gl-alert .gl-alert-icon { color: #90bcff !important; }
.ames-login .gl-alert-danger .gl-alert-icon { color: #ff9caa !important; }
.ames-login .gl-alert-warning .gl-alert-icon { color: #f3ca85 !important; }
.ames-login .gl-alert-success .gl-alert-icon { color: #89d9b8 !important; }
.ames-login .gl-alert a { color: #a9ceff !important; text-decoration: underline; }
.ames-login .gl-alert button { color: #e4edf9 !important; background-color: transparent !important; }
.ames-login .gl-alert button:hover { background-color: #ffffff14 !important; }
