/* Shared authentication surface; also served directly to the standalone login route. */
.auth-page body,body:has(.registration){margin:0;background:#f7f6f3;color:#202221;font:15px/1.65 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;min-height:100svh;padding:0}
.auth-page *,.registration *{box-sizing:border-box}
.auth-page main,.registration{width:100%;max-width:440px;margin:0 auto;padding:54px 24px calc(36px + env(safe-area-inset-bottom));font:inherit}
.auth-page main{padding-top:78px}
.auth-page .auth-brand,.registration>small{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em;font-weight:700;color:#595855;margin-bottom:30px}
.auth-page .auth-brand:before,.registration>small:before{content:'';height:34px;width:34px;flex:none;background:url('/brand-mark.svg') center/contain no-repeat}
.auth-page h1,.registration h1{font-size:34px;line-height:1.3;letter-spacing:-1.2px;color:#202221;font-weight:750;margin:0 0 13px}
.auth-page p,.registration p{font-size:13px;line-height:1.85;color:#7c7b78;margin:0 0 20px}
.auth-page a,.registration a{color:#3a3936;text-decoration:none;text-underline-offset:4px}
.auth-page label,.registration label{display:block;font-size:13px;font-weight:600;margin:22px 0;color:#646360}
.auth-page input,.registration input{display:block;width:100%;min-width:0;min-height:52px;margin-top:9px;border:1px solid #e2e1de;border-radius:13px;padding:13px 14px;background:#fff;color:#202221;font:16px/1.5 system-ui;box-shadow:0 2px 5px #18231402;font-family:inherit;font-size:16px}
.auth-page input:focus,.registration input:focus{border-color:#e5a68d;outline:0;box-shadow:0 0 0 3px #e65b3512}
.auth-page button,.registration button{cursor:pointer;min-height:50px;border:0;border-radius:13px;font-family:inherit;font-weight:600;font-size:14px;padding:12px 18px;background:#202221;color:white}
.auth-page button{width:100%}.registration button:disabled{opacity:.5;cursor:default}
.auth-page button:focus-visible,.registration button:focus-visible,.auth-page a:focus-visible,.registration a:focus-visible{outline:2px solid #e65b35;outline-offset:3px}
.auth-page .auth-submit,.registration .submit{display:block;width:100%;background:#202221;color:#fff;margin:28px 0 22px}
.auth-page .auth-links{border-top:1px solid #e4e3e0;padding-top:22px;margin-top:24px}.auth-page .auth-links p{margin:8px 0;font-size:12px}.auth-page .auth-links a,.registration .foot a{font-weight:600;color:#e65b35}
.registration .back{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#969592;margin:0 0 28px;padding:0}
.registration .tabs{display:flex;gap:4px;background:#efeeeb;border:1px solid #e9e8e5;padding:4px;border-radius:14px;margin:28px 0 22px}
.registration .tabs button{flex:1;border-radius:10px;background:transparent;color:#93928f;min-height:44px;padding:10px;font-size:14px}
.registration .tabs button:after{display:none}.registration .tabs button[aria-selected=true]{background:#fff;color:#202221;box-shadow:0 2px 8px #2f2e2b08}
.registration .notice{padding:14px 16px;background:#f0efec;border:1px solid #e7e6e3;border-radius:13px;color:#969592;font-size:12px;line-height:1.85;margin:18px 0 20px}
.registration .code{display:flex;gap:8px;align-items:center}.registration .code input{flex:1;min-width:0}.registration .code button{flex:none;background:#eeedea;color:#8c8b88;font-size:12px;white-space:nowrap;min-height:50px;margin-top:9px;padding:10px 12px}
.registration .optional-account{border-bottom:1px solid #e5e4e1;padding:12px 0;margin:8px 0 14px}.registration .optional-account summary{min-height:34px;cursor:pointer;font-size:12px;color:#8f8e8b;line-height:1.8;padding:6px 0}.registration .optional-account[open]{padding-bottom:0}
.registration .optional-account+p{font-size:11px;color:#a1a09d;line-height:1.8}
.registration .password-row{position:relative}.registration .password-row input{padding-right:84px}.registration .password-row button{position:absolute;right:5px;top:5px;min-height:42px;padding:8px;background:transparent;color:#999895;font-size:11px}
.registration .foot{text-align:center;font-size:12px;margin-top:28px}.registration .back+br{display:none}
.auth-page aside[role=alert],.registration [role=alert]{display:block;background:#fff0e8;border-left:3px solid #d46a46;color:#a34f36;font-size:13px;line-height:1.8;padding:13px 15px;border-radius:10px;margin:20px 0;overflow-wrap:anywhere}
@media(min-width:768px){.auth-page main,.registration{margin:54px auto;background:#fff;border:1px solid #e7e6e3;border-radius:24px;padding:42px 36px;box-shadow:0 12px 50px #20222104}.registration input,.auth-page input{background:#fbfaf7}.registration .tabs{margin-top:26px}}
@media(max-width:350px){.auth-page main,.registration{padding-left:20px;padding-right:20px}.auth-page h1,.registration h1{font-size:30px}.registration .tabs button{font-size:13px}.registration .code button{padding:9px;font-size:11px}}
.auth-page label,.registration label{color:#575b54}.registration .notice,.registration .optional-account summary,.registration .optional-account+p,.registration .password-row button{color:#6e7367}.registration .tabs button{color:#767b6e}.registration .back{color:#73776b}.registration .code button{color:#5a6d42}
@media(max-width:767px){.registration{padding-top:22px}.registration .back{margin-bottom:16px}.registration>small{margin-bottom:22px}.registration .tabs{margin-top:22px}}

/* Account maintenance uses the existing UI 1.4 form surface. */
.account-surface.registration{padding-top:22px;padding-bottom:calc(40px + env(safe-area-inset-bottom))}
.account-surface .back{margin-bottom:18px}.account-surface>small{margin-bottom:22px}
.account-surface h1{font-size:30px;letter-spacing:-.8px}.account-surface h2{font-size:20px;line-height:1.5;letter-spacing:-.3px;margin:0 0 9px;color:#202221}
.account-surface .security-section{border-top:1px solid #e2e1de;padding-top:26px;margin-top:28px;min-width:0}
.account-surface .security-identity{background:#eeede9;border:1px solid #e2e1de;border-radius:13px;padding:14px 16px;margin:24px 0}
.account-surface .security-identity>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:13px;line-height:1.6;min-width:0}
.account-surface .security-identity span{color:#646360;flex:none}.account-surface .security-identity strong{text-align:right;font-weight:600;overflow-wrap:anywhere;min-width:0}
.account-surface form,.account-surface label{min-width:0}.account-surface label{margin:19px 0}
.account-surface .security-password{position:relative;margin-top:9px}.account-surface .security-password input{margin:0;padding-right:68px}
.account-surface .security-password button{position:absolute;right:4px;top:4px;min-height:44px;min-width:52px;padding:9px 10px;background:transparent;color:#646360;font-size:12px;border-radius:9px}
.account-surface .security-code{display:flex;align-items:center;gap:8px;margin-top:9px;min-width:0}
.account-surface .security-code input{flex:1;width:0;min-width:0;margin:0}
.account-surface .security-code button{flex:none;white-space:nowrap;font-size:12px;min-height:52px;padding:11px 12px;background:#eae9e5;color:#41463d}
.account-surface button:disabled{opacity:.5;cursor:default}.account-surface .submit{margin-top:22px;margin-bottom:0}
.account-surface .security-help{font-size:12px;line-height:1.8;color:#6e7367;margin:16px 0 20px}
.account-surface .security-status,.auth-page .security-status{color:#46583c;background:#edf1e8;border:1px solid #dce4d3;border-radius:10px;padding:13px 15px;font-size:13px;line-height:1.8;overflow-wrap:anywhere;margin:18px 0}
.account-surface .security-primary-link{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;background:#202221;color:#fff;border-radius:13px;font-size:14px;font-weight:600;margin-top:24px}
.account-surface .security-text-link,.auth-page .auth-forgot{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:#b54b2c}
.auth-page .auth-forgot{margin-top:-12px}.auth-page .auth-links a{display:inline-flex;align-items:center;min-height:44px}
body .account-page .account-links a{display:flex;align-items:center;gap:15px;padding:18px 20px;width:100%;min-height:64px;font-size:14px;line-height:1.7;border-bottom:1px solid #edeee5;text-align:left;color:#3f4935;text-decoration:none}
body .account-page .account-links a>svg:first-child{color:#737e64}body .account-page .account-links a>svg:last-child{margin-left:auto;color:#a0a794}
body .account-page .account-links a:last-child{border-bottom:0}body .account-page .account-links button:not(:last-child){border-bottom:1px solid #edeee5}
body .account-page .account-logout{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:1px solid #e2e1de;border-radius:10px;background:#f4f3ef;color:#575b54;font-family:inherit;font-size:14px;font-weight:600;line-height:1.7;padding:11px 16px}
body .account-page .account-links a:focus-visible,body .account-page .account-logout:focus-visible{outline:2px solid #e65b35;outline-offset:3px}
@media(max-width:767px){body .account-page .account-links a{padding:17px;min-height:63px;gap:13px}}
@media(max-width:350px){.account-surface.registration{padding-left:20px;padding-right:20px}.account-surface h1{font-size:28px}.account-surface .security-code{gap:7px}.account-surface .security-code button{padding:10px 9px;font-size:11px}.account-surface .security-identity{padding:12px}.account-surface .security-identity>div{gap:10px}}
