:root{--bg:#f6f7fb;--card:#fff;--ink:#1f2430;--sub:#7a8194;--brand:#ff6f06;--brand2:#ff8f3d;--line:#e6e8ef;--dark:#171b26}
*{margin:0;padding:0;box-sizing:border-box;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
body{min-height:100vh;display:flex;background:var(--bg)}
a{text-decoration:none;color:inherit}
.brand-side{flex:1;background:linear-gradient(150deg,#171b26,#232a3d);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px}
.brand-side .logo{font-size:30px;font-weight:800}.brand-side .logo span{color:var(--brand)}
.brand-side h1{font-size:26px;margin:26px 0 14px;line-height:1.4}
.brand-side p{color:#aab1c2;font-size:15px;line-height:1.9;max-width:420px}
.brand-side ul{margin-top:26px;color:#c6cbd8;font-size:14px;line-height:2.2;list-style:none}
.brand-side li::before{content:"✓";color:var(--brand);font-weight:700;margin-right:10px}
.form-side{width:480px;background:var(--card);display:flex;flex-direction:column;justify-content:center;padding:40px 56px;box-shadow:-4px 0 24px rgba(20,30,60,.06);overflow-y:auto}
.form-side h2{font-size:22px;margin-bottom:6px}
.form-side .sub{color:var(--sub);font-size:14px;margin-bottom:26px}
/* 兼容会员属性字段 include 的旧类名 */
.form-group{margin-bottom:16px;position:relative}
.form-group fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px}
.form-group legend{font-size:13px;color:var(--sub);padding:0 6px}
.input-group{position:relative;display:flex;align-items:center;gap:10px}
.input-group-addon{display:none}
.input-group em.tis{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--sub);font-size:12px;font-style:normal}
input.form-control,textarea.form-control,select.form-control{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:15px;outline:none;transition:.2s;background:#fff}
input.form-control{height:46px}
input.form-control:focus,textarea.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,111,6,.12)}
.formText{display:flex;gap:10px;align-items:center;width:100%}
.formText img,.code-row img{height:46px;border-radius:10px;border:1px solid var(--line);cursor:pointer}
.btn.sento,input.sento{height:46px;border:1px solid var(--brand);color:var(--brand);background:#fff;border-radius:10px;padding:0 14px;font-size:13px;cursor:pointer;white-space:nowrap}
.checkbox-custom,.radio-custom{display:inline-flex;align-items:center;gap:5px;margin-right:14px}
.code-row{display:flex;gap:10px}.code-row input{flex:1}
.btn-reg{width:100%;height:48px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-size:16px;font-weight:700;cursor:pointer;margin-top:6px;box-shadow:0 6px 18px rgba(255,111,6,.3)}
.btn-reg:hover{filter:brightness(1.05)}
.links{margin-top:18px;font-size:14px;text-align:center}
.links a{color:var(--brand);font-weight:600}
.oauth{margin-top:22px}
.oauth-line{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:12px;margin-bottom:14px}
.oauth-line::before,.oauth-line::after{content:"";flex:1;height:1px;background:var(--line)}
.oauth-btns{display:flex;gap:12px}
.btn-qq,.btn-weixin{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;color:var(--ink);cursor:pointer;transition:.15s}
.btn-qq:hover{border-color:#12B7F5;background:#f2fbff}
.btn-weixin:hover{border-color:#07C160;background:#f0fbf4}
.qic{width:24px;height:24px;border-radius:50%;background:#12B7F5;color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.btn-weixin .qic{background:#07C160}
.qic svg{width:15px;height:15px;fill:#fff}
.btn-weixin .qic svg{width:16px;height:16px}
.agreement{margin-top:22px;font-size:12px;color:var(--sub);text-align:center}
.agreement a{color:var(--brand)}
.back-home{position:absolute;top:24px;right:32px;font-size:13px;color:var(--sub)}
.back-home:hover{color:var(--brand)}
@media(max-width:900px){.brand-side{display:none}.form-side{width:100%;box-shadow:none}}
