*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(135deg, #073b24 0%, #0f5a36 45%, #ffffff 45%, #ffffff 100%);
    overflow:hidden;
    padding:20px;
}

/* GREEN EFFECT ONLY - NO IMAGE */
.green-effect{
    position:fixed;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:1;
}

.green-effect span{
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    filter:blur(2px);
    animation:floatEffect 8s infinite ease-in-out;
}

.green-effect span:nth-child(1){
    top:8%;
    left:10%;
}

.green-effect span:nth-child(2){
    top:18%;
    right:12%;
    width:150px;
    height:150px;
    animation-delay:1.5s;
}

.green-effect span:nth-child(3){
    top:38%;
    left:45%;
    width:100px;
    height:100px;
    animation-delay:3s;
}

@keyframes floatEffect{
    0%,100%{
        transform:translateY(0) scale(1);
        opacity:.55;
    }
    50%{
        transform:translateY(-30px) scale(1.08);
        opacity:.9;
    }
}

.register-card{
    position:relative;
    z-index:2;
    background:rgba(255,255,255,.96);
    padding:38px 40px;
    border-radius:18px;
    box-shadow:0 20px 50px rgba(0,0,0,.25);
    width:100%;
    max-width:450px;
    text-align:center;
    backdrop-filter:blur(10px);
    animation:cardIn .6s ease;
}

@keyframes cardIn{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.logo-container{
    margin-bottom:18px;
}

.logo-container img{
    max-width:185px;
}

.tagline{
    font-size:13.5px;
    color:#333;
    font-weight:600;
    margin-bottom:24px;
    line-height:1.5;
}

.input-group{
    position:relative;
    margin-bottom:15px;
}

.input-group input{
    width:100%;
    padding:13px 42px 13px 42px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    font-size:14px;
    outline:none;
    transition:.25s ease;
}

.input-group input:focus{
    border-color:#104b2a;
    box-shadow:0 0 0 4px rgba(16,75,42,.12);
}

.input-group i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#667085;
    font-style:normal;
}

.register-btn{
    width:100%;
    padding:13px;
    border:none;
    background:linear-gradient(135deg,#104b2a,#167545);
    color:#fff;
    border-radius:10px;
    font-weight:700;
    cursor:pointer;
    margin-top:5px;
    transition:.25s ease;
}

.register-btn:hover{
    background:linear-gradient(135deg,#0b351e,#104b2a);
    transform:translateY(-1px);
}

.register-btn:disabled{
    opacity:.7;
    cursor:not-allowed;
}

.divider{
    margin:22px 0;
    border-bottom:1px dashed #d0d5dd;
}

.footer-text{
    margin-top:5px;
    font-size:14px;
    font-weight:500;
}

.footer-text a{
    color:#16824d;
    text-decoration:none;
    font-weight:700;
}

.footer-text a:hover{
    text-decoration:underline;
}

.msg-success,
.msg-error{
    padding:11px 13px;
    border-radius:10px;
    margin-bottom:15px;
    font-size:13px;
    font-weight:600;
    text-align:left;
}

.msg-success{
    background:#ecfdf3;
    color:#067647;
    border:1px solid #abefc6;
}

.msg-error{
    background:#fff1f1;
    color:#b42318;
    border:1px solid #f3b3b3;
}

@media(max-width:500px){
    body{
        align-items:flex-start;
        padding-top:55px;
        overflow:auto;
        background:
            linear-gradient(160deg, #073b24 0%, #0f5a36 38%, #ffffff 38%, #ffffff 100%);
    }

    .register-card{
        padding:30px 24px;
        border-radius:16px;
    }

    .logo-container img{
        max-width:155px;
    }
}