:root{
--theme1:#1a1668;
--theme2:#EAA451;
--white:#ffffff;
}

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

html,body{
width:100%;
max-width:100%;
overflow-x:hidden !important;
position:relative;
}

body{
font-family:'Poppins',sans-serif;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:15px;
overflow:hidden;
background:
linear-gradient(135deg,var(--theme1) 0%,#2d2a8f 45%,var(--theme2) 100%);
position:relative;
animation:bgMove 10s ease infinite alternate;
}

@keyframes bgMove{
0%{
background-position:left top;
}
100%{
background-position:right bottom;
}
}

body::before{
content:'';
position:absolute;
top:-120px;
left:-120px;
width:320px;
height:320px;
background:rgba(255,255,255,.10);
border-radius:50%;
animation:float1 8s ease-in-out infinite;
}

body::after{
content:'';
position:absolute;
bottom:-140px;
right:-140px;
width:360px;
height:360px;
background:rgba(255,255,255,.08);
border-radius:50%;
animation:float2 10s ease-in-out infinite;
}

@keyframes float1{
0%{transform:translateY(0);}
50%{transform:translateY(20px);}
100%{transform:translateY(0);}
}

@keyframes float2{
0%{transform:translateY(0);}
50%{transform:translateY(-20px);}
100%{transform:translateY(0);}
}

.forgot-box{
width:100%;
max-width:390px;
position:relative;
z-index:2;
animation:fadeUp 1s ease;
}

@keyframes fadeUp{
0%{
opacity:0;
transform:translateY(40px);
}
100%{
opacity:1;
transform:translateY(0);
}
}

.forgot-card{
background:#fff;
border-radius:30px;
overflow:hidden;
box-shadow:0 25px 60px rgba(0,0,0,.25);
}

.forgot-top{
height:150px;
background:
linear-gradient(135deg,var(--theme1),var(--theme2));
display:flex;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
}

.forgot-top::before{
content:'';
position:absolute;
bottom:-70px;
left:0;
width:100%;
height:140px;
background:#fff;
border-radius:100%;
}

.logo-box{
position:relative;
z-index:2;
width:85px;
height:85px;
border-radius:25px;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 12px 25px rgba(0,0,0,.15);
animation:pulse 3s infinite;
}

@keyframes pulse{
0%{transform:scale(1);}
50%{transform:scale(1.05);}
100%{transform:scale(1);}
}

.logo-box img{
height:48px;
width:48px;
object-fit:contain;
}

.forgot-body{
padding:30px 24px 24px;
}

.title{
text-align:center;
margin-bottom:22px;
}

.title h3{
font-size:28px;
font-weight:700;
color:var(--theme1);
margin-bottom:5px;
}

.title p{
font-size:13px;
color:#777;
line-height:24px;
}

.form-group{
margin-bottom:16px;
}

.input-group{
border-radius:16px;
overflow:hidden;
background:#f7f7f7;
border:1px solid #ececec;
transition:.3s;
}

.input-group:focus-within{
border-color:var(--theme2);
background:#fff;
box-shadow:0 0 0 4px rgba(234,164,81,.15);
}

.form-control{
height:54px;
border:none !important;
background:transparent !important;
font-size:14px;
padding-left:16px;
box-shadow:none !important;
color:var(--theme1) !important;
}

.input-group-text{
background:transparent;
border:none;
padding:0 16px;
color:var(--theme2);
font-size:16px;
}

.btn-send{
height:54px;
border:none;
border-radius:16px;
background:
linear-gradient(135deg,var(--theme1),var(--theme2));
font-size:15px;
font-weight:700;
color:#fff;
transition:.4s;
}

.btn-send:hover{
transform:translateY(-2px);
box-shadow:0 14px 25px rgba(26,22,104,.25);
}

.alert{
border-radius:14px;
font-size:13px;
padding:12px;
}

.bottom-area{
margin-top:18px;
padding-top:16px;
border-top:1px solid #f1f1f1;
text-align:center;
}

.bottom-area a{
display:inline-flex;
align-items:center;
gap:8px;
font-size:13px;
font-weight:600;
text-decoration:none;
color:#666;
transition:.3s;
}
.bottom-area a:hover{color:var(--theme1);}
