Reset Password Page HTML

6 views 411 lines
Enterprise SaaS Design
New Password + Confirm Password
Password Strength Meter
Password Requirements Checklist
Security Shield Illustration
Success State Ready
Glassmorphism UI
Responsive Layout
Pure HTML + CSS
HTML • 411 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Reset Password</title>

<style>

:root{
    --primary:#6366f1;
    --accent:#06b6d4;
    --success:#10b981;
    --warning:#f59e0b;
    --danger:#ef4444;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Inter,sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #020617,
        #172554,
        #312e81,
        #0f172a
    );
}

/* Animated Background */

body::before,
body::after{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
    opacity:.5;
}

body::before{
    width:350px;
    height:350px;
    background:#6366f1;
    top:-100px;
    left:-100px;
    animation:float 12s infinite;
}

body::after{
    width:300px;
    height:300px;
    background:#06b6d4;
    bottom:-100px;
    right:-100px;
    animation:float 10s infinite;
}

@keyframes float{
    50%{
        transform:translateY(-40px);
    }
}

/* Main Card */

.card{

    width:100%;
    max-width:600px;

    padding:40px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.1);

    border-radius:30px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.4);

    animation:show .8s ease;
}

@keyframes show{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Header */

.icon{

    width:100px;
    height:100px;

    margin:auto;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:45px;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    animation:pulse 3s infinite;
}

@keyframes pulse{
    50%{
        transform:scale(1.08);
    }
}

h2{
    color:white;
    text-align:center;
    margin-top:20px;
}

.subtitle{
    text-align:center;
    color:#cbd5e1;
    margin:10px 0 30px;
}

/* Inputs */

.group{
    position:relative;
    margin-bottom:25px;
}

.group input{

    width:100%;

    padding:16px;

    border:none;

    outline:none;

    border-radius:14px;

    background:
    rgba(255,255,255,.08);

    color:white;
}

.group label{

    position:absolute;

    left:16px;
    top:16px;

    color:#94a3b8;

    transition:.3s;
}

.group input:focus+label,
.group input:valid+label{

    top:-10px;

    left:10px;

    font-size:12px;

    background:#111827;

    padding:2px 8px;

    border-radius:8px;

    color:#06b6d4;
}

/* Password Strength */

.strength{
    margin-bottom:25px;
}

.bar{
    height:10px;
    border-radius:50px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
}

.fill{

    width:80%;
    height:100%;

    background:
    linear-gradient(
        90deg,
        var(--warning),
        var(--success)
    );

    animation:grow 1s ease;
}

@keyframes grow{
    from{
        width:0;
    }
}

.strength-text{
    color:#10b981;
    font-size:14px;
    margin-top:10px;
}

/* Requirements */

.requirements{

    padding:20px;

    border-radius:16px;

    background:
    rgba(255,255,255,.05);

    margin-bottom:25px;
}

.requirements h4{
    color:white;
    margin-bottom:15px;
}

.requirements ul{
    list-style:none;
}

.requirements li{
    color:#cbd5e1;
    margin-bottom:10px;
}

/* Button */

.btn{

    width:100%;

    border:none;

    padding:16px;

    border-radius:14px;

    color:white;

    font-size:16px;

    cursor:pointer;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    transition:.3s;
}

.btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(99,102,241,.4);
}

/* Footer */

.footer{

    margin-top:20px;

    text-align:center;

    color:#cbd5e1;
}

.footer a{
    color:#06b6d4;
    text-decoration:none;
}

/* Mobile */

@media(max-width:600px){

.card{
    padding:25px;
}

}

</style>
</head>
<body>

<div class="card">

    <div class="icon">
        🛡️
    </div>

    <h2>Create New Password</h2>

    <p class="subtitle">
        Choose a strong password to secure your account.
    </p>

    <form>

        <div class="group">
            <input type="password" required>
            <label>New Password</label>
        </div>

        <div class="group">
            <input type="password" required>
            <label>Confirm Password</label>
        </div>

        <div class="strength">

            <div class="bar">
                <div class="fill"></div>
            </div>

            <div class="strength-text">
                Strong Password
            </div>

        </div>

        <div class="requirements">

            <h4>Password Requirements</h4>

            <ul>
                <li>✓ Minimum 8 characters</li>
                <li>✓ At least one uppercase letter</li>
                <li>✓ At least one lowercase letter</li>
                <li>✓ At least one number</li>
                <li>✓ At least one special character</li>
            </ul>

        </div>

        <button class="btn">
            Reset Password
        </button>

    </form>

    <div class="footer">
        Back to <a href="#">Login</a>
    </div>

</div>

</body>
</html>
Live Preview HTML preview
Raw Code • 411 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Reset Password</title>

<style>

:root{
    --primary:#6366f1;
    --accent:#06b6d4;
    --success:#10b981;
    --warning:#f59e0b;
    --danger:#ef4444;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Inter,sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #020617,
        #172554,
        #312e81,
        #0f172a
    );
}

/* Animated Background */

body::before,
body::after{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
    opacity:.5;
}

body::before{
    width:350px;
    height:350px;
    background:#6366f1;
    top:-100px;
    left:-100px;
    animation:float 12s infinite;
}

body::after{
    width:300px;
    height:300px;
    background:#06b6d4;
    bottom:-100px;
    right:-100px;
    animation:float 10s infinite;
}

@keyframes float{
    50%{
        transform:translateY(-40px);
    }
}

/* Main Card */

.card{

    width:100%;
    max-width:600px;

    padding:40px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.1);

    border-radius:30px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.4);

    animation:show .8s ease;
}

@keyframes show{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Header */

.icon{

    width:100px;
    height:100px;

    margin:auto;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:45px;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    animation:pulse 3s infinite;
}

@keyframes pulse{
    50%{
        transform:scale(1.08);
    }
}

h2{
    color:white;
    text-align:center;
    margin-top:20px;
}

.subtitle{
    text-align:center;
    color:#cbd5e1;
    margin:10px 0 30px;
}

/* Inputs */

.group{
    position:relative;
    margin-bottom:25px;
}

.group input{

    width:100%;

    padding:16px;

    border:none;

    outline:none;

    border-radius:14px;

    background:
    rgba(255,255,255,.08);

    color:white;
}

.group label{

    position:absolute;

    left:16px;
    top:16px;

    color:#94a3b8;

    transition:.3s;
}

.group input:focus+label,
.group input:valid+label{

    top:-10px;

    left:10px;

    font-size:12px;

    background:#111827;

    padding:2px 8px;

    border-radius:8px;

    color:#06b6d4;
}

/* Password Strength */

.strength{
    margin-bottom:25px;
}

.bar{
    height:10px;
    border-radius:50px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
}

.fill{

    width:80%;
    height:100%;

    background:
    linear-gradient(
        90deg,
        var(--warning),
        var(--success)
    );

    animation:grow 1s ease;
}

@keyframes grow{
    from{
        width:0;
    }
}

.strength-text{
    color:#10b981;
    font-size:14px;
    margin-top:10px;
}

/* Requirements */

.requirements{

    padding:20px;

    border-radius:16px;

    background:
    rgba(255,255,255,.05);

    margin-bottom:25px;
}

.requirements h4{
    color:white;
    margin-bottom:15px;
}

.requirements ul{
    list-style:none;
}

.requirements li{
    color:#cbd5e1;
    margin-bottom:10px;
}

/* Button */

.btn{

    width:100%;

    border:none;

    padding:16px;

    border-radius:14px;

    color:white;

    font-size:16px;

    cursor:pointer;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    transition:.3s;
}

.btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(99,102,241,.4);
}

/* Footer */

.footer{

    margin-top:20px;

    text-align:center;

    color:#cbd5e1;
}

.footer a{
    color:#06b6d4;
    text-decoration:none;
}

/* Mobile */

@media(max-width:600px){

.card{
    padding:25px;
}

}

</style>
</head>
<body>

<div class="card">

    <div class="icon">
        🛡️
    </div>

    <h2>Create New Password</h2>

    <p class="subtitle">
        Choose a strong password to secure your account.
    </p>

    <form>

        <div class="group">
            <input type="password" required>
            <label>New Password</label>
        </div>

        <div class="group">
            <input type="password" required>
            <label>Confirm Password</label>
        </div>

        <div class="strength">

            <div class="bar">
                <div class="fill"></div>
            </div>

            <div class="strength-text">
                Strong Password
            </div>

        </div>

        <div class="requirements">

            <h4>Password Requirements</h4>

            <ul>
                <li>✓ Minimum 8 characters</li>
                <li>✓ At least one uppercase letter</li>
                <li>✓ At least one lowercase letter</li>
                <li>✓ At least one number</li>
                <li>✓ At least one special character</li>
            </ul>

        </div>

        <button class="btn">
            Reset Password
        </button>

    </form>

    <div class="footer">
        Back to <a href="#">Login</a>
    </div>

</div>

</body>
</html>
Code copied to clipboard!