/* Selected WorkOS-first login layout. Silicon owns controls; this file owns composition. */
.login-split-page { min-height: 100vh; background: #f7f4ef; color: var(--bs-body-color); }
.login-split-stage { min-height: 100vh; display: flex; align-items: center; padding-block: 2.5rem; }
.login-split-shell {
    width: 100%; max-width: 980px; min-height: 560px; margin-inline: auto;
    display: grid; grid-template-columns: minmax(420px, 46%) 1fr;
    border-radius: 1.25rem; box-shadow: 0 1.25rem 3rem rgba(19, 32, 56, 0.1);
}
.login-split-form-panel {
    display: flex; flex-direction: column; justify-content: center;
    padding: 3rem clamp(2rem, 4vw, 3.5rem); background: #fff;
}
.login-split-brand {
    display: inline-flex; align-items: center; gap: 0.625rem; width: fit-content;
    color: var(--bs-heading-color, #0b0f19); font-size: 1.125rem; font-weight: 600;
}
.login-split-brand-mark {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; border-radius: 0.75rem;
    color: #fff; background: #111827; font-size: 1.35rem;
}
.login-split-copy { margin-top: 3.75rem; }
.login-split-auth { width: 100%; max-width: 360px; margin-top: 1rem; }
#workos-google-login-form, .gsi-material-button { max-width: 320px; }
.auth-method-panel:not(.d-none) { animation: login-method-in 160ms ease-out; }
@keyframes login-method-in {
    from { opacity: 0; transform: translateX(0.4rem); }
    to { opacity: 1; transform: translateX(0); }
}
.login-split-visual {
    position: relative; flex-direction: column; justify-content: flex-end;
    overflow: hidden; padding: 3rem;
    background: linear-gradient(145deg, #3157d5 0%, #6b56d9 55%, #34a6c8 100%);
}
.login-split-orbit {
    position: absolute; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 50%;
}
.login-split-orbit-one { width: 26rem; height: 26rem; top: -8rem; right: -9rem; }
.login-split-orbit-two { width: 17rem; height: 17rem; top: 3rem; right: 1rem; }
.login-split-caption { position: relative; z-index: 1; max-width: 24rem; }
@media (prefers-reduced-motion: reduce) {
    .auth-method-panel:not(.d-none) { animation: none; }
}
@media (max-width: 991.98px) {
    .login-split-shell { display: block; max-width: 560px; min-height: auto; }
    .login-split-form-panel { padding: 2.5rem; }
    .login-split-copy { margin-top: 2.75rem; }
}
@media (max-width: 575.98px) {
    .login-split-stage { align-items: flex-start; padding-block: 1rem; }
    .login-split-form-panel { padding: 1.5rem; }
    .login-split-shell { border-radius: 1rem; }
    .login-split-copy { margin-top: 2rem; }
}
