/* SlideCaptcha 后台适配，沿用租户主题色；拼图实际像素保持 240×150。 */
.admin-slide-captcha { padding: 20px 32px; color: #374151; box-sizing: border-box; }
#slide-captcha-image { position: relative; width: 240px; height: 150px; background: #f3f4f6; }
#slide-captcha-image canvas { position: absolute; top: 0; left: 0; width: 240px; height: 150px; }
#slide-captcha-status { min-height: 40px; margin: 12px 0 8px; font-size: 13px; line-height: 20px; }
#slide-captcha-track { position: relative; width: 240px; height: 44px; background: #f1f5f9; border-radius: 6px; cursor: pointer; }
#slide-captcha-handle { width: 50px; height: 44px; border: 0; border-radius: 6px; background: var(--captcha-primary, #1e9fff); color: white; cursor: grab; touch-action: none; }
#slide-captcha-handle:disabled { cursor: wait; opacity: .55; }
#slide-captcha-help { margin: 12px 0; font-size: 12px; line-height: 18px; color: #64748b; }
.admin-slide-captcha-actions { display: flex; gap: 12px; justify-content: space-between; }
.admin-slide-captcha-actions button { min-height: 44px; padding: 0 12px; border: 1px solid #dce2eb; border-radius: 6px; background: white; cursor: pointer; }
#slide-captcha-confirm { background: var(--captcha-primary, #1e9fff); border-color: transparent; color: white; }
#slide-captcha-confirm:disabled { opacity: .55; cursor: wait; }
.admin-slide-captcha button:focus-visible { outline: 2px solid var(--captcha-primary, #1e9fff); outline-offset: 3px; }
/* 原有数字验证码在两个主题中共用布局，图片按原尺寸比例显示。 */
.admin-image-captcha { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; }
.admin-image-captcha button { height: 48px; padding: 0; border: 1px solid #dce2eb; border-radius: 8px; background: #f7f9fc; overflow: hidden; cursor: pointer; }
.admin-image-captcha img { width: 112px; height: 44px; object-fit: contain; }
#login-captcha-status { margin-top: 8px; font-size: 12px; color: #64748b; }
