/* Local form improvements, no remote libraries. */
.auth-wide{max-width:920px;margin:28px auto 60px}.auth-wide .register-panel{padding:clamp(18px,3vw,34px)}
.register-panel .grid-form{gap:14px 20px}
.form-section-title{display:flex;gap:12px;align-items:center;margin:8px 0 0;border-bottom:1px solid var(--outline-soft,#e5eaf1);padding-bottom:12px}
.form-section-title>span{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;color:#fff;background:#1f808c;font-size:16px;font-weight:800}
.form-section-title h2{margin:0;font-size:17px}.form-section-title small{font-size:11px;color:var(--muted,#8294a8)}
.password-input-wrap{display:block;position:relative}.password-input-wrap>input{padding-inline-end:80px}
.password-toggle{position:absolute;left:7px;top:50%;transform:translateY(-50%);background:var(--control-soft,#ecf2f8);color:var(--text-primary,#28425b);border-radius:8px;font-size:11px;padding:5px 11px;min-height:30px}
.password-policy-panel{background:var(--policy-bg,#f6f9fe);border:1px solid var(--outline-soft,#e4eaf3);border-radius:13px;padding:16px 18px}
.password-policy-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.password-policy-heading>span{color:var(--muted,#8395a8);font-size:11px}
.password-strength-track{height:5px;margin:13px 0 15px;background:var(--outline-soft,#dfe8f2);border-radius:9px;overflow:hidden}
.password-strength-track>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#e19a5c,#35b69f);border-radius:9px;transition:width .2s}
.password-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.password-rule-grid>[data-rule]{font-size:11px;color:var(--muted,#687b8e);display:flex;align-items:start;gap:8px;line-height:1.7}
.password-rule-grid>[data-rule]::before{content:'○';font-size:14px;line-height:1.4;font-weight:800;color:#c58a3b}
.password-rule-grid>[data-rule].passed{color:#17896f;font-weight:700}.password-rule-grid>[data-rule].passed::before{content:'✓';color:#17896f}
.register-submit{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}.register-submit p{margin:0}.register-submit button{padding:12px 25px}
[data-password-submit].not-ready{background:#9aabb9;color:#f5f9fc}[data-password-submit][aria-disabled=true]{cursor:pointer;opacity:.85}
.field-attention{border-radius:10px;animation:fieldGlow 1.6s ease-in-out 2}
.input-attention{border:2px solid #d34f54!important;box-shadow:0 0 0 4px #ef687520!important;background:var(--field-bg,#fff5f5)!important}
@keyframes fieldGlow{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px #f3999a50}}
.form-validation-toast{position:fixed;z-index:20000;bottom:25px;left:25px;max-width:min(400px,90vw);background:#8c283b;color:#fff;padding:14px 18px;border-radius:14px;box-shadow:0 18px 50px #0004;direction:rtl;font-size:12px;line-height:2}
.form-validation-toast[hidden]{display:none}.checkbox-line{display:flex;align-items:center;gap:9px;font-weight:500}
.checkbox-line input{width:18px;height:18px;min-height:18px;flex-shrink:0}
.validation-summary:empty{display:none}.staff-rights-title{font-size:15px;margin-bottom:4px}
@media(max-width:660px){.password-rule-grid{grid-template-columns:1fr}.auth-wide{margin:10px auto 35px}}

/* One-use visual security challenge */
.human-check{display:grid;gap:12px;padding:17px;border:1px solid var(--outline-soft,#dae4ec);border-radius:15px;background:var(--policy-bg,rgba(125,145,160,.07));max-width:100%;min-width:0}
.human-check-heading{display:flex;flex-wrap:wrap;gap:5px 14px;align-items:center;justify-content:space-between}
.human-check-heading strong{font-size:14px}.human-check-heading small{color:var(--muted,#6b8297);font-size:12px}
.human-check-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.human-check-row img{width:224px;max-width:100%;height:72px;object-fit:contain;border:1px solid #c5d5db;border-radius:12px;background:#eaf2f5}
.human-check-row button{font-size:12px;min-height:38px}
.human-check-answer{display:grid;gap:7px;max-width:280px}
.human-check-answer input{direction:ltr;text-align:center;letter-spacing:.23em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:18px;font-weight:750}
.turnstile-area{min-height:70px}.turnstile-area .muted{margin:0 0 8px;font-size:12px}
