:root{

    --text:#111827;
    --muted:#6b7280;

    --border:#e5e7eb;

    --bg:#ffffff;

    --primary:#111827;

    --primary-hover:#000;

    --radius:18px;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    font-family:Inter,system-ui,sans-serif;

    background:#fafafa;

    color:var(--text);

}

a{

    text-decoration:none;

    color:inherit;

}

.auth-page{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px 20px;

}

.auth-card{

    width:100%;

    max-width:460px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:24px;

    padding:48px;

    box-shadow:

        0 25px 60px rgba(17,24,39,.08);

}

.auth-logo{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    margin-bottom:34px;

}

.auth-logo strong{

    width:48px;

    height:48px;

    border-radius:14px;

    background:#111827;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:800;

    font-size:18px;

}

.auth-logo span{

    font-size:24px;

    font-weight:700;

}

h1{

    text-align:center;

    font-size:36px;

    line-height:1.1;

    margin-bottom:14px;

    font-weight:800;

}

.auth-subtitle{

    text-align:center;

    color:var(--muted);

    line-height:1.7;

    margin-bottom:36px;

}

.auth-form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:10px;

    font-size:14px;

    font-weight:600;

}

.password-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.forgot-link{

    color:#6b7280;

    font-size:14px;

}

.forgot-link:hover{

    color:#111827;

}

input{

    width:100%;

    height:56px;

    padding:0 18px;

    border:1px solid var(--border);

    border-radius:14px;

    outline:none;

    font-size:15px;

    transition:.2s;

    background:#fff;

}

input::placeholder{

    color:#9ca3af;

}

input:focus{

    border-color:#111827;

    box-shadow:

        0 0 0 4px rgba(17,24,39,.06);

}

.checkbox{

    display:flex;

    align-items:flex-start;

    gap:12px;

    color:var(--muted);

    font-size:14px;

    line-height:1.6;

    cursor:pointer;

}

.checkbox input{

    width:18px;

    height:18px;

    margin-top:2px;

}

.checkbox a{

    color:#111827;

    font-weight:600;

}

.btn-primary{

    height:56px;

    border:none;

    border-radius:14px;

    background:#111827;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.2s;

}

.btn-primary:hover{

    background:#000;

    transform:translateY(-1px);

}

.btn-secondary{

    height:56px;

    border:1px solid var(--border);

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.2s;

    font-weight:600;

    background:#fff;

}

.btn-secondary:hover{

    background:#f9fafb;

}

.auth-divider{

    display:flex;

    align-items:center;

    margin:28px 0;

    color:#9ca3af;

    font-size:13px;

}

.auth-divider::before,

.auth-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:var(--border);

}

.auth-divider span{

    padding:0 16px;

}

.auth-footer{

    margin-top:28px;

    text-align:center;

    color:var(--muted);

    font-size:15px;

}

.auth-footer a{

    color:#111827;

    font-weight:600;

}

.alert{

    padding:16px;

    border-radius:14px;

    margin-bottom:24px;

    font-size:14px;

}

.alert-error{

    background:#fef2f2;

    border:1px solid #fecaca;

    color:#991b1b;

}

.alert-success{

    background:#ecfdf5;

    border:1px solid #bbf7d0;

    color:#166534;

}
.alert{

    padding:14px 16px;

    border-radius:10px;

    margin-bottom:20px;

    font-size:14px;

}

.alert-error{

    color:#991b1b;

    background:#fef2f2;

    border:1px solid #fecaca;

}
@media (max-width:560px){

.auth-card{

    padding:32px 26px;

}

h1{

    font-size:30px;

}

.auth-logo span{

    font-size:21px;

}

}