.register-page-body .public-auth-content {
    max-width: none;
    padding: 0;
}

.register-page {
    align-items: center;
    background:
        radial-gradient(circle at 8% 8%, rgba(20,184,166,.11), transparent 24rem),
        radial-gradient(circle at 92% 28%, rgba(15,118,110,.05), transparent 28rem),
        linear-gradient(145deg,#fbfefe 0%,#f8fafc 58%,#f1f7f6 100%);
    color: #0f2741;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
    padding: 2.1rem 1.25rem 1.4rem;
    position: relative;
}

.register-page__orb {
    border-radius: 50%;
    pointer-events: none;
    position: absolute;
}
.register-page__orb--one {
    background: rgba(15,118,110,.06);
    height: 420px;
    left: -210px;
    top: -80px;
    width: 420px;
}
.register-page__orb--two {
    border: 1px solid rgba(20,184,166,.08);
    height: 360px;
    right: -180px;
    top: 18%;
    width: 360px;
}
.register-page__dots {
    background-image: radial-gradient(rgba(15,118,110,.22) 1.5px,transparent 1.5px);
    background-size: 15px 15px;
    height: 120px;
    left: 0;
    opacity: .65;
    position: absolute;
    top: 0;
    width: 150px;
}

.register-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    max-width: 1040px;
    position: relative;
    width: 100%;
    z-index: 2;
}
.register-brand {
    align-items: center;
    color: #16334a;
    display: inline-flex;
    gap: .7rem;
    text-decoration: none;
}
.register-brand__mark {
    align-items: center;
    background: linear-gradient(145deg,#0b6964,#0f8f85);
    border-radius: 9px;
    box-shadow: 0 8px 20px rgba(15,118,110,.18);
    color: #fff;
    display: flex;
    font-size: .78rem;
    font-weight: 800;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.register-brand strong { font-size: 1rem; letter-spacing: -.02em; }
.register-header__login {
    color: #0f766e;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.register-header__login:hover { text-decoration: underline; }

.register-card {
    background: rgba(255,255,255,.96);
    border: 1px solid #e5ebee;
    border-radius: 28px;
    box-shadow: 0 28px 75px rgba(15,42,67,.11);
    margin: 1.35rem auto 0;
    max-width: 760px;
    padding: clamp(2rem,5vw,3.8rem);
    position: relative;
    width: 100%;
    z-index: 2;
}
.register-card__avatar {
    align-items: center;
    background: linear-gradient(145deg,#e5f7f4,#f0f8f8);
    border-radius: 50%;
    color: #0b9187;
    display: flex;
    height: 88px;
    justify-content: center;
    margin: 0 auto 1.45rem;
    width: 88px;
}
.register-card__avatar svg,
.register-input > svg,
.register-input__toggle svg,
.register-security svg,
.register-submit svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}
.register-card h1 {
    color: #102a43;
    font-size: clamp(2rem,4vw,2.65rem);
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0;
    text-align: center;
}
.register-card__lead {
    color: #65758c;
    font-size: 1rem;
    line-height: 1.5;
    margin: .75rem auto 2.3rem;
    max-width: 390px;
    text-align: center;
}
.register-card__lead strong { color: #0f9388; }

.register-form { display: grid; gap: 1.15rem; }
.register-form__row {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.register-field { display: grid; gap: .48rem; min-width: 0; }
.register-field label {
    color: #18334e;
    font-size: .78rem;
    font-weight: 800;
}
.register-field > small {
    color: #738198;
    font-size: .69rem;
    line-height: 1.45;
}
.register-input { position: relative; }
.register-input > svg {
    color: #8796aa;
    left: 1rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.register-input .form-control {
    background: #fff;
    border: 1px solid #d8e1e8;
    border-radius: 13px;
    box-shadow: 0 2px 7px rgba(15,42,67,.02);
    color: #17324a;
    font: inherit;
    font-size: .82rem;
    min-height: 56px;
    padding: .85rem 3rem .85rem 3rem;
    transition: border-color .2s ease,box-shadow .2s ease,background .2s ease;
    width: 100%;
}
.register-input .form-control::placeholder { color: #8b98aa; }
.register-input .form-control:focus {
    background: #fff;
    border-color: rgba(15,148,136,.55);
    box-shadow: 0 0 0 4px rgba(20,184,166,.1);
    outline: none;
}
.register-input__toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #8291a5;
    cursor: pointer;
    display: flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: .55rem;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
}
.register-input__toggle:hover { color: #0f766e; }
.register-field .errorlist,
.register-form__global-error ul {
    color: #b42318;
    font-size: .69rem;
    font-weight: 700;
    list-style: none;
    margin: 0;
    padding: 0;
}
.register-form__global-error {
    background: #fff1f0;
    border: 1px solid #ffd2ce;
    border-radius: 12px;
    color: #b42318;
    padding: .8rem 1rem;
}

.register-security {
    align-items: center;
    background: linear-gradient(100deg,#eaf8f6,#f4fbfa);
    border: 1px solid #dcefeb;
    border-radius: 14px;
    display: grid;
    gap: 1rem;
    grid-template-columns: 48px 1fr;
    margin-top: .2rem;
    padding: 1rem 1.2rem;
}
.register-security > span {
    align-items: center;
    color: #0c958a;
    display: flex;
    justify-content: center;
}
.register-security strong { color: #174456; display: block; font-size: .77rem; }
.register-security p {
    color: #66798b;
    font-size: .69rem;
    line-height: 1.5;
    margin: .25rem 0 0;
}
.register-terms {
    align-items: flex-start;
    color: #68788c;
    display: flex;
    font-size: .72rem;
    gap: .65rem;
    line-height: 1.5;
}
.register-terms input {
    accent-color: #0f8f85;
    flex: 0 0 auto;
    height: 18px;
    margin-top: 1px;
    width: 18px;
}
.register-terms a { color: #0d847b; font-weight: 700; }

.register-submit {
    align-items: center;
    background: linear-gradient(105deg,#07535b,#0f766e 55%,#11ad9d);
    border: 0;
    border-radius: 13px;
    box-shadow: 0 14px 28px rgba(15,118,110,.22);
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .9rem;
    font-weight: 800;
    gap: .6rem;
    justify-content: center;
    min-height: 56px;
    transition: transform .2s ease,box-shadow .2s ease;
    width: 100%;
}
.register-submit:hover { box-shadow: 0 19px 34px rgba(15,118,110,.29); transform: translateY(-1px); }
.register-submit:focus-visible { outline: 4px solid rgba(20,184,166,.2); outline-offset: 2px; }

.register-divider {
    align-items: center;
    color: #7b8798;
    display: flex;
    font-size: .7rem;
    gap: 1rem;
    margin: 1.7rem 0 1rem;
}
.register-divider::before,.register-divider::after { background: #e3e9ed; content: ""; flex: 1; height: 1px; }
.register-social {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.register-social__button {
    align-items: center;
    border: 1px solid #dce4ea;
    border-radius: 12px;
    color: #344a61;
    display: flex;
    font-size: .75rem;
    font-weight: 700;
    gap: .7rem;
    justify-content: center;
    min-height: 50px;
}
.register-social__button i { flex: 0 0 auto; font-style: normal; }
.register-social__google {
    background: conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.05rem;
    font-weight: 900;
}
.register-social__microsoft {
    background:
        linear-gradient(#f35325 0 0) left top/47% 47% no-repeat,
        linear-gradient(#81bc06 0 0) right top/47% 47% no-repeat,
        linear-gradient(#05a6f0 0 0) left bottom/47% 47% no-repeat,
        linear-gradient(#ffba08 0 0) right bottom/47% 47% no-repeat;
    height: 17px;
    width: 17px;
}
.register-login-link {
    color: #64748b;
    font-size: .73rem;
    margin: 1.55rem 0 0;
    text-align: center;
}
.register-login-link a { color: #0c867d; font-weight: 800; text-decoration: none; }
.register-footer {
    color: #748399;
    font-size: .7rem;
    margin-top: 1.8rem;
    position: relative;
    text-align: center;
    z-index: 2;
}

.register-account-type {
    border: 0;
    margin: 0;
    padding: 0;
}
.register-account-type legend {
    color: #102640;
    font-size: .85rem;
    font-weight: 800;
    margin-bottom: .2rem;
}
.register-account-type > p,
.register-creator-panel__head p {
    color: #708096;
    font-size: .72rem;
    margin: 0 0 .8rem;
}
.register-account-type__grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.register-account-card {
    align-items: center;
    border: 1px solid #dce5eb;
    border-radius: 14px;
    cursor: pointer;
    display: grid;
    gap: .7rem;
    grid-template-columns: 44px 1fr 22px;
    min-height: 82px;
    padding: .8rem;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.register-account-card > input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}
.register-account-card:has(input:checked) {
    background: #effaf8;
    border-color: #16a397;
    box-shadow: 0 0 0 3px rgba(20, 163, 151, .1);
}
.register-account-card__icon {
    align-items: center;
    background: #edf7f6;
    border-radius: 12px;
    color: #0d9187;
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}
.register-account-card__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}
.register-account-card__copy { display: grid; gap: .18rem; }
.register-account-card__copy strong { color: #102640; font-size: .78rem; }
.register-account-card__copy small { color: #708096; font-size: .66rem; line-height: 1.4; }
.register-account-card__check {
    align-items: center;
    background: #11978d;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: .66rem;
    height: 20px;
    justify-content: center;
    opacity: 0;
    width: 20px;
}
.register-account-card:has(input:checked) .register-account-card__check { opacity: 1; }
.register-creator-panel {
    background: #f7fbfb;
    border: 1px solid #d7ece9;
    border-radius: 16px;
    padding: 1rem;
}
.register-creator-panel[hidden],
.register-otec-fields[hidden] { display: none; }
.register-creator-panel__head strong { color: #102640; font-size: .82rem; }
.register-creator-panel__head p { margin-top: .25rem; }
.register-creator-kind {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.register-creator-kind label {
    align-items: center;
    background: #fff;
    border: 1px solid #dce5eb;
    border-radius: 11px;
    color: #30465e;
    cursor: pointer;
    display: flex;
    font-size: .73rem;
    font-weight: 700;
    gap: .55rem;
    min-height: 44px;
    padding: .65rem .75rem;
}
.register-creator-kind input { accent-color: #0d9187; }
.register-otec-fields {
    border-top: 1px solid #d7e7e5;
    margin-top: 1rem;
    padding-top: 1rem;
}
.register-field__optional {
    color: #718096;
    font-size: .62rem;
    font-weight: 600;
}

@media (max-width: 720px) {
    .register-page { justify-content: flex-start; padding: 1rem .75rem 1.25rem; }
    .register-page__dots { height: 90px; width: 110px; }
    .register-header { padding: 0 .25rem; }
    .register-brand__mark { height: 34px; width: 34px; }
    .register-brand strong { font-size: .82rem; }
    .register-header__login { font-size: .7rem; }
    .register-card {
        border-radius: 22px;
        margin-top: 1rem;
        padding: 1.7rem 1rem 1.35rem;
    }
    .register-card__avatar { height: 72px; margin-bottom: 1rem; width: 72px; }
    .register-card__avatar svg { height: 34px; width: 34px; }
    .register-card h1 { font-size: 1.75rem; }
    .register-card__lead { font-size: .84rem; margin-bottom: 1.7rem; }
    .register-form__row { grid-template-columns: 1fr; }
    .register-account-type__grid,
    .register-creator-kind { grid-template-columns: 1fr; }
    .register-input .form-control { min-height: 52px; }
    .register-security { grid-template-columns: 40px 1fr; padding: .9rem; }
    .register-social { grid-template-columns: 1fr; gap: .65rem; }
    .register-footer { margin-top: 1rem; }
}

@media (max-width: 380px) {
    .register-header__login { font-size: .65rem; }
    .register-card { padding-inline: .85rem; }
    .register-security { align-items: start; }
}
