/* Scoped to registration: the rest of the site's theme is unchanged. */
.ir-registration-shell { box-sizing:border-box; width:calc(100% - 32px); max-width:560px; margin:32px auto 48px; padding:32px; background:#fff; border:1px solid #e8e5e4; border-radius:16px; box-shadow:0 8px 28px rgba(45,24,20,.05); }
.ir-registration-shell *, .ir-registration-dialog * { box-sizing:border-box; }
.ir-registration-shell .ir-registration-header { margin:0 0 24px; padding:0; background:none; border:0; }
.ir-registration-shell .ir-registration-header h1 { margin:0 0 10px; padding:0; color:#252525; font-family:inherit; font-size:30px; line-height:1.25; font-weight:700; }
.ir-registration-shell .ir-registration-header p { margin:0; color:#686868; font-size:14px; line-height:1.6; }
.ir-registration-shell .ir-registration-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 24px; padding:13px 15px; background:#fff4ee; border:1px solid #f7ded1; border-radius:10px; color:#74402c; font-size:13px; line-height:1.6; }
.ir-registration-notice-icon { flex:0 0 19px; height:19px; margin-top:1px; border:1px solid currentColor; border-radius:50%; text-align:center; font-size:12px; font-weight:700; line-height:17px; }
.ir-registration-shell .ir-registration-form { margin:0; padding:0; border:0; background:none; box-shadow:none; }
.ir-registration-shell .ir-registration-required { margin:0 0 18px; color:#777; font-size:12px; }
.ir-registration-required span, .ir-registration-shell label .star { color:#c62c18; }
.ir-registration-shell fieldset { min-width:0; margin:0; padding:0; border:0; }
.ir-registration-shell legend { margin:0 0 20px; padding:0; font-size:20px; }
.ir-registration-shell .ir-registration-field { margin:0 0 20px; }
.ir-registration-shell .ir-registration-label { display:flex; align-items:baseline; gap:6px; margin:0 0 7px; }
.ir-registration-shell .ir-registration-label label { display:inline-block; width:auto; margin:0; color:#373737; font-size:14px; line-height:1.5; font-weight:600; }
.ir-registration-shell .optional { color:#777; font-size:12px; }
.ir-registration-shell .ir-registration-input input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]), .ir-registration-shell .ir-registration-input select, .ir-registration-shell .ir-registration-input textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; min-height:46px; margin:0; padding:11px 13px; background:#fff; border:1px solid #d7d7db; border-radius:8px; box-shadow:none; color:#252525; font-family:inherit; font-size:16px; line-height:1.4; transition:border-color .15s,box-shadow .15s; }
.ir-registration-shell .ir-registration-input input:focus, .ir-registration-shell .ir-registration-input textarea:focus, .ir-registration-shell .ir-registration-input select:focus { border-color:#e1065e; outline:none; box-shadow:0 0 0 3px rgba(227,37,11,.12); }
.ir-registration-shell .ir-registration-input input.invalid { border-color:#c92316; }
.ir-registration-shell .ir-registration-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
.ir-registration-shell .ir-registration-button, .ir-registration-dialog .ir-registration-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin:0; padding:12px 22px; border:1px solid transparent; border-radius:8px; box-shadow:none; font-family:inherit; font-size:14px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:background-color .15s,box-shadow .15s; }
.ir-registration-shell .ir-registration-primary, .ir-registration-dialog .ir-registration-primary { background:#e1065e; color:#fff; text-shadow:none; }
.ir-registration-shell .ir-registration-actions .ir-registration-primary { flex:1 1 170px; }
.ir-registration-shell .ir-registration-primary:hover, .ir-registration-dialog .ir-registration-primary:hover { background:#c71f09; color:#fff; }
.ir-registration-shell .ir-registration-cancel { flex:0 1 116px; background:#eceef0; border-color:#e3e5e8; color:#50545b; }
.ir-registration-shell .ir-registration-cancel:hover { background:#dfe2e6; color:#35383d; }
.ir-registration-shell .ir-registration-button:focus-visible, .ir-registration-dialog .ir-registration-button:focus-visible { outline:3px solid #99200f; outline-offset:3px; }
.ir-registration-dialog { box-sizing:border-box; width:calc(100% - 32px); max-width:420px; max-height:calc(100% - 40px); overflow:auto; margin:auto; padding:30px; border:1px solid #eaded9; border-radius:16px; background:#fff; color:#333; box-shadow:0 18px 65px rgba(0,0,0,.2); font-family:inherit; }
.ir-registration-dialog:not([open]) { display:none; }
.ir-registration-dialog::backdrop { background:rgba(28,19,18,.55); }
.ir-registration-dialog .ir-registration-dialog-icon { width:42px; height:42px; margin:0 0 18px; border-radius:12px; background:#fff0e8; color:#b5411c; font-size:24px; font-weight:bold; line-height:42px; text-align:center; }
.ir-registration-dialog h2 { margin:0 0 14px; font-family:inherit; font-size:25px; line-height:1.25; color:#252525; }
.ir-registration-dialog p { margin:0 0 16px; font-size:15px; line-height:1.6; }
.ir-registration-dialog .ir-registration-dialog-hint { margin-bottom:24px; color:#737373; font-size:13px; }
.ir-registration-dialog .ir-registration-button { width:100%; }
.ir-registration-dialog.ir-registration-dialog-fallback { position:static; margin:20px auto; }
@media (max-width:480px) {
 .ir-registration-shell { width:calc(100% - 24px); margin:24px auto 32px; padding:22px 18px; border-radius:12px; }
 .ir-registration-shell .ir-registration-header h1 { font-size:27px; }
 .ir-registration-shell .ir-registration-notice { padding:12px; }
 .ir-registration-shell .ir-registration-actions { gap:10px; }
 .ir-registration-shell .ir-registration-actions .ir-registration-primary { flex-basis:100%; }
 .ir-registration-shell .ir-registration-cancel { flex:1 1 100%; }
 .ir-registration-dialog { padding:24px; }
}
@media (prefers-reduced-motion:reduce) { .ir-registration-shell input, .ir-registration-shell .ir-registration-button, .ir-registration-dialog .ir-registration-button { transition:none; } }

/* Login uses the same card and controls as registration. */
.ir-login-shell .ir-login-help { margin:0 0 26px; padding:14px 15px; border:1px solid #e6e7eb; border-radius:10px; background:#f6f7f8; color:#62656b; font-size:14px; line-height:1.6; }
.ir-login-shell .ir-login-help p { margin:0; }
.ir-login-shell .ir-login-help a { color:#e1065e; text-decoration:underline; text-underline-offset:3px; }
.ir-login-shell #ir-chat-status { font-size:12px; }
.ir-login-shell .ir-login-remember { display:flex; align-items:center; gap:9px; margin:4px 0 0; color:#555; font-size:14px; line-height:1.5; cursor:pointer; }
.ir-login-shell .ir-login-remember input { width:17px; height:17px; margin:0; accent-color:#e1065e; }
.ir-login-shell .ir-registration-cancel { flex-basis:145px; }
.ir-login-shell .ir-login-recovery { display:flex; flex-wrap:wrap; gap:12px 24px; margin:26px 0 0; padding:21px 0 0; border-top:1px solid #ececec; }
.ir-login-shell .ir-login-recovery a { color:#62656b; font-size:13px; line-height:1.5; text-decoration:none; }
.ir-login-shell .ir-login-recovery a:hover { color:#e1065e; text-decoration:underline; }
.ir-login-shell .login-description { margin:0 0 20px; }
.ir-login-shell .login-image { max-width:100%; height:auto; }
@media (max-width:480px) { .ir-login-shell .ir-registration-cancel { flex-basis:100%; } }

.ir-registration-support { margin:20px 0; font-size:14px; }
