:root {--login-bg:             var(--body-bg-color);--login-text:           var(--text-color);--login-muted:          var(--muted-text-color);--login-brand:          var(--base-color);--login-brand-readable: var(--base-color-readable);--login-separator:      var(--separator-color);--login-field-border:   light-dark(#8c8c8c, #6a6d73);--login-seam-fade:      light-dark(rgba(0, 0, 0, .10), rgba(0, 0, 0, .35));--login-error-bg:       light-dark(#fdecea, #3a1f1d);--login-error-border:   light-dark(#f5c6c2, #5e2b27);--login-error-text:     light-dark(#8a1c12, #ff9a90);}* { box-sizing: border-box; }html, body {height: 100%;margin: 0;}body {background: var(--login-bg);color: var(--login-text);font-family: Helvetica, Arial, "Liberation Sans", sans-serif;}.login-layout {display: flex;min-height: 100vh;}.login-photo {position: relative;flex: 1.2;background-size: cover;background-position: center;background-repeat: no-repeat;border-right: 1px solid var(--login-separator);}.login-photo::after {content: "";position: absolute;inset: 0 0 0 auto;width: 90px;background: linear-gradient(90deg, transparent, var(--login-seam-fade));pointer-events: none;}.login-form-col {position: relative;flex: 1;display: flex;flex-direction: column;align-items: center;background: var(--login-bg);padding: 40px 40px 72px;}.login-card {width: 100%;max-width: 360px;margin: auto;}.login-logo-plate {display: inline-flex;max-width: 100%;background: #fff;padding: 9px 13px;border-radius: 8px;border: 1px solid rgba(0, 0, 0, .06);box-shadow: 0 1px 3px rgba(0, 0, 0, .18);}.login-logo {display: block;width: auto;height: auto;max-height: 40px;max-width: 100%;}.login-org-name {margin-top: 12px;font-size: 14px;font-weight: 600;line-height: 1.35;color: var(--login-text);}.login-accent {height: 3px;width: 44px;background: var(--login-brand);border-radius: 2px;margin: 22px 0;}.login-eyebrow {font-size: 16px;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;color: var(--login-brand-readable);margin-bottom: 8px;}.login-heading {font-size: 26px;font-weight: 700;letter-spacing: -.02em;margin: 0 0 22px;color: var(--login-text);}.login-error {background: var(--login-error-bg);border: 1px solid var(--login-error-border);color: var(--login-error-text);border-radius: 6px;padding: 10px 12px;font-size: 13px;margin: 18px 0;}.login-btn {display: flex;align-items: center;justify-content: center;width: 100%;min-height: 42px;padding: 7px 14px;border: 0;border-radius: 6px;font-size: 14px;font-weight: 600;line-height: 1.3;text-align: center;cursor: pointer;text-decoration: none;box-sizing: border-box;}.login-submit,.login-sso-btn {background: var(--login-brand);color: #fff;}.login-submit:hover,.login-sso-btn:hover { filter: brightness(1.06); }.login-sso-btn { min-height: 46px; }.login-submit-outline {background: transparent;color: var(--login-brand-readable);border: 1px solid var(--login-brand);}.login-local-link {display: block;width: 100%;text-align: center;background: none;border: 0;cursor: pointer;color: var(--login-brand-readable);font-size: 13px;font-weight: 600;padding: 6px 0;margin-top: 14px;}.login-local-link:hover { text-decoration: underline; }.login-btn:focus-visible,.login-local-link:focus-visible {outline: 2px solid var(--login-text);outline-offset: 2px;}.login-local.is-collapsed { display: none; }.login-local.is-revealed { margin-top: 18px; }.login-field { margin-bottom: 16px; }.login-field label {display: block;font-size: 11px;font-weight: 600;text-transform: uppercase;letter-spacing: .07em;color: var(--login-muted);margin-bottom: 6px;}.login-field input {width: 100%;height: 40px;padding: 0 12px;font-size: 14px;color: var(--login-text);background: var(--login-bg);border: 1px solid var(--login-field-border);border-radius: 6px;}.login-field input:focus {border-color: var(--login-brand-readable);outline: 2px solid var(--login-brand-readable);outline-offset: 2px;}.login-submit { margin-top: 8px; }.login-footer {position: absolute;bottom: 0;left: 0;right: 0;display: flex;justify-content: space-between;padding: 12px 18px;font-size: 12px;color: var(--login-muted);}@media (max-width: 768px) {.login-photo { display: none; }.login-form-col { flex: 1; padding: 28px 22px 64px; }.login-field input { font-size: 16px; }}