        :root {
            --signin-orange: #ff6100;
            --signin-orange-hover: #e95700;
            --signin-text: #111827;
            --signin-muted: #747474;
            --signin-border: #dfe2e7;
            --signin-field: #f6f7f9;
            --signin-blue: #1f5eff;
        }

        * {
            box-sizing: border-box;
        }

        html,
        body {
            min-height: 100%;
            margin: 0;
        }

        body {
            background: #ffffff;
            color: var(--signin-text);
            font-family: "Poppins", sans-serif;
            -webkit-font-smoothing: antialiased;
        }

        button,
        input,
        a {
            font: inherit;
        }

        .signin-v2 {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100dvh;
            padding: clamp(24px, 3vw, 48px);
        }

        .signin-v2__layout {
            display: grid;
            grid-template-columns: minmax(460px, 1.04fr) minmax(420px, 0.96fr);
            gap: clamp(36px, 5vw, 72px);
            align-items: center;
            width: 100%;
        }

        .signin-v2__form-wrap {
            grid-column: 2;
            grid-row: 1;
            width: 100%;
            max-width: 530px;
            margin: 0 auto;
        }

        .signin-v2__heading {
            margin: 0 0 6px;
            color: #101828;
            font-size: 28px;
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: -0.5px;
            text-align: center;
        }

        .signin-v2__subtitle {
            margin: 0 0 28px;
            color: var(--signin-muted);
            font-size: 16px;
            line-height: 1.6;
            text-align: center;
        }

        .signin-v2__social-stack {
            display: grid;
            gap: 14px;
        }

        .signin-v2__social-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .signin-v2__social-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            padding: 10px 18px;
            border: 1px solid var(--signin-border);
            border-radius: 11px;
            background: #ffffff;
            color: #27324a;
            font-size: 14px;
            font-weight: 500;
            text-decoration: none;
            transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
        }

        .signin-v2__social-btn:hover {
            border-color: #b8bec8;
            background: #fafafa;
            color: #111827;
            transform: translateY(-1px);
        }

        .signin-v2__social-icon {
            flex: 0 0 auto;
            width: 23px;
            height: 23px;
            margin-right: 12px;
        }

        .signin-v2__divider {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            gap: 14px;
            align-items: center;
            margin: 30px 0;
            color: #858585;
            font-size: 12px;
        }

        .signin-v2__divider::before,
        .signin-v2__divider::after {
            height: 1px;
            background: #dfe2e7;
            content: "";
        }

        .signin-v2__field {
            margin-bottom: 20px;
        }

        .signin-v2__label {
            display: block;
            margin-bottom: 8px;
            color: #202737;
            font-size: 14px;
            font-weight: 500;
        }

        .signin-v2__input,
        .signin-v2__password-input {
            width: 100%;
            height: 50px;
            border: 1px solid var(--signin-border);
            border-radius: 8px;
            outline: none;
            background: var(--signin-field);
            color: #202737;
            font-size: 14px;
            transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
        }

        .signin-v2__input {
            padding: 0 20px;
        }

        .signin-v2__input::placeholder,
        .signin-v2__password-input::placeholder {
            color: #8ba0c2;
        }

        .signin-v2__input:focus,
        .signin-v2__password-input:focus {
            border-color: var(--signin-orange);
            background: #ffffff;
            box-shadow: 0 0 0 3px rgba(255, 97, 0, 0.12);
        }

        .signin-v2__password {
            position: relative;
        }

        .signin-v2__password-input {
            padding: 0 52px 0 20px;
        }

        .signin-v2__password-toggle {
            position: absolute;
            top: 50%;
            right: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            padding: 0;
            border: 0;
            background: transparent;
            color: #8b95a7;
            cursor: pointer;
            transform: translateY(-50%);
        }

        .signin-v2__password-toggle svg {
            width: 20px;
            height: 20px;
        }

        .signin-v2__forgot {
            display: inline-block;
            margin-top: 8px;
            color: var(--signin-blue);
            font-size: 12px;
            font-weight: 500;
            text-decoration: none;
        }

        .signin-v2__forgot:hover,
        .signin-v2__signup-link:hover {
            text-decoration: underline;
        }

        .signin-v2__alert {
            margin-bottom: 18px;
            padding: 11px 14px;
            border-radius: 8px;
            font-size: 12px;
            line-height: 1.5;
        }

        .signin-v2__alert--error {
            background: #fff0f1;
            color: #c2313d;
        }

        .signin-v2__alert--success {
            background: #eaf9ef;
            color: #168342;
        }

        .signin-v2__submit {
            width: 100%;
            min-height: 48px;
            margin-top: 2px;
            border: 0;
            border-radius: 8px;
            background: var(--signin-orange);
            color: #ffffff;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 8px 18px rgba(255, 97, 0, 0.14);
            transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .signin-v2__submit:hover {
            background: var(--signin-orange-hover);
            box-shadow: 0 10px 22px rgba(255, 97, 0, 0.2);
            transform: translateY(-1px);
        }

        .signin-v2__more-divider {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            align-items: center;
            gap: 14px;
            width: 100%;
            margin-top: 20px;
            color: #8a8f98;
            font-size: 11px;
            font-weight: 500;
            line-height: 1.3;
            text-align: center;
        }

        .signin-v2__more-divider::before,
        .signin-v2__more-divider::after {
            width: 100%;
            height: 1px;
            background: #dfe2e7;
            content: "";
        }

        .signin-v2__more-options {
            display: grid;
            grid-template-columns: repeat(8, minmax(0, 1fr));
            gap: 12px;
            margin-top: 12px;
        }

        .signin-v2__more-option {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-width: 0;
            position: relative;
            height: 60px;
            padding: 0;
            border: 1px solid #e1e3e6;
            border-radius: 13px;
            background: #fff;
            color: #111;
            cursor: pointer;
            transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
        }

        .signin-v2__more-option:not(:disabled):hover {
            border-color: #ffb486;
            background: #fff8f4;
            transform: translateY(-1px);
        }

        .signin-v2__more-option:focus-visible {
            outline: 3px solid rgba(255, 97, 0, 0.2);
            outline-offset: 2px;
        }

        .signin-v2__more-option svg,
        .signin-v2__more-option img {
            width: 26px;
            height: 26px;
            object-fit: contain;
        }

        .signin-v2__more-option:disabled {
            cursor: default;
        }

        .signin-v2__soon-badge {
            position: absolute;
            top: 3px;
            right: 3px;
            padding: 1px 4px;
            border-radius: 5px;
            background: #fff0e6;
            color: #a94300;
            font-size: 9px;
            font-weight: 600;
            line-height: 12px;
        }

        .signin-v2__signup {
            margin: 28px 0 0;
            color: #344054;
            font-size: 12px;
            text-align: center;
        }

        .signin-v2__signup-link {
            color: var(--signin-blue);
            font-weight: 500;
            text-decoration: none;
        }

        .signin-v2__visual {
            grid-column: 1;
            grid-row: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: min(680px, calc(100dvh - 112px));
            padding: clamp(28px, 4vw, 60px);
            overflow: hidden;
            border-radius: 24px;
            background: #f5f6f8;
        }

        .signin-v2__visual img {
            display: block;
            width: min(100%, 600px);
            height: auto;
            object-fit: contain;
        }

        @media (max-width: 1050px) {
            .signin-v2__layout {
                grid-template-columns: minmax(390px, 1fr) minmax(390px, 1fr);
                gap: 32px;
            }

            .signin-v2__visual {
                min-height: 590px;
                padding: 30px;
            }
        }

        @media (min-width: 821px) {
            .signin-v2__visual {
                position: sticky;
                top: calc((100dvh - min(680px, calc(100dvh - 96px))) / 2);
                align-self: start;
                min-height: 0;
                height: min(680px, calc(100dvh - 96px));
            }

            .signin-v2__visual img {
                max-height: 100%;
            }
        }

        @media (max-width: 820px) {
            .signin-v2 {
                align-items: flex-start;
                padding: 20px;
            }

            .signin-v2__layout {
                display: flex;
                flex-direction: column;
                gap: 26px;
                width: 100%;
                padding: 16px 16px 30px;
            }

            .signin-v2__form-wrap {
                order: 2;
                max-width: 560px;
                padding: 0 8px;
            }

            .signin-v2__visual {
                order: 1;
                display: flex;
                width: 100%;
                min-height: 0;
                height: clamp(190px, 46vw, 260px);
                padding: 18px;
                border-radius: 12px;
            }

            .signin-v2__visual img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        }

        @media (max-width: 520px) {
            .signin-v2 {
                min-height: 100dvh;
                padding: 12px;
            }

            .signin-v2__layout {
                gap: 22px;
                padding: 12px 12px 26px;
            }

            .signin-v2__form-wrap {
                padding: 0 4px;
            }

            .signin-v2__visual {
                height: clamp(160px, 48vw, 210px);
                padding: 14px;
            }

            .signin-v2__heading {
                font-size: 28px;
            }

            .signin-v2__subtitle {
                margin-bottom: 24px;
                font-size: 16px;
            }

            .signin-v2__social-row {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 10px;
            }

            .signin-v2__divider {
                margin: 26px 0;
            }

            .signin-v2__field {
                margin-bottom: 18px;
            }

            .signin-v2__signup {
                margin-top: 24px;
            }

            .signin-v2__more-options {
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 8px;
            }

            .signin-v2__more-option {
                border-radius: 10px;
            }
        }

        @media (max-width: 359px) {
            .signin-v2__captcha {
                overflow: hidden;
            }

            .signin-v2__captcha .g-recaptcha {
                margin-bottom: -11px;
                transform: scale(0.86);
                transform-origin: left top;
            }
        }
