/* login.css */

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

body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(
        135deg,
        #0f172a,
        #1e293b
    );
    padding:20px;
}

.login-container{
    width:100%;
    max-width:420px;
}

.login-footer{
    margin-top:18px;
    text-align:center;
    color:#e5edf8;
    font-size:13px;
    font-weight:600;
    background:rgba(15,23,42,0.42);
    border:1px solid rgba(255,255,255,0.10);
    border-radius:10px;
    padding:10px 14px;
    box-shadow:0 10px 24px rgba(0,0,0,0.16);
}

.login-footer small{
    display:block;
    line-height:1.4;
}

.login-card{
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:
        0 10px 30px rgba(0,0,0,0.2);
}

.logo{
    width:220px;
    display:block;
    margin:0 auto 20px auto;
}

h1{
    text-align:center;
    margin-bottom:10px;
    color:#111827;
}

.subtitle{
    text-align:center;
    color:#6b7280;
    margin-bottom:30px;
}

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

label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:#374151;
}

input{
    width:100%;
    height:48px;
    border:1px solid #d1d5db;
    border-radius:10px;
    padding:0 14px;
    font-size:15px;
    transition:0.2s;
}

input:focus{
    outline:none;
    border-color:#2563eb;
    box-shadow:
        0 0 0 3px rgba(37,99,235,0.15);
}

.password-wrapper{
    position:relative;
}

.toggle-password{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    border:none;
    background:none;
    cursor:pointer;
    font-size:18px;
}

.login-button{
    width:100%;
    height:48px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:#fff;
    font-size:16px;
    font-weight:bold;
    cursor:pointer;
    transition:0.2s;
}

.login-button:hover{
    background:#1d4ed8;
}

.login-button:disabled{
    opacity:0.7;
    cursor:not-allowed;
}

.messages{
    margin-bottom:20px;
}

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

.message.error{
    background:#fee2e2;
    color:#991b1b;
}

.message.success{
    background:#dcfce7;
    color:#166534;
}

.field-error{
    display:block;
    color:#dc2626;
    margin-bottom:8px;
    font-size:13px;
}

@media(max-width:480px){

    .login-card{
        padding:25px;
    }

}
