body#reg {
    --ify-auth-accent: #6f7cff;
    --ify-auth-accent-strong: #4f46e5;
    --ify-auth-accent-soft: rgba(111, 124, 255, 0.12);
    --ify-auth-accent-border: rgba(111, 124, 255, 0.22);
    --ify-auth-bg: #f6f7fb;
    --ify-auth-panel: #ffffff;
    --ify-auth-field: #f3f5fb;
    --ify-auth-text: #182033;
    --ify-auth-muted: #69728a;
    --ify-auth-danger: #ff4d5f;
    background: var(--ify-auth-bg);
    color: var(--ify-auth-text);
}

body#reg .reg-w {
    background: var(--ify-auth-panel);
}

body#reg .reg-logo a {
    background-size: contain;
}

body#reg .reg-w form .reg-group {
    background: var(--ify-auth-field);
    border: 1px solid transparent;
    box-shadow: inset 0 0 0 1px rgba(24, 32, 51, 0.02);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body#reg .reg-w form .reg-group:focus-within {
    background: #ffffff;
    border-color: var(--ify-auth-accent-border);
    box-shadow: 0 0 0 4px var(--ify-auth-accent-soft);
}

body#reg .reg-w form .reg-group.err {
    background: rgba(255, 77, 95, 0.08);
    border-color: rgba(255, 77, 95, 0.38);
    box-shadow: 0 0 0 4px rgba(255, 77, 95, 0.1);
}

body#reg .reg-w form .reg-group .reg-control {
    color: var(--ify-auth-text);
}

body#reg .reg-w form .reg-group .reg-control::placeholder {
    color: var(--ify-auth-muted);
}

body#reg .reg-w form .error-tip {
    color: var(--ify-auth-danger);
}

body#reg .reg-yzm,
body#reg .reg-w form .btn-sub,
body#reg .btn-brand {
    background: linear-gradient(135deg, var(--ify-auth-accent) 0%, var(--ify-auth-accent-strong) 100%) !important;
    border: 0;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(79, 70, 229, 0.22);
}

body#reg .reg-w form .btn-sub {
    min-height: 1.05rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

body#reg .reg-w form .btn-sub:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(79, 70, 229, 0.28);
}

body#reg .reg-w form .btn-sub:active {
    transform: translateY(0);
    box-shadow: 0 10px 22px rgba(79, 70, 229, 0.22);
}

body#reg .reg-yzm[disabled],
body#reg .btn-brand[disabled] {
    opacity: 0.66;
    cursor: not-allowed;
}

body#reg .reg-ts a,
body#reg .reg-ts span {
    color: var(--ify-auth-accent-strong) !important;
}

body#reg .reg-ts a:hover {
    color: var(--ify-auth-accent) !important;
}

body#reg .reg-ts a::after {
    border-right-color: rgba(105, 114, 138, 0.24);
}

html.theme-black body#reg,
body#reg.theme-black {
    --ify-auth-bg: #12131a;
    --ify-auth-panel: #181a23;
    --ify-auth-field: #202331;
    --ify-auth-text: #f4f6ff;
    --ify-auth-muted: #a2abc0;
    --ify-auth-accent-soft: rgba(111, 124, 255, 0.18);
    --ify-auth-accent-border: rgba(111, 124, 255, 0.34);
}

html.theme-black body#reg .reg-w form .reg-group:focus-within,
body#reg.theme-black .reg-w form .reg-group:focus-within {
    background: #222536;
}

html.theme-black body#reg .reg-ts a,
html.theme-black body#reg .reg-ts span,
body#reg.theme-black .reg-ts a,
body#reg.theme-black .reg-ts span {
    color: #9aa4ff !important;
}

@media (max-width: 820px) {
    body#reg .reg-w {
        min-height: calc(100vh - 1.25rem);
    }

    body#reg .reg-logo {
        margin: 0.7rem auto;
    }

    body#reg .reg-w form .btn-sub {
        min-height: 1.2rem;
    }
}
