:root{--text: #393939;--blue: #478fca;--title: #2679b5;--line: #d5d5d5;--page: #ffffff;--green: #5cb85c;--green-bar: #dff0d8;--green-text: #3c763d;--danger: #a94442;--danger-bar: #f2dede;--muted-btn: #f7f7f7;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--page);color:var(--text)}button,input{font:inherit}button{cursor:pointer}.page-header{text-align:center;padding:22px 12px 8px}.page-header h1{margin:0;color:var(--title);font-size:32px;font-weight:500}.section-title{margin:8px 0 0;padding:12px 12px 10px;border-bottom:1px solid #e5e5e5;color:var(--blue);font-size:18px;font-weight:500}.star{color:#ff892a;margin-right:6px}.op-list{list-style:none;margin:0;padding:0}.op-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 12px 28px;border-bottom:1px solid #e8e8e8}.op-name{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}.phone-icon{width:18px;height:18px;flex:none}.auth-btn{border:none;color:#fff;border-radius:3px;padding:6px 12px;font-size:14px;white-space:nowrap}.auth-btn.tone-green{background:#87b87f;color:#fff}.auth-btn.tone-blue{background:#428bca;color:#fff}.auth-btn.tone-orange{background:#f89406;color:#fff}.auth-btn.tone-red{background:#d15b47;color:#fff}.auth-btn.tone-yellow{background:#ffd400;color:#231f20}.auth-page{min-height:100vh;padding:20px 16px 32px;background:#f6f8fa}.back-link{display:block;margin:0 auto 16px;border:none;background:transparent;color:var(--blue);font-size:15px}.auth-card{width:min(420px,100%);margin:0 auto;background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:28px 22px 22px}.auth-brand{margin:0 0 18px;text-align:center;font-size:28px;font-weight:700}.field-label{display:block;margin-bottom:8px;color:#666;font-size:14px}.control{width:100%;height:44px;border:1px solid #d5d5d5;border-radius:8px;padding:8px 12px;color:var(--text);background:#fff;outline:none}.control:focus{border-color:var(--blue)}.next{width:100%;margin-top:16px;border:none;border-radius:8px;background:var(--title);color:#fff;padding:12px;font-size:16px;font-weight:600}.next:disabled,.text-btn:disabled{opacity:.55;cursor:not-allowed}.text-btn{display:block;width:100%;margin-top:10px;border:none;background:transparent;color:var(--blue);padding:8px}.hint{margin:8px 0 0;color:#777;font-size:14px}.ok-text{text-align:center;color:var(--green-text)}.err{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--danger-bar);color:var(--danger);font-size:14px}
