.as-captcha-admin { font-family: Arial, sans-serif; color: #25313b; }
.as-captcha-header { border-bottom: 2px solid #2e7fc1; margin-bottom: 18px; }
.as-captcha-header h2 { color: #2e7fc1; margin: 0 0 6px; }
.as-captcha-header p { margin: 0 0 12px; }
.as-captcha-layout { display: flex; gap: 20px; align-items: flex-start; }
.as-captcha-sidebar { flex: 0 0 220px; background: #f5f7f9; padding: 14px; border-radius: 7px; }
.as-captcha-sidebar ul { list-style: none; padding: 0; margin: 0; }
.as-captcha-sidebar li + li { margin-top: 8px; }
.as-captcha-sidebar a { display: block; padding: 9px 12px; color: #fff; background: #1794dd; border-radius: 5px; text-decoration: none; font-weight: bold; }
.as-captcha-sidebar a:hover, .as-captcha-sidebar a.active { background: #fdeab3; color: #222; }
.as-captcha-content { flex: 1 1 auto; min-width: 0; }
.as-captcha-form fieldset { border: 1px solid #ccd5dc; border-radius: 7px; margin: 16px 0; padding: 15px; }
.as-captcha-form legend { font-weight: bold; padding: 0 6px; }
.as-captcha-type-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; }
.as-captcha-type-card { display: grid; grid-template-columns: auto 1fr; gap: 5px 9px; border: 1px solid #ccd5dc; border-radius: 7px; padding: 13px; cursor: pointer; background: #fff; }
.as-captcha-type-card:has(input:checked) { border-color: #2e7fc1; background: #eef7fd; box-shadow: 0 0 0 1px #2e7fc1; }
.as-captcha-type-card input { grid-row: 1 / span 2; margin-top: 3px; }
.as-captcha-type-card span { color: #596975; font-size: .92em; }
.as-captcha-fields { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px; margin: 15px 0; }
.as-captcha-fields label, .as-captcha-question-fields label { display: flex; flex-direction: column; gap: 5px; font-weight: bold; }
.as-captcha-fields input, .as-captcha-question-fields input, .as-captcha-widget input { padding: 8px; border: 1px solid #b9c5ce; border-radius: 5px; }
.as-captcha-question-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 15px 0; }
.as-captcha-check { display: flex; gap: 8px; align-items: center; font-weight: bold; margin: 12px 0; }
.as-captcha-button { border: 0; border-radius: 5px; padding: 9px 15px; color: #fff; background: #2e7fc1; cursor: pointer; font-weight: bold; }
.as-captcha-button:hover { background: #205f91; }
.as-captcha-button.secondary { background: #657680; }
.as-captcha-notice, .as-captcha-error { padding: 10px 12px; border-radius: 6px; margin-bottom: 14px; font-weight: bold; }
.as-captcha-notice { background: #e5f5e9; border: 1px solid #91c99e; color: #215b2e; }
.as-captcha-error { background: #f9e1e3; border: 1px solid #dda0a6; color: #76242c; }
.as-captcha-widget { max-width: 420px; border: 1px solid #cad4dc; border-radius: 7px; padding: 15px; background: #f8fafb; margin: 12px 0; }
.as-captcha-widget label { display: flex; flex-direction: column; gap: 9px; }
.as-captcha-prompt { font-weight: bold; }
.as-captcha-text-code { display: inline-block; width: max-content; padding: 8px 18px; letter-spacing: 5px; font: bold 24px monospace; background: #e7edf2; border: 1px dashed #6d8291; }
.as-captcha-image { display: block; max-width: 100%; height: auto; }
.as-captcha-refresh-form { margin-top: 9px; }
.as-captcha-content pre { overflow: auto; padding: 14px; background: #202a32; color: #f4f7f9; border-radius: 7px; }
.as-captcha-help-steps { padding-left: 22px; line-height: 1.65; }
.as-captcha-scan-form { margin-bottom: 16px; }
.as-captcha-plugin-table { width: 100%; border-collapse: collapse; margin: 12px 0 16px; }
.as-captcha-plugin-table th, .as-captcha-plugin-table td { padding: 9px; border: 1px solid #ced7de; text-align: left; vertical-align: middle; }
.as-captcha-plugin-table th { background: #edf4f9; color: #263a48; }
.as-captcha-plugin-toggle { display: inline-flex; align-items: center; gap: 7px; font-weight: bold; }
.as-captcha-empty { padding: 12px; border: 1px solid #d3dce2; border-radius: 6px; background: #f7f9fa; }
.as-captcha-modal[hidden] { display: none; }
.as-captcha-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgba(12, 25, 35, .68); }
.as-captcha-modal-window { position: relative; width: min(440px, 100%); padding: 22px; border-radius: 9px; background: #fff; box-shadow: 0 18px 55px rgba(0, 0, 0, .35); }
.as-captcha-modal-window h2 { margin: 0 35px 12px 0; color: #2e7fc1; }
.as-captcha-modal-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 28px; cursor: pointer; color: #52636f; }
.as-captcha-modal-prompt { font-weight: bold; line-height: 1.45; }
.as-captcha-modal-display { margin: 12px 0; }
.as-captcha-modal-label { display: flex; flex-direction: column; gap: 6px; font-weight: bold; }
.as-captcha-modal-answer { padding: 10px; border: 1px solid #aebbc5; border-radius: 5px; font-size: 16px; }
.as-captcha-modal-error { min-height: 1.3em; color: #a12631; font-weight: bold; }
.as-captcha-modal-actions { display: flex; justify-content: flex-end; gap: 9px; }
.as-captcha-modal-actions button { border: 0; border-radius: 5px; padding: 9px 13px; cursor: pointer; font-weight: bold; }
.as-captcha-modal-cancel { background: #dfe5e9; color: #27343c; }
.as-captcha-modal-check { background: #2e7fc1; color: #fff; }
.as-captcha-modal-check:disabled { opacity: .55; cursor: wait; }
@media (max-width: 850px) {
    .as-captcha-layout { flex-direction: column; }
    .as-captcha-sidebar { width: 100%; flex-basis: auto; }
    .as-captcha-type-grid, .as-captcha-fields, .as-captcha-question-fields { grid-template-columns: 1fr; }
}
