
*{

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

:root{

    --primary:#2563eb;
    --primary-dark:#1d4ed8;

    --text:#0f172a;
    --text-soft:#64748b;

    --border:#e2e8f0;

    --shadow:
        0 8px 30px rgba(15,23,42,.08);

    --transition:
        all .2s ease;
}

html,
body{

    min-height:100vh;

    font-family:'Inter',sans-serif;

    background:
        linear-gradient(
            135deg,
            #dbeafe,
            #eff6ff
        );
}

body{

    display:flex;

    flex-direction:column;
}

.auth-wrapper{

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:2rem 2rem 0;
}

.auth-card{

    width:100%;

    max-width:520px;

    background:white;

    border-radius:24px;

    padding:2rem;

    box-shadow:var(--shadow);
}

.logo-container{

    text-align:center;

    margin-bottom:1.5rem;
}

.logo-container img{

    max-width:220px;

    width:100%;

    height:auto;

    transition: all .2s ease;
}

.logo-container img:hover{

    transform: scale(1.04);

    opacity: 1;
}

.title-icon svg{
    width:22px;
    height:22px;
}

.input-group svg{
    width:17px;
    height:17px;
}

.btn-submit svg{
    width:17px;
    height:17px;
}

.back-link svg{
    width:15px;
    height:15px;
}

.page-header{

    text-align:center;

    margin-bottom:1.5rem;
}

.title-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    margin-bottom:.75rem;
}

.title-icon svg{

    width:26px;

    height:26px;

    color:var(--primary);
}

.page-header h1{

    font-size:1.7rem;

    font-weight:800;

    color:var(--text);
}

.page-header p{

    color:var(--text-soft);

    font-size:.92rem;

    line-height:1.6;
}

.form-group{

    margin-bottom:1.5rem;
}

.form-group label{

    display:block;

    margin-bottom:.5rem;

    font-size:.85rem;

    font-weight:700;

    color:var(--text);
}

.input-group{

    position:relative;
}

.input-group svg{

    position:absolute;

    left:14px;

    top:50%;

    transform:translateY(-50%);

    width:18px;

    height:18px;

    color:#94a3b8;
}

.input-group input{

    width:100%;

    padding:.95rem .95rem .95rem 42px;

    border:1px solid var(--border);

    border-radius:14px;

    font-size:.9rem;

    transition:var(--transition);
}

.input-group input:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:
        0 0 0 3px rgba(37,99,235,.12);
}

.btn-submit{

    width:100%;

    border:none;

    border-radius:14px;

    background:var(--primary);

    color:white;

    font-size:.92rem;

    font-weight:700;

    padding:1rem;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    cursor:pointer;

    transition:var(--transition);
}

.btn-submit:hover{

    background:var(--primary-dark);
}

.back-link{

    margin-top:1.25rem;

    text-align:center;
}

.back-link a{

    display:inline-flex;

    align-items:center;

    gap:6px;

    text-decoration:none;

    color:var(--primary);

    font-size:.85rem;

    font-weight:700;
}

@media (max-width:768px){

    .auth-card{

        padding:1.4rem;
    }

    .page-header h1{

        font-size:1.4rem;
    }
}

@media (prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;
    }
}