
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Inter', sans-serif;
            min-height: 100vh;
            background:
                radial-gradient(circle at 10% 20%, rgba(37, 99, 235, 0.18), transparent 30%),
                radial-gradient(circle at 90% 80%, rgba(14, 165, 233, 0.16), transparent 30%),
                linear-gradient(135deg, #07111f 0%, #0f1f35 50%, #102a43 100%);
            color: #172033;
            overflow-x: hidden;
        }

        .login-wrapper {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 30px 20px;
            position: relative;
        }

        /* Background decorative circles */

        .shape {
            position: absolute;
            border-radius: 50%;
            filter: blur(2px);
            pointer-events: none;
        }

        .shape-one {
            width: 280px;
            height: 280px;
            background: rgba(37, 99, 235, 0.15);
            top: -100px;
            left: -80px;
        }

        .shape-two {
            width: 350px;
            height: 350px;
            background: rgba(14, 165, 233, 0.10);
            bottom: -150px;
            right: -100px;
        }

        /* Main Card */

        .login-card {
            width: 100%;
            max-width: 1050px;
            min-height: 610px;
            display: grid;
            grid-template-columns: 46% 54%;
            background: rgba(255, 255, 255, 0.96);
            border-radius: 28px;
            overflow: hidden;
            box-shadow:
                0 30px 80px rgba(0, 0, 0, 0.35),
                0 10px 30px rgba(0, 0, 0, 0.12);
            position: relative;
            z-index: 2;
        }

        /* Left Side */

        .brand-section {
            position: relative;
            padding: 55px 50px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            overflow: hidden;

            background:
                linear-gradient(
                    145deg,
                    #0b5ed7 0%,
                    #084298 55%,
                    #062c65 100%
                );
            color: #fff;
        }

        .brand-section::before {
            content: "";
            position: absolute;
            width: 430px;
            height: 430px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 50%;
            right: -230px;
            top: -160px;
        }

        .brand-section::after {
            content: "";
            position: absolute;
            width: 330px;
            height: 330px;
            border: 1px solid rgba(255,255,255,0.10);
            border-radius: 50%;
            left: -210px;
            bottom: -180px;
        }

        .brand-content {
            position: relative;
            z-index: 2;
        }

        .logo-box {
            height: 95px;
            border-radius: 16px;
            /*background: rgba(255, 255, 255, 0.96);*/
            border: 1px solid rgba(255,255,255,0.22);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 35px;
            backdrop-filter: blur(10px);
        }

        .logo-box img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 10px 0;
        }

        .brand-section h1 {
            font-size: 36px;
            line-height: 1.15;
            font-weight: 800;
            letter-spacing: -1px;
            margin-bottom: 18px;
        }

        .brand-section .subtitle {
            font-size: 15px;
            line-height: 1.8;
            color: rgba(255,255,255,0.78);
            max-width: 370px;
        }

        .feature-list {
            margin-top: 35px;
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .feature {
            display: flex;
            align-items: center;
            gap: 13px;
            font-size: 14px;
            color: rgba(255,255,255,0.9);
        }

        .feature-icon {
            width: 30px;
            height: 30px;
            border-radius: 9px;
            background: rgba(255,255,255,0.13);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
        }

        .brand-footer {
            position: relative;
            z-index: 2;
            color: rgba(255,255,255,0.55);
            font-size: 12px;
        }

        /* Right Side */

        .form-section {
            padding: 65px 70px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .welcome-text {
            margin-bottom: 38px;
        }

        .welcome-text .small-title {
            color: #2563eb;
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.2px;
            margin-bottom: 10px;
        }

        .welcome-text h2 {
            font-size: 30px;
            font-weight: 800;
            color: #111827;
            margin-bottom: 9px;
            letter-spacing: -0.6px;
        }

        .welcome-text p {
            font-size: 14px;
            color: #6b7280;
        }

        .form-group {
            margin-bottom: 22px;
        }

        .form-label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: #374151;
            margin-bottom: 9px;
        }

        .input-wrapper {
            position: relative;
        }

        .input-icon {
            position: absolute;
            left: 17px;
            top: 50%;
            transform: translateY(-50%);
            color: #9ca3af;
            font-size: 17px;
            z-index: 2;
        }

        .form-control {
            width: 100%;
            height: 55px;
            border: 1px solid #e5e7eb;
            border-radius: 13px;
            padding: 0 48px;
            font-family: inherit;
            font-size: 14px;
            color: #111827;
            background: #f9fafb;
            outline: none;
            transition: all 0.25s ease;
        }

        .form-control:hover {
            border-color: #d1d5db;
        }

        .form-control:focus {
            background: #fff;
            border-color: #2563eb;
            box-shadow: 0 0 0 4px rgba(37,99,235,0.10);
        }

        .form-control::placeholder {
            color: #9ca3af;
        }

        .password-toggle {
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            border: 0;
            background: transparent;
            cursor: pointer;
            color: #9ca3af;
            font-size: 16px;
            padding: 5px;
        }

        .password-toggle:hover {
            color: #2563eb;
        }

        .login-button {
            width: 100%;
            height: 55px;
            border: 0;
            border-radius: 13px;
            background: linear-gradient(135deg, #2563eb, #0b5ed7);
            color: #fff;
            font-family: inherit;
            font-size: 14px;
            font-weight: 700;
            cursor: pointer;
            box-shadow: 0 10px 25px rgba(37,99,235,0.22);
            transition: all 0.25s ease;
            margin-top: 5px;
        }

        .login-button:hover {
            transform: translateY(-1px);
            box-shadow: 0 14px 30px rgba(37,99,235,0.30);
        }

        .login-button:active {
            transform: translateY(0);
        }

        .button-content {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
        }

        .button-arrow {
            font-size: 18px;
        }

        .security-note {
            margin-top: 28px;
            padding: 13px 15px;
            border-radius: 11px;
            background: #f8fafc;
            border: 1px solid #eef2f7;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 11px;
            color: #6b7280;
        }

        .security-icon {
            color: #16a34a;
            font-size: 15px;
        }

        /* Flash Message */

        .alert-message {
            position: fixed;
            top: 25px;
            right: 25px;
            z-index: 9999;
            min-width: 280px;
            max-width: 400px;
            padding: 14px 18px;
            border-radius: 12px;
            font-size: 13px;
            font-weight: 500;
            box-shadow: 0 12px 35px rgba(0,0,0,0.18);
        }

        .alert-message.error {
            background: #fff;
            color: #b91c1c;
            border-left: 4px solid #dc2626;
        }

        /* Responsive */

        @media (max-width: 850px) {

            .login-card {
                grid-template-columns: 1fr;
                max-width: 550px;
            }

            .brand-section {
                min-height: 300px;
                padding: 35px 35px;
            }

            .brand-section h1 {
                font-size: 28px;
            }

            .feature-list {
                display: none;
            }

            .brand-footer {
                margin-top: 35px;
            }

            .form-section {
                padding: 45px 35px;
            }
        }

        @media (max-width: 480px) {

            .login-wrapper {
                padding: 15px;
            }

            .login-card {
                border-radius: 20px;
            }

            .brand-section {
                padding: 30px 25px;
            }

            .form-section {
                padding: 38px 25px;
            }

            .welcome-text h2 {
                font-size: 25px;
            }
        }
        
        .signup-button {
    width: 100%;
    height: 48px;
    margin-top: 12px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
    color: #344054;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.signup-button strong {
    color: #176b87;
    font-weight: 700;
}

.signup-button:hover {
    border-color: #176b87;
    background: #f5fafc;
    color: #176b87;
    text-decoration: none;
}

.signup-arrow {
    font-size: 18px;
    transition: transform 0.2s ease;
}

.signup-button:hover .signup-arrow {
    transform: translateX(3px);
}



/* ==========================================================
   REGISTER WRAPPER
   ========================================================== */

.register-wrapper {
    width: 100%;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 35px 15px;
}


/* ==========================================================
   CARD
   ========================================================== */

.register-card {
    width: 100%;
    max-width: 850px;

    background: #ffffff;

    border-radius: 20px;

    box-shadow:
        0 20px 60px rgba(15, 39, 71, 0.12);

    overflow: hidden;
}


/* ==========================================================
   HEADER
   ========================================================== */

.register-header {
    padding: 35px 40px 30px;

    background:
        linear-gradient(
            135deg,
            #164d7a,
            #2188a8
        );

    color: #ffffff;
}


/* Header top */

.register-wrapper .header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}


.register-wrapper .brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.register-wrapper .brand-logo {
    width: 52px;
    height: 52px;

    border-radius: 12px;

    background: rgba(255,255,255,0.15);

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.register-wrapper .brand-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.register-wrapper .brand-title {
    font-size: 19px;
    font-weight: 700;
}

.register-wrapper .brand-subtitle {
    margin-top: 3px;

    font-size: 12px;

    color: rgba(255,255,255,0.75);
}


/* Login link */

.register-wrapper .login-link {
    color: #ffffff;
    text-decoration: none;

    border: 1px solid rgba(255,255,255,0.35);

    padding: 9px 16px;

    border-radius: 8px;

    font-size: 13px;
    font-weight: 600;

    transition: 0.2s;
}

.register-wrapper .login-link:hover {
    background: rgba(255,255,255,0.12);
    color: #ffffff;
    text-decoration: none;
}


/* Header title */

.register-wrapper .header-title {
    margin-top: 30px;
}

.register-wrapper .header-title h1 {
    margin: 0;

    font-size: 27px;
    font-weight: 700;
}

.register-wrapper .header-title p {
    margin: 8px 0 0;

    font-size: 13px;

    color: rgba(255,255,255,0.75);
}


/* ==========================================================
   STEPS
   ========================================================== */

.register-wrapper .steps {
    display: flex;
    align-items: center;

    margin-top: 30px;
}

.register-wrapper .step-item {
    display: flex;
    align-items: center;

    position: relative;
}

.register-wrapper .step-circle {
    width: 34px;
    height: 34px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 13px;
    font-weight: 700;

    background: rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.75);
}

.register-wrapper .step-item.active .step-circle {
    background: #ffffff;
    color: #176b87;
}

.register-wrapper .step-label {
    margin-left: 9px;

    font-size: 12px;
    font-weight: 600;
}

.register-wrapper .step-line {
    width: 70px;
    height: 1px;

    margin: 0 14px;

    background: rgba(255,255,255,0.3);
}


/* ==========================================================
   FORM AREA
   ========================================================== */

.register-wrapper .form-area {
    padding: 35px 40px 40px;
}


/* Section */

.register-wrapper .form-heading {
    margin-bottom: 25px;
}

.register-wrapper .form-heading h2 {
    margin: 0;

    font-size: 20px;
    font-weight: 700;

    color: #172b4d;
}

.register-wrapper .form-heading p {
    margin: 7px 0 0;

    color: #667085;

    font-size: 13px;
}


/* ==========================================================
   FORM GRID
   ========================================================== */

.register-wrapper .form-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}

.register-wrapper .form-group {
    margin: 0;
}

.register-wrapper .full-width {
    grid-column: 1 / -1;
}


/* Label */

.register-wrapper .form-label {
    display: block;

    margin-bottom: 8px;

    color: #344054;

    font-size: 13px;
    font-weight: 600;
}

.register-wrapper .required {
    color: #d92d20;
}


/* Input */

.register-wrapper .input-wrapper {
    position: relative;
}

.register-wrapper .form-control {
    width: 100%;
    height: 46px;

    border: 1px solid #d0d5dd;

    border-radius: 9px;

    background: #ffffff;

    padding: 0 14px;

    color: #344054;

    font-size: 13px;

    outline: none;

    transition: all 0.2s ease;
}

.register-wrapper .form-control:focus {
    border-color: #2188a8;

    box-shadow:
        0 0 0 3px rgba(33,136,168,0.10);
}

.register-wrapper .form-control::placeholder {
    color: #98a2b3;
}


/* ==========================================================
   MAP INPUT
   ========================================================== */

.register-wrapper .map-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;
}

.register-wrapper .map-button {
    height: 46px;

    border: 0;

    border-radius: 9px;

    background: #e8f6f9;

    color: #176b87;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    transition: 0.2s;
}

.map-button:hover {
    background: #d9eff4;
}


/* ==========================================================
   TRIAL
   ========================================================== */

.trial-box {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;

    padding: 18px;

    margin-top: 2px;

    background: #f8fafc;

    border: 1px solid #eaecf0;

    border-radius: 12px;
}


/* ==========================================================
   SOCIETY INFO
   ========================================================== */

.register-wrapper .society-info {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 14px 16px;

    margin-bottom: 25px;

    border-radius: 10px;

    background: #eef8fb;

    border: 1px solid #d5edf2;
}

.society-info-icon {
    width: 36px;
    height: 36px;

    flex-shrink: 0;

    border-radius: 8px;

    background: #d9eff4;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #176b87;

    font-size: 16px;
}

.society-info-text strong {
    display: block;

    font-size: 13px;

    color: #176b87;
}

.society-info-text span {
    display: block;

    margin-top: 3px;

    font-size: 12px;

    color: #667085;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.register-wrapper .form-actions {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: 28px;

    padding-top: 25px;

    border-top: 1px solid #eaecf0;
}

.register-wrapper .back-link {
    color: #667085;

    font-size: 13px;

    text-decoration: none;

    font-weight: 500;
}

.register-wrapper .back-link:hover {
    color: #176b87;
}

.register-wrapper .primary-button {
    min-width: 150px;

    height: 46px;

    padding: 0 22px;

    border: 0;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #164d7a,
            #2188a8
        );

    color: #ffffff;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 6px 16px rgba(22,77,122,0.20);

    transition: all 0.2s ease;
}

.primary-button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 9px 20px rgba(22,77,122,0.25);
}


/* ==========================================================
   FOOTER
   ========================================================== */

.register-wrapper .form-footer {
    text-align: center;

    margin-top: 25px;

    color: #98a2b3;

    font-size: 11px;
}


/* ==========================================================
   ALERT
   ========================================================== */

.register-wrapper .alert-message {
    position: fixed;

    top: 20px;
    left: 50%;

    transform: translateX(-50%);

    width: calc(100% - 30px);

    max-width: 500px;

    z-index: 9999;

    padding: 13px 18px;

    border-radius: 9px;

    font-size: 13px;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.15);
}

.register-wrapper .alert-message.error {
    background: #fff1f0;

    border: 1px solid #ffd6d2;

    color: #b42318;
}

.alert-message.success {
    background: #ecfdf3;

    border: 1px solid #abefc6;

    color: #067647;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 700px) {

    .register-wrapper {
        padding: 15px;
    }

    .register-card {
        border-radius: 14px;
    }

    .register-header {
        padding: 25px 22px;
    }

    .register-wrapper .form-area {
        padding: 25px 22px 30px;
    }

    .register-wrapper .form-grid {
        grid-template-columns: 1fr;
    }

   .register-wrapper  .full-width {
        grid-column: auto;
    }

    .register-wrapper .map-row,
    .register-wrapper .trial-box {
        grid-template-columns: 1fr;
    }

    .register-wrapper .header-top {
        align-items: flex-start;
    }

    .register-wrapper .login-link {
        padding: 8px 11px;
        font-size: 11px;
    }

   .register-wrapper  .header-title h1 {
        font-size: 23px;
    }

    .register-wrapper .step-line {
        width: 35px;
        margin: 0 8px;
    }

    .register-wrapper .step-label {
        display: none;
    }
}

@media (max-width: 420px) {

    .register-wrapper .brand-title {
        font-size: 16px;
    }

    .register-wrapper .brand-subtitle {
        font-size: 10px;
    }

    .register-wrapper .brand-logo {
        width: 44px;
        height: 44px;
    }

    .register-wrapper .brand-logo img {
        width: 36px;
        height: 36px;
    }

    .register-wrapper .form-actions {
        flex-direction: column-reverse;

        gap: 15px;
    }

    .register-wrapper .primary-button {
        width: 100%;
    }

    .register-wrapper .back-link {
        align-self: center;
    }
}

