.register-page .signin-brand-panel {
    justify-content: space-between;
}

.register-brand-panel {
    background:
        linear-gradient(145deg, rgba(3, 8, 17, 0.36), rgba(3, 8, 17, 0.88)),
        url("/images/landingPages/tp-trader-hero-terminal.png") center / cover no-repeat;
}

.register-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.register-steps div {
    min-height: 92px;
    padding: 1rem;
    border: 1px solid rgba(94, 234, 212, 0.2);
    border-radius: 8px;
    background: rgba(9, 23, 38, 0.72);
    backdrop-filter: blur(14px);
}

.register-steps strong,
.register-steps span {
    display: block;
}

.register-steps strong {
    color: #5eead4;
    font-size: 1.35rem;
    line-height: 1.6rem;
}

.register-steps span {
    margin-top: 0.35rem;
    color: #d7ecf8;
    font-weight: 800;
}

.register-card .input-holder {
    margin-bottom: 0.9rem;
}

.register-code-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; align-items:stretch; }
.register-code-row .signin-input-frame { min-width:0; }
.register-code-button { min-width:132px; white-space:nowrap; }
.register-country-code { width:118px; border:0; border-right:1px solid rgba(148,163,184,.25); background:transparent; color:#d7ecf8; font-weight:850; outline:0; }
.register-phone-frame input { padding-left:.55rem !important; }
.register-code-notice {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin-top: .7rem;
    padding: .8rem;
    border: 1px solid rgba(217, 154, 50, .35);
    border-radius: 8px;
    background: rgba(217, 154, 50, .08);
    color: #f5d99a;
    font-size: .88rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.register-code-notice i { margin-top: .2rem; color: #fcd34d; }
.register-code-notice span { flex: 1; min-width: 0; }

.register-legal-copy {
    margin: 0.8rem 0 0;
    color: #8ea7ba;
    font-size: 0.78rem;
    line-height: 1.45;
    text-align: center;
}

.register-legal-copy a {
    color: #cfe5f4;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.register-legal-copy a:hover {
    color: #5eead4;
}

.signin-register-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 1rem;
    color: #cfe5f4;
    font-weight: 750;
}

.signin-register-row a {
    color: #5eead4;
    font-weight: 900;
    text-decoration: none;
}

.signin-register-row a:hover {
    color: #99f6e4;
    text-decoration: underline;
}

@media (max-width: 991.98px) {
    .register-steps {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .register-code-row { grid-template-columns:1fr; }
    .register-code-button { width:100%; }
    .signin-register-row {
        flex-direction: column;
        gap: 0.25rem;
    }
}

/* Google verification is confined to the customer registration form. */
.register-page .signin-form-panel,
.register-page .register-card { min-width: 0; }
.register-card .register-google { margin-bottom: 1.1rem; color: var(--tp-text, #edf5fa); }
.register-card .register-google-button {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 400px;
    min-width: 0;
    min-height: 44px;
    margin-inline: auto;
    color-scheme: normal;
}
.register-card .register-google-button iframe { color-scheme: normal; }
.register-card .register-google-help,
.register-card .register-google-divider { margin: .65rem 0 0; color: var(--tp-muted, #a6bac8); text-align: center; font-size: .85rem; line-height: 1.5; }
.register-card .register-google-divider {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1rem 0 1.25rem;
    font-size: .75rem;
}
.register-card .register-google-divider::before,
.register-card .register-google-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--tp-line, #263b49);
}
.register-card .register-google-verified { padding: 1rem; background: var(--tp-tint, #102f2a); border: 1px solid var(--tp-line, #263b49); border-radius: 9px; overflow-wrap: anywhere; }
.register-card .register-google-verified strong,
.register-card .register-google-verified span { display: block; color: var(--tp-text, #edf5fa); }
.register-card .register-google-verified p { margin: .5rem 0; color: var(--tp-muted, #a6bac8); }
.register-card .register-google-reset { padding: 0; border: 0; background: transparent; color: var(--tp-green, #43deb3); text-decoration: underline; text-align: left; }

/* Keep the native country picker inside the same field as the phone number. */
html[data-tp-theme] .register-page .register-card .register-phone-frame { flex-wrap: wrap; column-gap: .75rem; row-gap: 0; }
html[data-tp-theme] .register-page .register-card .register-country-picker {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 74px;
    width: 74px;
    min-width: 74px;
    height: 46px;
    padding: 0 1.5rem 0 0;
    border-right: 1px solid var(--tp-line);
    background-image: linear-gradient(45deg, transparent 50%, var(--tp-muted) 50%),
        linear-gradient(135deg, var(--tp-muted) 50%, transparent 50%);
    background-position: calc(100% - 14px) center, calc(100% - 10px) center;
    background-size: 4px 4px;
    background-repeat: no-repeat;
    color: var(--tp-text);
    font-size: 14px;
    font-weight: 600;
}
html[data-tp-theme] .register-page .register-card .register-country-picker:focus-within {
    outline: 2px solid var(--tp-green);
    outline-offset: -3px;
}
html[data-tp-theme] .register-page .register-card .register-country-label { pointer-events: none; }
html[data-tp-theme] .register-page .register-card .register-phone-frame .register-country-code {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    opacity: 0;
    background: transparent;
    color: var(--tp-text);
    font-size: 16px;
    cursor: pointer;
}
html[data-tp-theme] .register-page .register-card .register-country-code option {
    background: var(--tp-surface);
    color: var(--tp-text);
}
html[data-tp-theme] .register-page .register-card .register-phone-frame input {
    flex: 1;
    width: 0;
    min-width: 0;
    padding-left: 0 !important;
}
html[data-tp-theme] .register-page .register-card .register-phone-frame .validationMessage {
    flex-basis: 100%;
    padding: 0 0 .5rem;
}
