#registerForm.qc-registration { display:grid; gap:14px; min-width:0; }
#registerForm.qc-registration.hidden { display:none; }
#registerForm.qc-registration label { display:grid; gap:6px; margin:0; min-width:0; }
#registerForm.qc-registration input { width:100%; min-width:0; box-sizing:border-box; }
#registerForm.qc-registration input[aria-invalid="true"] { border-color:#b42318; }
#registerForm.qc-registration input[readonly] { background:#f5f7fa; color:#4b5563; }
#registerForm .qc-reg-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,auto); align-items:end; gap:8px; }
#registerForm .qc-reg-row .btn { min-height:40px; height:auto; white-space:normal; max-width:150px; padding:9px 12px; }
#registerForm .qc-reg-hint, #registerForm .qc-reg-error, #registerForm .qc-reg-help { font-size:12px; line-height:1.55; margin:0; overflow-wrap:anywhere; font-weight:400; }
#registerForm .qc-reg-hint, #registerForm .qc-reg-help { color:#526176; }
#registerForm .qc-reg-error { color:#b42318; }
#registerForm .qc-reg-suggestion { padding:10px; border:1px solid #dbe5ef; border-radius:6px; background:#f7f9fc; font-size:13px; overflow-wrap:anywhere; }
#registerForm .qc-reg-actions { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:6px; }
#registerForm .qc-reg-link { padding:0; border:0; background:none; color:#165bb8; cursor:pointer; text-align:left; font:inherit; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
#registerForm button:disabled { cursor:wait; opacity:.6; }
#registerForm .qc-reg-help summary { cursor:pointer; color:#165bb8; padding:3px 0; }
#registerForm .qc-reg-help p { margin:6px 0; }
#registerForm #registerMessage { margin:0; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
#registerForm #registerMessage:empty { display:none; }
#registerForm [hidden] { display:none !important; }
#authModal .modal, #authModal .modal-card { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
#authModal [hidden] { display:none !important; }
#authModal .modal, #authModal .modal-card { width:min(460px,calc(100vw - 32px)); box-sizing:border-box; }
#authModal .qc-recovery { display:grid; gap:14px; min-width:0; }
#authModal .qc-recovery label { display:grid; gap:6px; margin:0; min-width:0; }
#authModal .qc-recovery input { width:100%; min-width:0; box-sizing:border-box; }
#authModal .qc-auth-code { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,140px); align-items:end; gap:8px; }
#authModal .qc-auth-code .btn { min-height:42px; padding:9px; white-space:normal; }
#authModal .qc-auth-link { font:inherit; font-size:13px; padding:0; border:0; background:none; color:#165bb8; cursor:pointer; text-align:left; text-decoration:underline; text-underline-offset:3px; }
#authModal #forgotPassword { justify-self:end; text-align:right; margin:0 0 4px auto; display:block; }
#authModal .qc-login-options { display:flex; justify-content:space-between; align-items:center; gap:8px 16px; flex-wrap:wrap; }
#authModal .qc-login-options .auth-remember { margin:0; }
#authModal .qc-login-options #forgotPassword { margin:0 0 0 auto; }
#authModal .qc-auth-hint, #authModal .qc-auth-help { font-size:12px; line-height:1.55; margin:0; color:#526176; overflow-wrap:anywhere; }
#authModal .qc-auth-help summary { color:#165bb8; cursor:pointer; }
#authModal .form-message { overflow-wrap:anywhere; }
#authModal .form-message:empty { display:none; }
#authModal #loginMessage { margin:0; font-size:14px; line-height:1.5; }
#authModal #loginMessage.error:not(:empty) { padding:12px 14px; border:1px solid #f4b4ae; border-radius:6px; background:#fff1f0; color:#a61b13; font-weight:600; }
#authModal #loginForm input[aria-invalid="true"] { border-color:#c43227; }
#authModal .qc-recovery button:disabled { opacity:.6; cursor:wait; }
#authModal .qc-password { display:block; position:relative; min-width:0; }
#authModal .qc-password input { padding-right:44px; width:100%; box-sizing:border-box; }
/* The custom reveal button replaces Edge's native control in these fields. */
#authModal .qc-password input[data-password-input]::-ms-reveal { display:none; }
#authModal .qc-password-toggle { position:absolute; inset:0 0 0 auto; width:42px; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; padding:0; }
#authModal .qc-password-toggle[aria-pressed="true"] { background:#fff4eb; }
#authModal button:focus-visible { outline:2px solid #165bb8; outline-offset:2px; }
@media(max-width:480px) {
  #authModal .qc-recovery input, #authModal #loginForm input:not([type="checkbox"]) { font-size:16px; }
  #authModal .qc-auth-code { grid-template-columns:minmax(0,1fr) 116px; }
  #authModal .qc-auth-code .btn { font-size:12px; }
}
@media(max-width:480px) {
  #registerForm .qc-reg-row { grid-template-columns:minmax(0,1fr) 116px; }
  #registerForm .qc-reg-row .btn { font-size:12px; padding:9px 8px; }
  #registerForm.qc-registration input { font-size:16px; }
}
