.page-content{
    margin-left:250px;
    padding:25px;
    margin-top:30px;
    min-height:100vh;
}

.page-inner{
    max-width:650px;
}

/* TITLE */

.page-title{
    font-size:24px;
    margin-top:40px;
    margin-bottom:30px;
    color:#1e2a38;
    font-weight:600;
}

/* FORM CARD */

.form-box{
    background:#fff;
    padding:28px;
    border-radius:16px;
    border:1px solid #e6e9ef;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* LABEL + INPUT */

label{
    display:block;
    margin-top:14px;
    font-size:13px;
    font-weight:600;
    color:#2c3e50;
}

input{
    width:100%;
    height:48px;
    padding:0 14px;
    margin-top:6px;
    border:1px solid #d7dde5;
    border-radius:10px;
    outline:none;
    transition:0.2s;
    font-size:14px;
}

input:focus{
    border-color:#4a90e2;
    box-shadow:0 0 0 3px rgba(74,144,226,0.15);
}

/* RULE TEXT */

.rule-text{
    font-size:12px;
    color:#4a90e2;
    margin:10px 0 15px;
    line-height:1.5;
}

/* STRENGTH */

.strength-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

#strengthBar{
    height:6px;
    width:70%;
    background:#eee;
    border-radius:10px;
    overflow:hidden;
}

/* MATCH TEXT */

#matchText{
    font-size:12px;
    margin-bottom:10px;
}

/* BUTTON */

.btn-update-password{
    width:100%;
    height:50px;
    border:none;
    border-radius:12px;
    background:#27ae60;
    color:#fff;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    transition:0.2s;
}

.btn-update-password:hover{
    background:#219150;
    transform:translateY(-1px);
}

/* ALERT */

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

.success{
    background:#e7f7ee;
    color:#1f7a3f;
}

.error{
    background:#fdeaea;
    color:#a42828;
}

/* TOAST */

#toast{
    position:fixed;
    top:20px;
    right:20px;
    padding:14px 18px;
    border-radius:10px;
    color:#fff;
    opacity:0;
    transform:translateY(-10px);
    transition:0.3s ease;
    z-index:9999;
    font-size:13px;
    pointer-events:none;
}

#toast.show{
    opacity:1;
    transform:translateY(0);
}

#toast.success{
    background:#27ae60;
}

#toast.error{
    background:#e74c3c;
}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

    .page-content{
        margin-left:0;
        padding:20px;
    }

    .page-inner{
        max-width:100%;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .page-content{
        margin-left:0;
        padding:15px;
        margin-top:80px;
    }

    .page-inner{
        max-width:100%;
    }

    .page-title{
        font-size:22px;
        margin-top:10px;
        margin-bottom:20px;
    }

    .form-box{
        padding:20px;
        border-radius:14px;
    }

    label{
        font-size:14px;
    }

    input{
        height:54px;
        font-size:16px;
    }

    .btn-update-password{
        height:54px;
        font-size:16px;
    }

    .strength-box{
        flex-direction:column;
        align-items:flex-start;
    }

    #strengthBar{
        width:100%;
    }

    #toast{
        left:15px;
        right:15px;
        width:auto;
        top:15px;
        font-size:14px;
    }
}