        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background: #FFFFFF;
            overflow-x: hidden;
            overflow-y: auto;
        }

        @media (max-width: 767px) {
            body {
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
        }

        .register-container {
            position: relative;
            width: 100vw;
            min-height: 100vh;
            height: 100vh;
            display: flex;
            overflow: hidden;
        }

        /* Left Section - Image/Carousel */
        .left-section {
            position: relative;
            width: 550px;
            height: 100vh;
            background: url('/static/fundologincadastro.png') center/cover no-repeat;
        }

        .left-section::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: linear-gradient(197.63deg, rgba(0, 0, 0, 0.15) 7.95%, #666666 92.82%);
            z-index: 1;
        }

        .left-content {
            position: absolute;
            width: 480px;
            min-height: 292px;
            left: 35px;
            top: calc(50% - 146px + 146.5px);
            z-index: 2;
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .logo-container {
            width: 338.04px;
            height: 97px;
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .logo-image {
            width: 338.04px;
            height: 87px;
            background: url('/static/logo-login.png') center/contain no-repeat;
            flex-shrink: 0;
        }

        .logo-text {
            display: none;
        }

        .tagline {
            width: 232px;
            min-height: 20px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 300;
            font-size: 8.5px;
            line-height: 12px;
            letter-spacing: 0.38em;
            color: #FFFFFF;
            white-space: nowrap;
            margin-left: 99px;
        }

        .promo-text {
            width: 480px;
            min-height: 135px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 700;
            font-size: 36px;
            line-height: 45px;
            letter-spacing: -0.02em;
            color: #FFFFFF;
            transition: opacity 0.5s ease-in-out;
        }

        .promo-text.fade-out {
            opacity: 0;
        }

        .promo-text.fade-in {
            opacity: 1;
        }

        .carousel-indicators {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 6px;
            width: 65px;
            height: 12px;
        }

        .indicator {
            width: 12px;
            height: 12px;
            background: #9B9B9B;
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .indicator:hover {
            background: #B8B8B8;
        }

        .indicator.active {
            width: 29px;
            height: 12px;
            background: #D9C209;
            border-radius: 100px;
        }

        .indicator.active:hover {
            background: #C9B407;
        }

        /* Right Section - Form */
        .right-section {
            position: relative;
            width: calc(100% - 550px);
            height: 100vh;
            background: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .form-wrapper {
            width: 520px;
            min-height: 380px;
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .form-wrapper form {
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .form-title {
            width: 100%;
            min-height: 48px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 700;
            font-size: 34px;
            line-height: 50px;
            color: #333333;
            margin: 0;
            padding: 0;
            margin-bottom: 0;
        }

        .input-group-wrapper {
            display: flex;
            flex-direction: column;
            gap: 6px;
            width: 100%;
        }

        .input-label {
            width: 100%;
            min-height: 20px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 400;
            font-size: 17px;
            line-height: 20px;
            color: #8389A8;
            display: flex;
            align-items: center;
            margin-bottom: 4px;
        }

        .input-container {
            box-sizing: border-box;
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 18px 22px;
            gap: 12px;
            width: 100%;
            height: 60px;
            background: #FFFFFF;
            border: 1px solid #C7C7C7;
            border-radius: 8px;
        }

        .input-container.focused {
            border: 1px solid #DAC408;
            box-shadow: 0px 4px 4px rgba(217, 194, 9, 0.25);
        }

        .input-icon {
            width: 28px;
            height: 28px;
            flex: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .input-icon svg {
            width: 28px;
            height: 28px;
            flex-shrink: 0;
        }

        .input-icon svg path,
        .input-icon svg rect,
        .input-icon svg line {
            stroke-width: 2;
        }

        .input-field {
            width: 100%;
            min-height: 20px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 500;
            font-size: 17px;
            line-height: 20px;
            color: #333333;
            border: none;
            outline: none;
            flex: 1;
            background: transparent;
        }

        .input-field::placeholder {
            color: #8389A8;
            opacity: 0.7;
        }

        .password-toggle {
            width: 28px;
            height: 28px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            flex: none;
        }

        .password-toggle svg {
            width: 28px;
            height: 28px;
        }

        .register-button {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 16px 36px;
            gap: 12px;
            width: 100%;
            height: 60px;
            background: #DAC408;
            border-radius: 8px;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 4px;
        }

        .register-button:hover {
            background: #C9B407;
            transform: translateY(-2px);
            box-shadow: 0px 4px 8px rgba(217, 194, 9, 0.3);
        }

        .register-button-text {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 700;
            font-size: 19px;
            line-height: 28px;
            color: #FFFFFF;
        }

        .login-link {
            width: 100%;
            min-height: 24px;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #8389A8;
            text-decoration: none;
            text-align: center;
            margin-top: 4px;
        }

        .login-link a {
            color: #8389A8;
            text-decoration: none;
        }

        .login-link a:hover {
            color: #DAC408;
            text-decoration: underline;
        }

        /* Terms Checkbox */
        .terms-wrapper {
            width: 100%;
            margin-top: -8px;
        }

        .terms-checkbox-label {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            cursor: pointer;
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 400;
            font-size: 14px;
            line-height: 20px;
            color: #8389A8;
        }

        .terms-checkbox {
            width: 18px;
            height: 18px;
            margin-top: 1px;
            cursor: pointer;
            accent-color: #DAC408;
            flex-shrink: 0;
        }

        .terms-text {
            flex: 1;
            line-height: 20px;
        }

        .terms-link {
            color: #DAC408;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.2s ease;
        }

        .terms-link:hover {
            color: #C9B407;
            text-decoration: underline;
        }

        .register-button:disabled {
            background: #C7C7C7;
            cursor: not-allowed;
            transform: none;
        }

        .register-button:disabled:hover {
            background: #C7C7C7;
            transform: none;
            box-shadow: none;
        }

        /* Flash Messages */
        .alert {
            padding: 12px 16px;
            margin-bottom: 0;
            margin-top: 0;
            border-radius: 8px;
            font-size: 14px;
        }

        .form-wrapper>.alert {
            margin-bottom: 0;
        }

        .alert-danger {
            background: #fee;
            color: #c33;
            border: 1px solid #fcc;
        }

        .alert-success {
            background: #efe;
            color: #3c3;
            border: 1px solid #cfc;
        }

        /* Responsive */
        /* Tablet Landscape (1024px - 1200px) */
        @media (max-width: 1200px) and (min-width: 1024px) {
            .left-section {
                width: 45%;
            }

            .right-section {
                width: 55%;
            }
        }

        /* Tablet Portrait (768px - 1023px) */
        @media (max-width: 1023px) and (min-width: 768px) {
            .register-container {
                flex-direction: column;
            }

            .left-section {
                width: 100%;
                height: 35vh;
                min-height: 300px;
            }

            .left-content {
                width: 90%;
                max-width: 600px;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }

            .logo-container {
                width: 280px;
                height: 80px;
            }

            .logo-image {
                width: 280px;
                height: 72px;
            }

            .tagline {
                font-size: 7px;
                margin-left: 80px;
            }

            .promo-text {
                width: 100%;
                font-size: 28px;
                line-height: 36px;
            }

            .right-section {
                width: 100%;
                height: auto;
                min-height: 65vh;
                padding: 30px 20px;
            }

            .form-wrapper {
                width: 90%;
                max-width: 500px;
            }

            .form-title {
                font-size: 30px;
                line-height: 40px;
            }
        }

        /* Mobile (até 767px) */
        @media (max-width: 767px) {
            .register-container {
                flex-direction: column;
            }

            .left-section {
                width: 100%;
                height: 30vh;
                min-height: 250px;
            }

            .left-content {
                width: 90%;
                max-width: 100%;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
                gap: 16px;
            }

            .logo-container {
                width: 220px;
                height: 65px;
            }

            .logo-image {
                width: 220px;
                height: 58px;
            }

            .tagline {
                font-size: 6px;
                line-height: 10px;
                margin-left: 60px;
                width: 180px;
            }

            .promo-text {
                width: 100%;
                font-size: 20px;
                line-height: 28px;
                min-height: auto;
            }

            .carousel-indicators {
                width: 55px;
                height: 10px;
                gap: 5px;
            }

            .indicator {
                width: 10px;
                height: 10px;
            }

            .indicator.active {
                width: 24px;
                height: 10px;
            }

            .right-section {
                width: 100%;
                height: auto;
                min-height: 70vh;
                padding: 20px 15px;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }

            .form-wrapper {
                width: 100%;
                max-width: 100%;
                gap: 20px;
            }

            .form-wrapper form {
                gap: 20px;
            }

            .form-title {
                font-size: 26px;
                line-height: 36px;
            }

            .input-group-wrapper {
                gap: 5px;
            }

            .input-label {
                font-size: 15px;
                line-height: 18px;
            }

            .input-container {
                padding: 14px 18px;
                height: 56px;
            }

            .input-icon {
                width: 24px;
                height: 24px;
            }

            .input-icon svg {
                width: 24px;
                height: 24px;
            }

            .input-field {
                font-size: 16px;
                line-height: 20px;
            }

            .password-toggle {
                width: 24px;
                height: 24px;
            }

            .password-toggle svg {
                width: 24px;
                height: 24px;
            }

            .register-button {
                height: 56px;
                padding: 14px 32px;
            }

            .register-button-text {
                font-size: 17px;
                line-height: 24px;
            }

            .login-link {
                font-size: 14px;
                line-height: 20px;
            }

            .terms-checkbox-label {
                font-size: 13px;
                line-height: 18px;
            }

            .terms-checkbox {
                width: 16px;
                height: 16px;
            }
        }
