/* Secure access presentation used only by the login route. */
body.login-body { background: #182631; }
.login-body .login-atmosphere, .login-body .login-showcase, .login-body .login-panel__hero { display: none; }
.login-body .login-shell { display: block; width: min(112rem, calc(100% - 3rem)); margin: 2.25rem auto; }
.login-body .login-panel { display: block; width: 100%; max-width: none; overflow: hidden; border: 1px solid #526b83; border-radius: 1.6rem; background: #fff; box-shadow: none; }

.login-reference-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(22rem, .52fr); gap: 2rem; padding: 2.35rem; color: #f8fbff; background: #192936; border-bottom: 1px solid #526b83; }
.login-reference-brand { display: flex; align-items: center; gap: 1.35rem; }
.login-reference-brand__logo { width: min(16rem, 25vw); height: 5.1rem; object-fit: contain; border-radius: 1.35rem; background: #fff; }
.login-reference-brand__eyebrow { margin: 0 0 .35rem; color: #ffc42d; font-size: .9rem; font-weight: 800; letter-spacing: .08em; }
.login-reference-brand__title-row { display: flex; align-items: center; gap: .75rem; white-space: nowrap; }
.login-reference-brand h1 { margin: 0; color: #fff; font-size: clamp(1.8rem, 2.5vw, 2.7rem); line-height: 1; }
.login-reference-brand h1 sup { color: #ffc42d; font-size: .38em; vertical-align: super; }
.login-reference-brand__title-row > span { width: 1px; height: 2.1rem; background: #ffbd25; }
.login-reference-brand__title-row p { margin: 0; color: #fff; font-size: clamp(1rem, 1.65vw, 1.55rem); }
.login-reference-summary { grid-column: 1; max-width: 52rem; margin: 0; color: #cbd7e5; font-size: 1.05rem; line-height: 1.55; }
.login-signin-guide { grid-column: 2; grid-row: 1 / span 2; padding: 1.25rem 1.45rem; border: 1px solid #607d98; border-radius: 1.35rem; background: #213341; }
.login-signin-guide h2 { margin: 0 0 .65rem; color: #fff; font-size: 1.35rem; }.login-signin-guide h2 span { color: #61c8f0; }.login-signin-guide ol { margin: 0; padding-left: 1.35rem; color: #d6e0ec; line-height: 1.5; }.login-signin-guide p { margin: .65rem 0 0; color: #c1cfdf; line-height: 1.45; }
.login-body .login-form { max-width: none; padding: 2rem 2.35rem; color: #14233a; }.login-body .login-form label { color: #14233a; font-weight: 800; }
.login-service-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }.login-service-status > div { display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; align-items: center; min-height: 4.7rem; padding: .85rem 1rem; border: 1px solid #d5e1ee; border-radius: 1rem; background: #f7fbff; }.login-service-status span { grid-row: span 2; color: #33cf75; font-size: 2rem; }.login-service-status strong { color: #14233a; }.login-service-status small { color: #327149; font-weight: 700; }
.login-body .login-submit-button { background: #ffbf20; color: #182631; }.login-body .login-footnote { padding: 0 2.35rem 1.5rem; color: #d8e2ed; background: #192936; }
@media (max-width: 56rem) { .login-body .login-shell { width: min(100% - 1.25rem, 46rem); margin: .75rem auto; }.login-reference-hero { grid-template-columns: 1fr; padding: 1.3rem; }.login-signin-guide { grid-column: 1; grid-row: auto; }.login-reference-brand { align-items: flex-start; }.login-reference-brand__logo { width: 7rem; height: 3.2rem; border-radius: .7rem; }.login-reference-brand__title-row { flex-wrap: wrap; white-space: normal; }.login-reference-brand__title-row > span { display: none; }.login-service-status { grid-template-columns: 1fr; }.login-body .login-form { padding: 1.3rem; } }

/* Centered workstation sign-in: information at left, credentials at right. */
html[data-theme] body.login-body {
    min-height: 100dvh;
    background:
        linear-gradient(180deg, rgba(3, 12, 23, 0.52) 0%, rgba(4, 21, 33, 0.72) 100%),
        url("Images/agenticclick-datacenter-login-bg.png") center / cover fixed no-repeat !important;
    background-color: #041521;
}

.login-body .login-shell {
    width: min(46rem, calc(100% - 2rem));
    margin: max(1.25rem, 9dvh) auto;
    position: relative;
    z-index: 1;
}

/* The shared surface rules otherwise paint this container solid white behind
   the translucent card, hiding the data-center image entirely. */
html[data-theme] body.login-body main.login-shell.login-shell--professional {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.login-body .login-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    border-color: #344057;
    border-radius: 1.15rem;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.32);
}

.login-reference-hero {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 1;
    min-height: 27rem;
    padding: 1.5rem;
    border: 0;
    border-radius: 1.05rem 0 0 1.05rem;
    background: rgba(8, 13, 22, 0.78);
}

.login-reference-brand { display: block; }
.login-reference-brand__marks { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 0.45rem; }
.login-reference-brand__logo { width: 10.5rem; height: 3.2rem; border-radius: 0.85rem; }
.login-reference-brand__product-logo { display: block; flex: none; width: 3.2rem; height: 3.2rem; object-fit: cover; border: 1px solid rgba(167, 190, 255, 0.5); border-radius: 0.75rem; background: #061327; }
.login-reference-brand__eyebrow { font-size: 0.72rem; }
.login-reference-brand__title-row { display: block; white-space: normal; }
.login-reference-brand h1 { font-size: 1.8rem; }.login-reference-brand__title-row > span { display: none; }
.login-reference-brand__title-row p { margin-top: 0.35rem; font-size: 0.95rem; line-height: 1.35; }
.login-reference-tagline { min-height: 3.1em; margin: 0.85rem 0 0; color: #ffd239; font-size: clamp(0.86rem, 1.35vw, 1rem); font-weight: 750; line-height: 1.35; }
.login-reference-tagline [data-login-typewriter] { border-right: 2px solid currentColor; animation: login-typewriter-caret 0.8s steps(1) infinite; }
@keyframes login-typewriter-caret { 50% { border-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .login-reference-tagline [data-login-typewriter] { animation: none; border: 0; } }
.login-reference-summary { margin-top: 1.25rem; color: #d7e5f4; font-size: 0.88rem; }
.login-signin-guide { grid-column: auto; grid-row: auto; margin-top: auto; padding: 1rem; border-color: rgba(127, 171, 211, 0.45); border-radius: 0.8rem; background: rgba(255,255,255,0.06); }
.login-signin-guide h2 { font-size: 1rem; }.login-signin-guide ol, .login-signin-guide p { font-size: 0.78rem; }
.login-reference-benefits { display: grid; gap: 0.45rem; margin-top: 1rem; color: #b8cbe0; font-size: 0.75rem; }.login-reference-benefits span::before { content: "✓"; margin-right: 0.45rem; color: #6ee7a0; font-weight: 800; }

.login-body .login-form { grid-column: 2; grid-row: 1; align-self: stretch; padding: 1.55rem; color: #14233a; background: rgba(255, 255, 255, 0.62); }
.login-body .login-form[data-auth-stage="primary"] { align-content: center; }
.login-body .login-footnote { grid-column: 1 / -1; padding: 0.65rem 1.1rem; text-align: center; color: #e4edf9 !important; background: rgba(8, 13, 22, 0.78); }
.login-service-status { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.login-service-status > div { min-height: 3.55rem; padding: 0.55rem 0.65rem; column-gap: 0.45rem; }
.login-service-status .login-service-status__icon { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; color: #166f56; }
.login-service-status__icon svg { width: 1.3rem; height: 1.3rem; }
.login-service-status strong { font-size: 0.84rem; }
.login-service-status small { font-size: 0.66rem; line-height: 1.25; }
.login-submit-button__icon { width: 1.1rem; height: 1.1rem; flex: none; }
.login-auth-error { display: flex; align-items: flex-start; gap: 0.65rem; margin-top: 0.6rem; color: #8f2020 !important; }
.login-auth-error__icon { display: grid; place-items: center; width: 1.4rem; height: 1.4rem; flex: none; color: #bd2626; }
.login-auth-error__icon svg { width: 1.25rem; height: 1.25rem; }
.login-auth-error > div { min-width: 0; }
.login-auth-error > div > strong { font-weight: 650; line-height: 1.35; }
.login-auth-error .login-lockout-countdown { margin-top: 0.6rem; }
.login-field-heading { display: flex; align-items: center; gap: 0.4rem; }
.login-field-heading > label { margin: 0; }
.login-username-help { display: inline-flex; position: relative; z-index: 8; }
.login-username-help__button { display: grid; place-items: center; width: 1.2rem; height: 1.2rem; padding: 0; border: 0; border-radius: 50%; color: #315789; background: transparent; cursor: help; }
.login-username-help__button svg { width: 1.1rem; height: 1.1rem; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.login-username-help__button:is(:hover, :focus-visible) { color: #2145a2; background: rgba(111, 151, 234, 0.18); }
.login-username-help__button:focus-visible { outline: 2px solid #9fbafa; outline-offset: 2px; }
.login-username-help__popup { display: block; position: absolute; top: calc(100% + 0.45rem); left: -0.5rem; width: min(20rem, calc(100vw - 2.5rem)); padding: 0.75rem 0.85rem; border: 1px solid #bdcdec; border-radius: 0.75rem; background: #f3f7ff; box-shadow: 0 0.8rem 1.8rem rgba(18, 41, 77, 0.18); color: #172b4d; font-size: 0.76rem; line-height: 1.4; opacity: 0; visibility: hidden; transform: translateY(-0.25rem); pointer-events: none; transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease; }
.login-username-help:is(:hover, :focus-within) .login-username-help__popup { opacity: 1; visibility: visible; transform: translateY(0); }
.login-username-help__popup strong { display: block; margin-bottom: 0.3rem; color: #294c87; font-size: 0.78rem; }
.login-username-help__popup p { margin: 0; }

/* The clear frame, dark left scrim, and pale right scrim reveal the data-center photograph without placing text directly on the photograph. */
html[data-theme] body.login-body .login-panel.login-panel--professional {
    background: transparent !important;
    border-color: #344057;
    color: #14233a !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html[data-theme] body.login-body .login-reference-hero {
    background: rgba(8, 13, 22, 0.78) !important;
}
html[data-theme] body.login-body .login-form,
html[data-theme] body.login-body .login-form > label,
html[data-theme] body.login-body .login-field-heading > label {
    color: #14233a !important;
}
html[data-theme] body.login-body .login-form { background: rgba(255, 255, 255, 0.62) !important; }
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] {
    background: transparent !important;
    color: #fff !important;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] > label,
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-field-heading > label {
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-username-help__button { color: #d5e1ff; }
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-input-shell {
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-input-shell > input,
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-locked-value {
    border-radius: 999px !important;
}
html[data-theme] body.login-body .login-service-status > .login-service-status__item {
    position: relative;
    border-color: transparent;
    background: transparent;
}
html[data-theme] body.login-body .login-service-status strong { color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7); }
html[data-theme] body.login-body .login-service-status small { color: #dce7f7; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7); }
.login-service-status .login-service-status__check {
    display: none;
    position: absolute;
    top: 0.35rem;
    right: 0.45rem;
    grid-row: auto;
    color: #5ce094;
    font-size: 0.61rem;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
}
.login-service-status__item.is-ready .login-service-status__check { display: block; }
.login-service-status__item.is-ready .login-service-status__icon { color: #69dfa2; }
html[data-theme] body.login-body .login-security-links,
html[data-theme] body.login-body .login-security-links span { color: #e3ecff; }
html[data-theme] body.login-body .login-security-links a { color: #d7e3ff; }
html[data-theme] body.login-body .login-footnote { color: #f0f4ff !important; background: rgba(8, 13, 22, 0.78) !important; }
html[data-theme] body.login-body .login-footnote p { color: #f0f4ff !important; background: transparent !important; }
.login-body .login-footnote { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.login-body .login-footnote p { order: 1; margin: 0; }
.login-body .login-footnote__links { order: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.2rem 0.85rem; }
html[data-theme] body.login-body .login-footnote__links a { display: inline-flex; align-items: center; gap: 0.28rem; color: #b5c9ff !important; font-size: 0.68rem; letter-spacing: 0.03em; text-decoration: none; white-space: nowrap; }
html[data-theme] body.login-body .login-footnote__links a svg { box-sizing: content-box; width: 0.95rem; height: 0.95rem; padding: 0.18rem; flex: none; border: 1px solid rgba(181, 201, 255, 0.48); border-radius: 0.38rem; background: rgba(181, 201, 255, 0.1); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme] body.login-body .login-footnote__links a:is(:hover, :focus-visible) { color: #fff !important; text-decoration: underline; }
.login-body .login-footnote__links a:focus-visible { outline: 2px solid #b5c9ff; outline-offset: 3px; border-radius: 2px; }

/* Keep primary credential labels calm and close to their corresponding fields. */
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] {
    row-gap: 0.45rem;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] > label,
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-field-heading > label {
    font-weight: 500 !important;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-field-heading {
    margin-bottom: -0.25rem;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-input-shell + label {
    margin-top: 0.4rem;
}

html[data-theme] body.login-body .login-progress {
    width: min(28rem, calc(100vw - 2rem));
    padding: 1.15rem;
    border-color: #cbd8eb !important;
    background: #fff !important;
    color: #14233a !important;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: none;
}
html[data-theme] body.login-body .login-progress::before { background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html[data-theme] body.login-body .login-progress :is(h2, p, strong, small, .login-progress__spinner-title) { color: #14233a !important; }
html[data-theme] body.login-body .login-progress .eyebrow,
html[data-theme] body.login-body .login-progress__badge,
html[data-theme] body.login-body .login-progress__spinner-step { color: #315ee3 !important; }
html[data-theme] body.login-body .login-progress__step {
    border-color: #dce4f1 !important;
    background: #f7faff !important;
    color: #14233a !important;
}
html[data-theme] body.login-body .login-progress__step.is-active { border-color: #8badfa !important; background: #edf3ff !important; }
html[data-theme] body.login-body .login-progress__step.is-done { border-color: #9ddfc2 !important; background: #effbf5 !important; }
html[data-theme] body.login-body .login-progress__spinner-core { background: #fff !important; }
.login-progress__steps { margin: 0; padding-left: 0; list-style: none; }
.login-progress__head h2 { margin: 0.1rem 0 0.2rem; font-size: 1.05rem; }
.login-progress__hero > p { margin: 0; font-size: 0.85rem; }
.login-progress__brand { display: flex; align-items: center; justify-content: center; gap: .85rem; min-width: 0; padding-bottom: .55rem; border-bottom: 1px solid #e2e8f0; }
.login-progress__brand img { display: block; width: 7.75rem; height: 2.5rem; object-fit: contain; border-radius: .45rem; background: #fff; }
.login-progress__brand .login-progress__agentic-logo { width: 2.5rem; height: 2.5rem; object-fit: cover; }
.login-progress__brand-name { color: #17243b; font-size: clamp(1.15rem, 4.5vw, 1.6rem); font-weight: 800; letter-spacing: -.055em; white-space: nowrap; }
.login-progress__brand-name > span { color: #315ee3; }
.login-progress__brand-name sup { color: #c38b07; font-size: .42em; letter-spacing: 0; vertical-align: super; }
.login-progress__lock { display: block; width: 1.65rem; height: 1.65rem; color: #315ee3; overflow: visible; }
.login-progress__lock-shackle { transform-origin: 9px 14px; transition: transform .65s cubic-bezier(.22, 1, .36, 1); }
.login-progress.is-unlocked .login-progress__lock { color: #168652; }
.login-progress.is-unlocked .login-progress__lock-shackle { transform: translate(-2px, -2px) rotate(-34deg); }
.login-progress.is-unlocked .login-progress__spinner-orbit { border-top-color: #31ad72; border-right-color: #31ad72; }
html[data-theme] body.login-body .login-progress__status { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-top: .08rem; color: #168652; background: #e8f7ee; border: 1px solid #96d6ad; box-shadow: none; }
html[data-theme] body.login-body .login-progress__status::after { content: "\2713"; position: static; display: block; width: auto; height: auto; border: 0; color: inherit; font-size: .9rem; font-weight: 900; line-height: 1; transform: none; }
html[data-theme] body.login-body .login-progress__step.is-done .login-progress__status { color: #fff; background: #168652; border-color: #168652; box-shadow: 0 0 0 3px rgba(22, 134, 82, .13); }
html[data-theme] body.login-body .login-progress__step.is-active .login-progress__status { color: #168652; background: #e8f7ee; border-color: #55b987; box-shadow: 0 0 0 3px rgba(22, 134, 82, .13); }
html[data-theme] body.login-body .login-progress__step:not(.is-active, .is-done) .login-progress__status { opacity: .7; }
@media (prefers-reduced-motion: reduce) { .login-progress__lock-shackle { transition: none; } }

@media (max-width: 64rem) {
    .login-body .login-shell { width: min(100% - 1.25rem, 42rem); margin: 0.75rem auto; }
    .login-body .login-panel { display: block; }
    .login-reference-hero { min-height: 0; border-radius: 1rem 1rem 0 0; }
    .login-signin-guide { margin-top: 1.25rem; }
    .login-body .login-form { padding: 1.25rem; }
}

@media (max-width: 36rem) {
    .login-service-status { grid-template-columns: 1fr; }
    .login-service-status > div { min-height: 2.9rem; }
    .login-body .login-input-shell__meta { display: none; }
    .login-body .launcher-password-shell input { padding-right: 5.5rem; }
}

/* Credential inputs remain light even when the primary sign-in surface is clear. */
html[data-theme] body.login-body .login-panel.login-panel--professional { color: #14233a; }

html[data-theme] body.login-body .login-form {
    color: #14233a;
    color-scheme: light;
}

html[data-theme] body.login-body .login-form > label {
    color: #14233a !important;
}

html[data-theme] body.login-body .login-form input {
    border-color: #a9bbd2;
    background: #ffffff;
    color: #172b4d;
}

html[data-theme] body.login-body .login-form input::placeholder {
    color: #64748b;
    opacity: 1;
}

html[data-theme] body.login-body .login-system-user {
    background: #eef5ff;
    border-color: #c6d8ee;
    color: #172b4d;
}

html[data-theme] body.login-body .login-system-user__label {
    color: #244e91;
}

html[data-theme] body.login-body .login-system-user__value {
    color: #172b4d;
}

html[data-theme] body.login-body .login-system-user .muted-copy,
html[data-theme] body.login-body .login-security-links,
html[data-theme] body.login-body .login-security-links span {
    color: #52657d;
}

html[data-theme] body.login-body .login-security-links a {
    color: #315ee3;
}

html[data-theme] body.login-body .login-service-status small {
    color: #52657d;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-service-status small,
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-security-links,
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-security-links span {
    color: #e3ecff !important;
}
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-service-status__icon { color: #8ee3ab !important; }
html[data-theme] body.login-body .login-form[data-auth-stage="primary"] .login-security-links a { color: #d7e3ff; }

html[data-theme] body.login-body .launcher-password-toggle {
    background: #f8fafc;
    border-color: #a9bbd2;
    color: #334e68;
}

/* Keep credentials comfortably readable instead of expanding across the whole
   card when the information panel stacks at narrower desktop widths. */
.login-body .login-form {
    width: min(100%, 23rem);
    box-sizing: border-box;
    justify-self: center;
}

/* A standard desktop viewport keeps the complete sign-in card in view.  Small
   or short screens retain document scrolling so that no authentication control
   is ever hidden. */
@media (min-width: 64.0625rem) and (min-height: 44rem) {
    html:has(body.login-body),
    body.login-body {
        height: 100dvh;
        overflow: hidden;
    }

    body.login-body {
        box-sizing: border-box;
        padding: 0.75rem;
        place-items: center;
        align-content: center;
    }

    .login-body .login-shell {
        max-height: calc(100dvh - 1.5rem);
        margin: 0 auto;
    }

    .login-body .login-panel {
        max-height: calc(100dvh - 1.5rem);
    }

    .login-reference-hero {
        min-height: 0;
        padding: clamp(1.25rem, 2.4vh, 1.75rem);
    }

    .login-reference-summary { margin-top: 1.1rem; }
    .login-signin-guide { padding: 0.8rem 0.9rem; }
    .login-reference-benefits { margin-top: 0.75rem; }
    .login-body .login-form { padding: clamp(1.1rem, 2.7vh, 1.75rem); }
    .login-body .login-footnote { padding: 0.55rem 1rem; }
}

/* Keep the desktop sign-in card compact so the data-center photograph remains
   visible above and below it, including on unusually tall monitors. */
@media (min-width: 64.0625rem) {
    .login-body .login-panel.login-panel--professional { padding: 0.55rem; }
    .login-body .login-reference-hero { gap: 0.6rem; min-height: 0; padding: 1rem; }
    .login-body .login-signin-guide { margin-top: 0.2rem; padding: 0.7rem 0.8rem; }
    .login-body .login-signin-guide h2 { margin-bottom: 0.3rem; }
    .login-body .login-signin-guide p { margin-top: 0.35rem; }
    .login-body .login-reference-tagline { margin-top: 0.4rem; min-height: 2.7em; }
    .login-body .login-reference-summary,
    .login-body .login-reference-benefits { margin-top: 0; }
    .login-body .login-reference-benefits { gap: 0.2rem; }
    .login-body .login-footnote { margin-top: 0; padding: 0.35rem 0.75rem; font-size: 0.72rem; }
}

/* Compact two-tone wordmark, set in a modern display face. */
.login-reference-brand .login-wordmark {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    width: max-content;
    max-width: 100%;
    margin: 0.12rem 0 0.28rem;
    padding-bottom: 0.24rem;
    font-family: var(--gui-font-sans);
    font-size: clamp(1.45rem, 1.9vw, 1.8rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.12;
    white-space: nowrap;
    text-shadow: 0 0.15rem 0.65rem rgba(11, 25, 56, 0.25);
}
.login-reference-brand .login-wordmark::after {
    content: "";
    position: absolute;
    right: 0.5rem;
    bottom: 0;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #6585ff, #9db8ff 62%, #ffd239);
}
.login-wordmark__wand {
    width: 1.3rem;
    height: 1.3rem;
    flex: none;
    align-self: center;
    margin-right: 0.25rem;
    overflow: visible;
    transform-origin: 25% 80%;
    filter: drop-shadow(0 0 0.3rem rgba(255, 210, 57, 0.35));
    animation: login-wand-sway 3.2s ease-in-out infinite;
}
.login-wordmark__wand-spark,
.login-wordmark__wand-star {
    transform-origin: center;
    animation: login-wand-glint 3.2s ease-in-out infinite;
}
@keyframes login-wand-sway {
    0%, 100% { transform: rotate(-5deg) translateY(1px); }
    50% { transform: rotate(7deg) translateY(-1px); }
}
@keyframes login-wand-glint {
    0%, 100% { opacity: 0.65; }
    50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .login-wordmark__wand,
    .login-wordmark__wand-spark,
    .login-wordmark__wand-star { animation: none; }
}
.login-wordmark__agentic { color: #f5f8ff; font-weight: 650; }
.login-wordmark__click { color: #ffd75a; font-weight: 750; }
.login-reference-brand .login-wordmark sup {
    margin-left: 0.1rem;
    color: #ffd75a;
    font-size: 0.32em;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1;
    text-shadow: none;
}

@media (max-width: 26rem) {
    .login-reference-brand__marks { gap: 0.5rem; }
    .login-reference-brand__logo { width: min(10.5rem, calc(100% - 3.5rem)); }
    .login-reference-brand__product-logo { width: 3rem; height: 3rem; }
}

/* Keep the recovery action beneath sign-in; security text lives in the guide. */
html[data-theme] body.login-body .login-security-links--primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.4rem;
    margin-top: 0.55rem;
}
html[data-theme] body.login-body .login-security-links--primary .login-security-links__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    min-height: 2.25rem;
    box-sizing: border-box;
    padding: 0.38rem 0.55rem;
    border: 1px solid rgba(212, 227, 255, 0.62);
    border-radius: 0.6rem;
    background: transparent;
    font-size: 0.7rem;
    line-height: 1.25;
    text-decoration: none;
}
html[data-theme] body.login-body .login-security-links--primary .login-security-links__item svg {
    width: 0.85rem;
    height: 0.85rem;
    flex: none;
}
html[data-theme] body.login-body .login-security-links--primary .login-security-links__item--recovery > span {
    color: #d7e3ff;
}
html[data-theme] body.login-body .login-security-links--primary .login-security-links__item--recovery:is(:hover, :focus-visible) {
    border-color: #b5c8ff;
    background: rgba(255, 255, 255, 0.1);
    text-decoration: underline;
}
/* Recovery pages use a light, readable card in both application themes. Keep
   the form rows content-sized so the submit button cannot absorb spare height. */
html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) {
    align-self: start;
    align-content: start;
    grid-auto-rows: max-content;
    gap: 0.85rem;
    background: #fff !important;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card {
    background: #f8fbff;
    border-color: #c8d8ed;
    color: #172b4d;
    color-scheme: light;
    box-shadow: 0 0.5rem 1.5rem rgba(15, 35, 65, 0.1);
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card__head h2,
html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card > label {
    color: #172b4d !important;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card__head .eyebrow {
    color: #315ee3;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card .muted-copy,
html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card .enterprise-auth-note {
    color: #52657d;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .enterprise-auth-card .login-input-shell > input {
    background: #fff !important;
    border-color: #a9bbd2 !important;
    color: #172b4d !important;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .login-security-links,
html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .login-security-links span {
    color: #52657d;
}
html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) .login-security-links a {
    color: #315ee3;
}

html[data-theme] body.login-body .login-form:is([data-auth-stage="reset_request"], [data-auth-stage="reset_complete"]) > .login-submit-button {
    width: 100%;
    height: auto;
    min-height: 2.9rem;
    padding: 0.7rem 1rem;
    align-self: start;
    font-size: 0.95rem;
    line-height: 1.25;
}
