.security-card{width:min(650px,calc(100% - 32px));max-width:650px;box-sizing:border-box}.security-panel,.security-card{overflow-wrap:anywhere}.security-panel[hidden],.security-panel [hidden],#forgot-form[hidden],#reset-form[hidden],#login-form[hidden]{display:none!important}.security-panel label,.security-card label{display:grid;gap:6px;margin:16px 0}.security-panel input,.security-card input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px}.security-panel button,.security-card button,.security-card a.button{min-height:44px;max-width:100%;white-space:normal;margin:5px 0}.security-panel .button,.security-card .button{display:block;width:100%}.security-panel p,.security-card p{font-size:14px;line-height:1.6}.security-panel h2,.security-card h2{font-size:21px}.security-codes{padding:16px;background:#edf3f9;color:#13324e;border-radius:8px;line-height:1.9;font-size:14px;white-space:pre-wrap;word-break:break-all}.security-key-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #ccd4df}.security-key-list small{display:block;margin-top:6px;color:#687582}.security-key-list .button{width:auto}.security-panel details{margin:18px 0}.security-panel summary{min-height:44px;cursor:pointer;padding:10px 0;box-sizing:border-box}.login-card>#passkey-login{margin:14px 0;min-height:44px;width:100%}.security-card input,.security-card .button{font:inherit}.security-panel .error:empty{display:none}@media(max-width:480px){.security-card{padding:22px 16px}.security-key-list article{flex-direction:column;align-items:stretch}.security-key-list .button{width:100%}.security-card input{font-size:16px}}

.login-card [hidden]{display:none!important}

.login-card #login-form>.button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;height:48px;padding:8px 12px;margin:10px 0 0;white-space:normal}

/* Recovery actions share type, spacing and a marker-free disclosure. */
.login-card #forgot-toggle,.login-card #passkey-recovery>summary{font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;color:inherit;text-align:center;min-height:44px;padding:10px 0;box-sizing:border-box;cursor:pointer}
.login-card #forgot-toggle{display:block;width:100%;margin:10px 0;background:transparent;border:0}
.login-card #passkey-recovery{margin:18px 0}
.login-card #passkey-recovery>summary{list-style:none;display:block}
.login-card #passkey-recovery>summary::-webkit-details-marker{display:none}
.login-card #passkey-recovery>summary::marker{content:""}
.login-card #passkey-recovery>summary:focus-visible{outline:3px solid #e9ac00;outline-offset:3px}
.login-card:has(#login-form[hidden]) #passkey-recovery{display:none}
.login-card #passkey-recovery label{display:grid;gap:6px;margin:12px 0}
.login-card #passkey-recovery input{width:100%;box-sizing:border-box;min-height:44px;font-size:16px}

/* Keep password recovery close to the password field. */
.login-card #login-form>#forgot-toggle{margin:-10px 0 0}

/* Avoid empty error space above the sign-in action. */
.login-card #login-error:empty{display:none}
.login-card #login-form>[type="submit"]{margin-top:0}

/* Separate recovery and back actions on the passkey confirmation screen. */
.security-panel>[data-lost-passkey],.security-panel>[data-restart]{display:block;width:100%;min-height:44px;margin:8px 0;padding:10px 8px;text-align:center}

/* Standalone recovery and security settings use the app's neutral theme. */
html[data-theme] body.login-page:has(.security-card){--security-bg:#fff;--security-panel:#f3f4f6;--security-text:#1c1e21;--security-muted:#666b73;--security-line:#b7bdc6;background:var(--security-bg);color:var(--security-text)}
html[data-theme="dark"] body.login-page:has(.security-card){--security-bg:#111214;--security-panel:#222428;--security-text:#f2f3f5;--security-muted:#a2a7b0;--security-line:#606771}
html[data-theme] body.login-page .security-card{background:var(--security-panel);color:var(--security-text);border-color:var(--security-line)}
html[data-theme] body.login-page .security-card :is(h1,h2,h3,label,.text-button){color:var(--security-text)}
html[data-theme] body.login-page .security-card :is(input,select,textarea,.button.secondary){background:var(--security-bg);color:var(--security-text);border-color:var(--security-line)}
html[data-theme] body.login-page .security-card .security-key-list small{color:var(--security-muted)}
html[data-theme] body.login-page .security-card .security-key-list article{border-color:var(--security-line)}
html[data-theme="dark"] .security-codes{background:#111214;color:#f2f3f5;border:1px solid #606771}
html[data-theme="dark"] :is(.security-panel,.security-card) .error{color:#ffb4b4}
