#auth-captcha-dialog { box-sizing:border-box; width:320px; max-width:calc(100% - 40px); max-height:calc(100% - 32px); overflow:auto; margin:auto; padding:20px; border:1px solid #e1e5eb; border-radius:8px; background:#fff; color:#34395e; box-shadow:0 8px 28px #24314c26; }
#auth-captcha-dialog::backdrop { background:rgba(25,30,40,.45); }
#auth-captcha-dialog .auth-captcha-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; }
#auth-captcha-dialog h2 { margin:0; font-size:16px; font-weight:600; line-height:22px; letter-spacing:0; }
#auth-captcha-dialog .auth-captcha-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#auth-captcha-dialog .auth-captcha-challenge { display:flex; align-items:center; justify-content:center; gap:8px; height:48px; margin-bottom:12px; }
#auth-captcha-image { width:144px; max-width:calc(100% - 44px); height:48px; object-fit:contain; }
#auth-captcha-question { font-size:18px; }
#auth-captcha-dialog button:not(.btn) { width:30px; height:30px; flex-shrink:0; display:grid; place-items:center; padding:0; border:0; border-radius:4px; background:transparent; color:#939ba7; cursor:pointer; }
#auth-captcha-dialog button:not(.btn):hover { background:#f1f3f7; color:#3b4760; }
#auth-captcha-dialog button:focus-visible { outline:2px solid #7484e7; outline-offset:2px; }
#auth-captcha-dialog button:disabled { opacity:.5; cursor:default; }
#auth-captcha-answer { box-sizing:border-box; width:100%; height:38px; padding:0 10px; border-radius:5px; font-size:14px; line-height:normal; }
#auth-captcha-answer::placeholder { font-size:14px; }
#auth-captcha-submit { box-sizing:border-box; width:100%; min-height:38px; padding:8px 10px; margin-top:22px; border-radius:5px; font-size:13px; line-height:20px; box-shadow:none; letter-spacing:0; white-space:normal; }
#auth-captcha-message { display:flex; align-items:flex-start; gap:6px; font-size:12px; line-height:18px; margin:12px 0 0; overflow-wrap:anywhere; }
#auth-captcha-message i { flex-shrink:0; line-height:18px; }
#auth-captcha-message span { min-width:0; }
#auth-captcha-message[data-state="loading"] { color:#3165b0; }
#auth-captcha-message[data-state="warning"] { color:#99610b; }
#auth-captcha-message[data-state="error"] { color:#ba3535; }
#auth-captcha-answer[aria-invalid="true"] { border-color:#c74b4b; }
#auth-captcha-message:empty { display:none; }
.swal2-popup.auth-feedback { width:320px; max-width:calc(100% - 40px); padding:20px; border-radius:8px; }
.auth-feedback .swal2-title { font-size:18px; line-height:26px; letter-spacing:0; }
.auth-feedback .auth-feedback-line { display:flex; gap:8px; align-items:flex-start; margin:12px 0 0; font-size:14px; line-height:22px; text-align:left; overflow-wrap:anywhere; }
.auth-feedback-line i { flex-shrink:0; line-height:22px; }
.auth-feedback-line span { min-width:0; }
.auth-feedback .auth-feedback-success { color:#258343; }
.auth-feedback .auth-feedback-warning { color:#99610b; }
.auth-feedback .auth-feedback-error { color:#ba3535; }
.auth-feedback .auth-feedback-info { color:#426f9b; font-size:12px; line-height:20px; }
.auth-feedback-info i { line-height:20px; }
#auth-captcha-dialog [hidden] { display:none !important; }
@media (pointer:coarse) { #auth-captcha-dialog button:not(.btn) { width:36px; height:36px; } }
@media (pointer:coarse), (max-width:767px) { #auth-captcha-answer { font-size:16px; } }
