/* 旧插件风格 - 登录按钮容器 */
#rbva-sl-container { padding:0 0 20px; overflow:hidden; }
#rbva-sl-container .sl-label { margin-bottom:5px; }
#rbva-sl-container .sl-list { position:relative; }
#rbva-sl-container .sl-btn {
    display:inline-block; padding:5px; background:#f7f7f7;
    border:1px solid #d4d4d4; border-radius:3px; width:32px; height:32px;
    position:relative; box-sizing:initial; left:0; top:0;
    transition:background .3s; vertical-align:middle; text-decoration:none;
    margin:0 5px 0 0; cursor:pointer;
}
#rbva-sl-container .sl-btn:hover { background:#fff; }
#rbva-sl-container .sl-btn img, #rbva-sl-container .sl-btn svg {
    width:32px; height:32px; display:block;
}

/* 弹窗遮罩 */
.rbva-sl-overlay {
    display:none; position:fixed; z-index:999999; left:0; top:0;
    width:100%; height:100%; background:rgba(0,0,0,.45);
    backdrop-filter:blur(3px); align-items:center; justify-content:center;
}
.rbva-sl-overlay.active { display:flex; }
.rbva-sl-modal {
    background:#fff; border-radius:14px; padding:28px 32px;
    max-width:380px; width:90%; text-align:center; position:relative;
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    animation:slFadeIn .25s ease;
}
@keyframes slFadeIn { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.rbva-sl-modal .sl-close {
    position:absolute; top:10px; right:14px; width:28px; height:28px;
    border:none; background:transparent; font-size:22px; color:#999;
    cursor:pointer; line-height:28px; padding:0; border-radius:6px;
}
.rbva-sl-modal .sl-close:hover { background:#f0f0f0; color:#333; }
.rbva-sl-modal h3 { margin:0 0 6px; font-size:17px; color:#333; }
.rbva-sl-modal .sl-desc { font-size:13px; color:#999; margin:0 0 16px; }

/* 二维码区域 */
.sl-qr-box { padding:14px; background:#fafafa; border-radius:10px; border:1.5px dashed #e0e0e0; display:inline-block; }
.sl-qr-box canvas { display:block; margin:0 auto; }
.sl-hint { font-size:12px; color:#888; margin:12px 0 0; }
.sl-status { font-size:13px; color:#555; margin-top:12px; padding:8px 12px; background:#f0f7ff; border-radius:8px; display:flex; align-items:center; justify-content:center; gap:6px; }
.sl-dot { width:7px; height:7px; border-radius:50%; background:#4a6cf7; display:inline-block; animation:slPulse 1.2s ease-in-out infinite; }
@keyframes slPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.7)} }

/* 手机登录表单 */
.sl-phone-form { text-align:left; margin-top:8px; }
.sl-phone-form .sl-row { margin-bottom:12px; }
.sl-phone-form label { display:block; font-size:13px; color:#555; margin-bottom:4px; }
.sl-phone-form input[type="tel"], .sl-phone-form input[type="text"] {
    width:100%; padding:10px 12px; border:1.5px solid #e0e0e0; border-radius:8px;
    font-size:14px; box-sizing:border-box; outline:none; transition:border-color .2s;
}
.sl-phone-form input:focus { border-color:#4a6cf7; }
.sl-code-row { display:flex; gap:8px; }
.sl-code-row input { flex:1; }
.sl-code-btn {
    padding:10px 14px; background:#4a6cf7; color:#fff; border:none;
    border-radius:8px; font-size:13px; cursor:pointer; white-space:nowrap;
    transition:background .2s;
}
.sl-code-btn:hover { background:#3b5de7; }
.sl-code-btn:disabled { background:#b0b0b0; cursor:default; }
.sl-login-btn {
    width:100%; padding:12px; background:#07c160; color:#fff; border:none;
    border-radius:8px; font-size:15px; font-weight:600; cursor:pointer;
    transition:background .2s; margin-top:4px;
}
.sl-login-btn:hover { background:#06ad56; }
.sl-error { color:#e74c3c; font-size:12px; margin:4px 0 0; }