.public-topbar:has(.public-topbar__register) { grid-template-columns: auto minmax(12rem, 1fr) auto auto; }
.public-topbar__register { display: inline-flex; align-items: center; justify-content: center; height: 2.4rem; min-height: 2.4rem; padding: 0 16px; border-radius: 20px; background: #0866ed; color: #fff; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.public-topbar__register:hover { background: #0757cc; color: #fff; }
.public-topbar__register:focus-visible, .registration-dialog :focus-visible { outline: 3px solid #ffbe43; outline-offset: 3px; }
.registration-dialog { width: min(500px, calc(100% - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); margin: auto; padding: 24px; overflow: auto; overscroll-behavior: contain; border: 1px solid #deebfa; border-radius: 22px; background: #fff; color: #153253; box-shadow: 0 24px 80px #001a443d; }
.registration-dialog::backdrop { background: #051730a6; backdrop-filter: blur(5px); }
.registration-dialog__heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.registration-dialog__heading h2 { margin: 0 0 6px; color: #123f78; font-size: 23px; line-height: 1.35; }
.registration-dialog__heading p { margin: 0; color: #5c6f87; font-size: 13px; line-height: 1.6; }
.registration-dialog__close { position: sticky; top: 0; display: grid; place-items: center; flex: none; width: 44px; height: 44px; margin-left: auto; padding: 0; border: 1px solid #dce8f7; border-radius: 50%; background: #f5f9ff; color: #123f78; font: inherit; font-size: 28px; line-height: 1; cursor: pointer; }
.registration-dialog .demo-form { display: grid; gap: 11px; margin: 0; }
.registration-dialog .demo-form > label:not(.form-consent) { display: grid; gap: 4px; color: #46607f; font-size: 12px; font-weight: 600; }
.registration-dialog .demo-form input:not([type=checkbox],[type=hidden],.honeypot) { box-sizing: border-box; width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid #d9e5f5; border-radius: 9px; background: #fbfdff; color: #153253; font: inherit; font-size: 16px; }
.registration-dialog .demo-form input::placeholder { color: #8e9fb3; }
.registration-dialog .demo-form input:focus { border-color: #0866ed; }
.registration-dialog .form-consent { display: flex; align-items: flex-start; gap: 8px; color: #5c6f87; font-size: 12px; line-height: 1.7; }
.registration-dialog .form-consent input { flex: none; width: 18px; height: 18px; margin: 3px 0; accent-color: #0866ed; }
.registration-dialog .form-consent a, .registration-dialog__support a { color: #0866ed; }
.registration-dialog .honeypot { display: none; }
.registration-dialog .demo-form > .button { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; padding: 12px 20px; border: 0; border-radius: 12px; background: #0866ed; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.registration-dialog .demo-form > .button svg { display: none; }
.registration-dialog .demo-form > .button:disabled { opacity: .65; cursor: wait; }
.registration-dialog .form-status { margin: 0; color: #123f78; font-size: 12px; line-height: 1.7; }
.registration-dialog .form-status:empty { display: none; }
.registration-dialog .form-status.error { padding: 10px; border-radius: 8px; background: #fff1f4; color: #a92548; }
.registration-dialog__support { margin: 14px 0 0; text-align: center; font-size: 12px; }
@media (max-width: 860px) {
  .public-header.public-topbar:has(.public-topbar__register) { grid-template-columns: 44px minmax(0, 1fr) auto 44px; }
  .public-topbar__register { grid-column: 3; grid-row: 1; height: 44px; min-height: 44px; padding-inline: 13px; font-size: 13px; }
  .public-topbar:has(.public-topbar__register)[data-topbar-ready] .public-topbar__menu { grid-column: 4; }
  .public-topbar:has(.public-topbar__register):not([data-topbar-ready]) .public-topbar__search { grid-column: 2; }
  .public-topbar:has(.public-topbar__register):not([data-topbar-ready]) { grid-template-columns: 44px minmax(0, 1fr) auto; }
}
@media (max-width: 480px) { .registration-dialog { padding: 18px; border-radius: 18px; } .registration-dialog__heading h2 { font-size: 20px; } }
