body.auth-page{background:#f5f7f0;color:#293823;color-scheme:light}
body.auth-page .auth-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 15%,#dfeccb 0,transparent 50%),radial-gradient(ellipse at 90% 75%,#f6e9d4 0,transparent 48%),linear-gradient(135deg,#f8faf4,#edf3e7);z-index:0}
body.auth-page main.auth-layout{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:490px;margin:0 auto;padding:40px 22px}
body.auth-page .auth-layout>.brand{color:#293823}
body.auth-page .auth-card{background:rgba(255,255,255,.96);border:1px solid #e1e8d8;box-shadow:0 20px 65px rgba(60,85,40,.09);border-radius:24px}
body.auth-page .auth-card input:focus-visible{outline:2px solid #6d9652;outline-offset:2px;background:white}
body.auth-page .auth-guest{color:#526b42}
@media(max-width:480px){body.auth-page main.auth-layout{padding:26px 16px}body.auth-page .auth-card{padding:24px}}
.auth-tabs{display:flex;gap:8px;margin:18px 0 4px;background:#eef3e8;padding:5px;border-radius:12px}
.auth-tabs a{flex:1;text-align:center;padding:9px;border-radius:9px;font-size:13px;font-weight:600;color:#54654b}
.auth-tabs a.active{background:#fff;color:#3c7028;box-shadow:0 2px 8px rgba(52,82,38,.08)}
.auth-code-row{display:flex;gap:10px;align-items:center;margin-top:9px}
.auth-code-row input{flex:1;min-width:0;margin-top:0}
.auth-code-row button{white-space:nowrap;border:0;background:#e6f1d5;color:#3c6426;padding:12px 14px;border-radius:10px;font-size:13px;cursor:pointer}
.auth-msg{background:#e9f5dd;color:#3c6426;padding:12px;border-radius:9px;line-height:1.8;font-size:12px;margin:10px 0 2px}
.auth-divider{display:flex;align-items:center;gap:12px;color:#7a8a6b;font-size:11px;margin:18px 0 14px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:#d8e1ce}
.auth-wechat{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:12px;background:#e7f6e3;color:#1a7f37;font-size:13px;font-weight:600;text-decoration:none}
.auth-wechat svg{width:18px;height:18px}
.user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #ffffff}

body.auth-page .auth-back{position:absolute;top:24px;left:28px;z-index:2;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:11px 17px;border:1px solid #dce6d1;border-radius:14px;background:rgba(255,255,255,.88);color:#486534;text-decoration:none;font-size:13px;font-weight:600;box-shadow:0 4px 16px rgba(60,85,40,.06);transition:background .18s,box-shadow .18s}
body.auth-page .auth-back svg{width:19px;height:19px;flex-shrink:0}
body.auth-page .auth-back:hover{background:#fff;box-shadow:0 6px 20px rgba(60,85,40,.12)}
body.auth-page .auth-back:focus-visible{outline:2px solid #6d9652;outline-offset:4px}
body.auth-page main.auth-layout{padding-top:94px}
@media(max-width:480px){body.auth-page .auth-back{top:18px;left:16px;padding:10px 14px}body.auth-page main.auth-layout{padding-top:88px}}
