/* Account actions and decoration share the platform's red brand palette. */
body.auth-page {
    --auth-brand: #ed1b24;
    --auth-brand-strong: #c51017;
    --auth-brand-soft: #fff1f2;
    --auth-brand-on-dark: #ff6b6b;
    margin: 0;
    min-height: 100vh;
    height: auto;
    display: flex;
    flex-direction: column;
    background: #f5f7fa;
    color: #202734;
    font: 14px/1.6 "Open Sans", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing: border-box; }
.auth-page [hidden] { display: none !important; }
.auth-page h1, .auth-page h2, .auth-page p, .auth-page figure { margin: 0; }
.auth-page h1, .auth-page h2 { color: inherit; font-family: inherit; font-weight: 700; line-height: 1.25; letter-spacing: -.035em; }
.auth-page a { color: var(--auth-brand-strong); text-decoration: none; }
.auth-page a:hover { color: #a80e15; text-decoration: underline; }
.auth-page button, .auth-page input, .auth-page select { font: inherit; }
.auth-page button { cursor: pointer; }
.auth-page button:disabled { cursor: default; }
.auth-page a:focus-visible, .auth-page button:focus-visible, .auth-page summary:focus-visible { outline: 3px solid var(--auth-brand); outline-offset: 4px; }
.auth-icon { display: block; flex-shrink: 0; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.auth-skip-link { position: absolute; left: 16px; top: -100px; padding: 10px 18px; z-index: 100; background: #fff; border-radius: 6px; }
.auth-skip-link:focus { top: 10px; }
.auth-header { background: linear-gradient(105deg, #c80000, #e53935 64%, #f56565); color: #fff; box-shadow: 0 3px 10px #a5232314; }
.auth-header-inner { max-width: 1440px; min-height: 72px; width: calc(100% - 64px); margin: auto; display: flex; align-items: center; gap: 38px; }
.auth-header-brand { display: flex; flex-shrink: 0; }
.auth-header-brand img { width: 174px; height: auto; }
.auth-nav { display: flex; gap: 6px; }
.auth-nav a { padding: 9px 12px; color: #fff; font-size: 12px; font-weight: 600; border-radius: 6px; white-space: nowrap; }
.auth-nav a:hover { background: #ffffff20; color: white; text-decoration: none; }
.auth-header-end { margin-left: auto; display: flex; align-items: center; gap: 20px; }
.auth-language { position: relative; font-size: 12px; }
.auth-language summary { cursor: pointer; display: flex; align-items: center; gap: 7px; padding: 8px 0; list-style: none; }
.auth-language summary::-webkit-details-marker { display: none; }
.auth-language summary::after { content: ""; width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0 3px; }
.auth-language .auth-icon { width: 16px; height: 16px; }
.auth-language-options { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; min-width: 150px; background: #fff; border: 1px solid #e1e5eb; border-radius: 9px; box-shadow: 0 10px 30px #1721321f; padding: 6px; }
.auth-language-options a { display: block; color: #465368; padding: 8px 12px; border-radius: 5px; }
.auth-language-options a:hover, .auth-language-options a[aria-current] { background: var(--auth-brand-soft); color: var(--auth-brand-strong); text-decoration: none; }
.auth-header a.auth-header-action { border: 1px solid #ffffff75; border-radius: 6px; padding: 8px 15px; font-size: 12px; font-weight: 600; white-space: nowrap; color: #fff; }
.auth-header a.auth-header-action:hover { background: #ffffff17; text-decoration: none; }
.auth-main { flex: 1; width: 100%; padding: 46px 32px; }
.auth-main:focus { outline: none; }
.auth-shell { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 48% 52%; min-height: 636px; border-radius: 17px; overflow: hidden; border: 1px solid #e1e5eb; background: #fff; box-shadow: 0 16px 45px #222c4212; }
.auth-story { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: 38px; background: #172132; color: #fff; }
.auth-story::before { content: ""; position: absolute; z-index: -1; width: 330px; height: 250px; top: -222px; right: -35px; border: 30px solid var(--auth-brand); transform: rotate(-24deg); pointer-events: none; }
.auth-eyebrow { display: flex; align-items: center; gap: 9px; color: var(--auth-brand-strong); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.auth-eyebrow::before { content: ""; flex-shrink: 0; width: 18px; height: 2px; background: currentColor; }
.auth-story > .auth-eyebrow { color: #fff; }
.auth-story > .auth-eyebrow::before { background: var(--auth-brand); }
.auth-story h2 { margin: 20px 0 15px; font-size: 34px; line-height: 1.25; color: #fff; }
.auth-title-line { display: block; }
.auth-story-lead { color: #bbc6d6; font-size: 13px; line-height: 1.85; }
.auth-workshop { position: relative; aspect-ratio: 3 / 2; flex-shrink: 0; margin-top: 28px !important; border-radius: 11px; overflow: hidden; border: 1px solid #ffffff17; }
.auth-workshop img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(.9); }
.auth-workshop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 35%, #101b2ac7); }
.auth-workshop figcaption { position: absolute; bottom: 18px; left: 18px; right: 18px; z-index: 1; color: #dae4ef; font-size: 11px; }
.auth-workshop figcaption strong { display: block; color: #fff; font-size: 13px; margin-bottom: 4px; }
.auth-story-bottom { display: flex; gap: 10px; align-items: center; margin-top: auto; padding-top: 27px; font-size: 12px; color: #becbdc; }
.auth-story-bottom .auth-icon { color: var(--auth-brand); width: 18px; height: 18px; }
.auth-content { min-width: 0; padding: 42px 54px; display: flex; flex-direction: column; justify-content: center; }
.auth-brand { display: block; align-self: flex-start; margin-bottom: 32px; }
.auth-brand img { max-width: 100%; width: 230px; height: auto; display: block; }
.auth-form-heading { margin-bottom: 26px; }
.auth-form-heading h1, .auth-form-heading h2 { margin: 0 0 10px; font-size: 27px; }
.auth-form-heading .auth-eyebrow { margin-bottom: 12px; font-size: 9px; }
.auth-form-heading p { color: #687384; font-size: 13px; line-height: 1.8; }
.auth-form .form-group { margin-bottom: 20px; min-width: 0; }
.auth-form label.control-label { display: block; font-size: 12px; font-weight: 600; color: #394353; margin: 0 0 8px; }
.auth-form .form-control { height: 46px; padding: 0 13px; font-size: 14px; line-height: normal; background: #fff; border: 1px solid #d4dce6; border-radius: 7px; color: #202734; box-shadow: none; width: 100%; min-width: 0; }
.auth-form .form-control::placeholder { color: #8994a3; font-size: 12px; opacity: 1; }
.auth-form .form-control:focus { outline: 0; border-color: var(--auth-brand); box-shadow: 0 0 0 3px #ed1b2414; }
.auth-form .has-error .form-control { border-color: #cc3440; }
.auth-form .has-error .form-control:focus { box-shadow: 0 0 0 3px #cc344013; }
.auth-form .help-block { color: #bb2c38; font-size: 11px; line-height: 1.65; margin: 6px 0 0; }
.auth-form .help-block:empty { display: none; }
.auth-form .auth-field-hint { font-size: 11px; line-height: 1.6; color: #728094; margin: 6px 0 0; }
.auth-form .has-success label, .auth-form .has-error label { color: #394353; }
.auth-password-wrap { position: relative; }
.auth-password-wrap .form-control { padding-right: 46px; }
.auth-password-toggle { display: none; position: absolute; right: 3px; top: 3px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #788596; align-items: center; justify-content: center; }
.auth-js .auth-password-toggle { display: flex; }
.auth-password-toggle:hover { background: var(--auth-brand-soft); color: var(--auth-brand-strong); }
.auth-password-toggle[aria-pressed=true] { color: var(--auth-brand-strong); background: var(--auth-brand-soft); }
.auth-password-toggle .auth-icon { width: 18px; height: 18px; }
.auth-form input[type=checkbox] { accent-color: var(--auth-brand); width: 15px; height: 15px; margin-top: 3px; }
.auth-form .checkbox label { font-size: 12px; color: #687384; padding-left: 23px; line-height: 1.8; }
.auth-form-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 25px; }
.auth-form-meta .form-group { margin: 0; }
.auth-form-meta .checkbox { margin: 0; }
.auth-form-meta > a { font-size: 12px; font-weight: 600; }
.auth-primary { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 46px; padding: 12px 18px; border-radius: 7px; border: 1px solid var(--auth-brand-strong); background: linear-gradient(135deg, #e31b25, #cc1420); color: #fff !important; font-size: 13px !important; font-weight: 600 !important; text-align: center; box-shadow: 0 4px 10px #ed1b2418; text-decoration: none !important; }
.auth-primary:hover { background: linear-gradient(135deg, #d41a23, #b50f19); }
.auth-primary:active { background: #c80000; box-shadow: none; }
.auth-primary:disabled { opacity: .65; }
.auth-primary .auth-icon { width: 17px; height: 17px; }
.auth-form-switch { padding-top: 23px; border-top: 1px solid #edf0f4; margin-top: 25px; color: #6e7a8a; font-size: 12px; text-align: center; }
.auth-form-switch a { font-weight: 600; margin-left: 5px; }
.auth-form-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 20px !important; font-size: 11px; color: #748296; }
.auth-form-note .auth-icon { color: var(--auth-brand); width: 14px; height: 14px; }
.auth-footer { width: calc(100% - 64px); max-width: 1440px; margin: 0 auto; padding: 22px 0; border-top: 1px solid #e1e5eb; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #728094; font-size: 11px; }
.auth-footer nav { display: flex; gap: 22px; flex-wrap: wrap; }
.auth-footer a { color: #687384; }
.auth-field-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 18px; }
.auth-required { color: #c12f3b; font-weight: 400; }
.auth-optional { float: right; color: #748296; font-size: 11px; font-weight: 400; }
.auth-signup { min-height: 680px; }
.auth-signup .auth-content { padding: 36px 44px; justify-content: flex-start; }
.auth-signup .auth-brand { margin-bottom: 27px; }
.auth-signup .auth-brand img { width: 215px; }
.auth-signup-title { margin-bottom: 25px !important; font-size: 27px; }
.auth-signup.is-enhanced .auth-signup-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px !important; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.auth-signup .auth-form-heading h2 { font-size: 25px; }
.auth-signup .auth-form-heading h2:focus { outline: none; }
.auth-step-panel + .auth-step-panel { border-top: 1px solid #e1e5eb; margin-top: 28px; padding-top: 25px; }
.auth-signup.is-enhanced .auth-step-panel { border: 0; margin: 0; padding: 0; }
.auth-steps { list-style: none; padding: 0; margin: 32px 0 20px; }
.auth-steps li { position: relative; padding-bottom: 27px; }
.auth-steps li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 40px; bottom: 6px; border-left: 1px solid #455063; }
.auth-steps button { display: flex; align-items: flex-start; gap: 16px; padding: 0; text-align: left; color: inherit; border: 0; background: none; width: 100%; }
.auth-step-number { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 35px; height: 35px; border: 1px solid #596375; border-radius: 50%; background: #202c3e; font-size: 12px; color: #b7c3d4; }
.auth-step-number .auth-icon { display: none; width: 17px; height: 17px; }
.auth-step-copy strong { display: block; color: #e5ebf4; font-size: 13px; font-weight: 600; margin: 3px 0 5px; }
.auth-step-copy small { display: block; color: #adbbce; font-size: 11px; line-height: 1.7; }
.auth-steps .is-current .auth-step-number { color: #fff; background: var(--auth-brand); border-color: var(--auth-brand); box-shadow: 0 0 0 4px #ed1b2416; }
.auth-steps .is-complete .auth-step-number { color: var(--auth-brand-on-dark); background: transparent; border-color: var(--auth-brand-on-dark); }
.auth-steps .is-complete .auth-step-number > span { display: none; }
.auth-steps .is-complete .auth-step-number .auth-icon { display: block; }
.auth-steps button:enabled:hover strong { text-decoration: underline; }
.auth-review-note { display: flex; gap: 12px; border-top: 1px solid #ffffff20; margin-top: auto; padding-top: 23px; color: #b7c5d8; font-size: 12px; line-height: 1.9; }
.auth-review-note > .auth-icon { color: var(--auth-brand); margin-top: 4px; width: 19px; height: 19px; }
.auth-review-note strong { display: block; color: #e4eaf4; font-size: 13px; margin-bottom: 6px; }
.auth-step-status { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #738094; font-size: 11px; margin-bottom: 14px; }
.auth-progress { display: flex; gap: 4px; }
.auth-progress i { height: 3px; width: 23px; background: #e3e8ef; border-radius: 4px; }
.auth-progress .is-active { background: var(--auth-brand); }
.auth-step-actions { display: flex; gap: 12px; margin-top: 5px; }
.auth-secondary { padding: 10px 19px; border: 1px solid #d4dce6; border-radius: 7px; background: #fff; color: #455368; font-weight: 600 !important; font-size: 13px !important; }
.auth-secondary:hover { background: #f5f8fc; }
.auth-step-actions .auth-primary { flex: 1; }
.auth-step-hint, .auth-review-inline { display: flex; gap: 8px; color: #728094; font-size: 11px; line-height: 1.8; }
.auth-step-hint { margin-top: 19px !important; }
.auth-step-hint .auth-icon, .auth-review-inline .auth-icon { width: 15px; height: 15px; margin-top: 3px; }
.auth-review-inline { margin: 0 0 22px !important; }
.auth-captcha { margin: 22px 0; }
.auth-captcha .form-group { margin-bottom: 0; }
.auth-captcha .g-recaptcha { min-height: 78px; }
.auth-captcha .help-block:focus { outline: 2px solid #cc3440; outline-offset: 4px; }
.auth-notice { display: flex; align-items: flex-start; gap: 11px; border: 1px solid; border-radius: 9px; padding: 15px; font-size: 12px; line-height: 1.8; margin-bottom: 22px; }
.auth-notice .auth-icon { width: 18px; height: 18px; margin-top: 3px; }
.auth-notice strong { display: block; margin-bottom: 5px; }
.auth-notice-info { color: #3a5d82; border-color: #dce9f7; background: #f0f6fd; }
.auth-notice-success { color: #18724e; border-color: #d1eadf; background: #effaf5; }
.auth-notice-error { color: #a62a35; border-color: #f0d1d5; background: #fff2f3; }
.auth-confirmation h1 { font-size: 26px; margin-bottom: 17px; }
.auth-confirmation > p { color: #687384; font-size: 13px; line-height: 1.8; margin-bottom: 23px; }
.auth-confirmation-icon { width: 50px; height: 50px; border-radius: 50%; background: #e6f7ef; color: #16885b; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.auth-confirmation-icon .auth-icon { width: 25px; height: 25px; }
.auth-approval-notice { padding: 20px; font-size: 16px; line-height: 1.7; }
.auth-approval-notice strong { font-size: 20px; line-height: 1.4; margin-bottom: 12px; }
.auth-approval-notice > .auth-icon { width: 22px; height: 22px; }
.auth-approval-notice .auth-approval-time { margin-top: 12px; font-size: 13px; }
.auth-back-link { display: flex; align-items: center; gap: 7px; font-size: 12px; margin-bottom: 24px; align-self: flex-start; }
.auth-back-link .auth-icon { width: 16px; height: 16px; }
.auth-form .select2-container { width: 100% !important; }
.auth-page:not(.auth-js) .auth-form select[data-krajee-select2] { width: 100% !important; height: 46px !important; visibility: visible !important; }
.auth-page:not(.auth-js) .kv-plugin-loading { display: none; }
.auth-form .select2-container--bootstrap .select2-selection--single { height: 46px; border: 1px solid #d4dce6; border-radius: 7px; box-shadow: none; padding: 10px 28px 10px 13px; font-size: 13px; }
.auth-form .select2-container--bootstrap .select2-selection--single .select2-selection__rendered { line-height: 24px; color: #394353; }
.auth-form .select2-container--bootstrap .select2-selection--single .select2-selection__placeholder { color: #748296; }
.auth-form .select2-container--focus .select2-selection, .auth-form .select2-container--open .select2-selection { border-color: var(--auth-brand); box-shadow: 0 0 0 3px #ed1b2414; }
.auth-form .has-error .select2-selection { border-color: #cc3440; }
.auth-page .select2-container--bootstrap .select2-dropdown { border-color: #d4dce6; font-size: 13px; }
.auth-page .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] { background: var(--auth-brand-strong); color: #fff; }
@media (min-width: 1500px) { .auth-main { padding-top: 65px; padding-bottom: 65px; } }
@media (max-width: 1250px) {
    .auth-story::before { width: 260px; height: 200px; top: -218px; right: -60px; border-width: 24px; }
}
@media (max-width: 1100px) {
    .auth-header-inner { gap: 20px; }
    .auth-header-end { gap: 15px; }
    .auth-nav a { padding: 8px; }
    .auth-content, .auth-signup .auth-content { padding: 34px; }
    .auth-story { padding: 32px; }
    .auth-story h2 { font-size: 31px; }
    .auth-contact-grid, .auth-address-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
    .auth-header-inner { width: calc(100% - 40px); gap: 16px; }
    .auth-nav { gap: 0; }
    .auth-nav a { font-size: 11px; }
    .auth-language summary > span { display: none; }
    .auth-main { padding: 32px 22px; }
    .auth-shell { grid-template-columns: 41% 59%; }
    .auth-story { padding: 28px 22px; }
    .auth-story h2 { font-size: 27px; }
    .auth-story-lead { font-size: 12px; }
    .auth-content, .auth-signup .auth-content { padding: 30px 26px; }
    .auth-story::before { top: -224px; }
    .auth-step-copy small { font-size: 10px; }
    .auth-review-note { font-size: 11px; }
    .auth-footer { width: calc(100% - 44px); }
}
@media (max-width: 650px) {
    .auth-header-inner { flex-wrap: wrap; justify-content: space-between; gap: 0 12px; padding-top: 16px; width: calc(100% - 32px); }
    .auth-header-brand img { width: 152px; }
    .auth-header-end { gap: 13px; }
    .auth-header a.auth-header-action { padding: 7px 10px; font-size: 11px; }
    .auth-language { font-size: 11px; }
    .auth-nav { order: 3; width: 100%; justify-content: center; gap: 20px; padding: 8px 0; margin-top: 9px; border-top: 1px solid #ffffff2b; }
    .auth-nav a { font-size: 11px; padding: 4px 8px; }
    .auth-main { padding: 24px 16px 30px; }
    .auth-shell { display: flex; flex-direction: column; min-height: 0; border-radius: 14px; }
    .auth-story { padding: 25px 24px; }
    .auth-story::before { top: -224px; right: -45px; }
    .auth-story h2 { font-size: 28px; margin: 13px 0; }
    .auth-title-line { display: inline; }
    .auth-title-line + .auth-title-line::before { content: " "; }
    .auth-story > .auth-eyebrow { font-size: 9px; }
    .auth-story-lead { font-size: 12px; line-height: 1.75; }
    .auth-workshop, .auth-story-bottom { display: none; }
    .auth-content, .auth-signup .auth-content { padding: 28px 24px; }
    .auth-brand { display: none; }
    .auth-form-heading h1, .auth-form-heading h2, .auth-signup .auth-form-heading h2 { font-size: 25px; }
    .auth-form-heading p { font-size: 12px; }
    .auth-form .form-control { font-size: 16px; }
    .auth-form .form-control::placeholder { font-size: 12px; }
    .auth-form label.control-label { font-size: 12px; }
    .auth-form-meta > a, .auth-form .checkbox label { font-size: 11px; }
    .auth-form-switch { font-size: 11px; }
    .auth-form-note { font-size: 10px; }
    .auth-field-grid { gap: 0 14px; }
    .auth-signup .auth-story-lead, .auth-signup .auth-review-note { display: none; }
    .auth-signup .auth-story h2 { font-size: 27px; }
    .auth-steps { display: flex; gap: 12px; justify-content: space-between; margin: 25px 0 0; }
    .auth-steps li { flex: 1; min-width: 0; padding: 0; }
    .auth-steps li::after { display: none; }
    .auth-steps button { flex-direction: column; align-items: center; gap: 8px; }
    .auth-step-number { width: 30px; height: 30px; font-size: 11px; }
    .auth-step-copy strong { font-size: 10px; text-align: center; margin: 0; }
    .auth-step-copy small { display: none; }
    .auth-step-hint, .auth-review-inline { font-size: 11px; }
    .auth-review-inline { color: #596575; padding: 13px; border-radius: 7px; background: #f5f6f8; }
    .auth-review-inline .auth-icon { color: var(--auth-brand-strong); }
    .auth-footer { flex-direction: column; align-items: center; gap: 12px; text-align: center; width: calc(100% - 32px); font-size: 10px; }
    .auth-footer nav { justify-content: center; gap: 20px; }
}
@media (max-width: 400px) {
    .auth-content, .auth-signup .auth-content { padding: 26px 20px; }
    .auth-story { padding: 24px 20px; }
    .auth-captcha .g-recaptcha { transform: scale(.8); transform-origin: left top; margin-bottom: -15px; }
    .auth-header-brand img { width: 142px; }
    .auth-header a.auth-header-action { font-size: 10px; padding: 7px 9px; }
    .auth-step-copy strong { font-size: 9px; }
    .auth-field-grid:not(.auth-contact-grid):not(.auth-address-grid) { gap: 0 11px; }
}
@media (prefers-reduced-motion: reduce) { .auth-page * { scroll-behavior: auto !important; transition: none !important; } }
