[hidden] { display: none !important; }
.auth-screen { min-height: 100dvh; height: 100%; overflow: auto; display: grid; place-items: center; padding: 32px 20px; background: #f5f6ef; }
.auth-card { width: 100%; max-width: 420px; padding: 32px 32px 26px; border: 1px solid #dfe5d7; border-radius: 20px; background: #fdfefa; box-shadow: 0 12px 50px #234b4109; }
.auth-mark { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #f5f6ef; background: #234b41; font: 40px/1 Georgia,serif; padding-bottom: 7px; margin-bottom: 23px; }
.auth-eyebrow { font-size: 10px; letter-spacing: 1.3px; color: #64775d; margin-bottom: 10px; }
.auth-card h1 { font-size: 29px; font-weight: 500; letter-spacing: -.6px; }
.auth-intro { color: #64745e; font-size: 14px; line-height: 1.7; margin: 9px 0 26px; }
#login-form > label:not(.remember-device) { display: block; font-size: 13px; color: #3f5140; margin: 19px 0 8px; }
#login-email, #login-password { width: 100%; min-height: 48px; border: 1px solid #bdcbb6; border-radius: 9px; padding: 11px 13px; font: 16px var(--font); background: #fff; color: #283f30; }
#login-form input:focus-visible, .auth-card button:focus-visible, .sign-out:focus-visible { outline: 2px solid #234b41; outline-offset: 3px; }
.password-field { display: flex; position: relative; }
#login-password { padding-right: 64px; }
#toggle-password { position: absolute; right: 3px; top: 3px; bottom: 3px; border: 0; border-radius: 7px; background: transparent; padding: 0 13px; color: #476542; font-size: 12px; }
.remember-device { display: flex; align-items: center; gap: 10px; margin: 17px 0 23px; color: #52664c; font-size: 13px; min-height: 28px; cursor: pointer; }
.remember-device input { width: 18px; height: 18px; accent-color: #234b41; flex-shrink: 0; }
.login-submit { width: 100%; min-height: 48px; justify-content: center; font-size: 15px; background: #234b41; }
.login-submit:disabled { opacity: .65; cursor: wait; }
.auth-reset { display: block; padding: 12px 5px; margin: 8px auto 0; min-height: 44px; background: transparent; border: 0; color: #476542; text-decoration: underline; text-underline-offset: 3px; font-size: 13px; }
.auth-reset:disabled { opacity: .6; }
.auth-message { min-height: 22px; font-size: 13px; line-height: 1.65; color: #395c42; margin-top: 6px; }
.auth-message:empty { min-height: 0; margin-top: 0; }
.auth-message.is-error { color: #9d3b2d; background: #fff3ee; border-radius: 8px; padding: 10px 12px; }
.auth-help { margin-top: 20px; border-top: 1px solid #e5e9df; padding-top: 18px; color: #6b7b64; font-size: 12px; line-height: 1.7; }
.auth-preview { font-size: 11px; line-height: 1.6; color: #7b8875; margin-top: 10px; }
.sign-out { margin-left: 12px; flex-shrink: 0; color: #52664c; background: transparent; border: 1px solid #d2ddc9; padding: 7px 10px; border-radius: 7px; font-size: 12px; min-height: 34px; }
@media(max-width: 480px) { .auth-screen { padding: 20px 16px; } .auth-card { padding: 26px 22px 22px; } .auth-card h1 { font-size: 28px; } .sign-out { margin-left: 8px; padding: 7px 8px; } }

.auth-mark{padding-bottom:0}
