/* =====================================================
AUTH PAGE
===================================================== */

.auth-page
{
    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 120px 20px;

    background:
    linear-gradient(
        135deg,
        #0f172a,
        #111827,
        #1e293b
    );
}


/* =====================================================
CONTAINER
===================================================== */

.auth-container
{
    width: 100%;

    max-width: 460px;
}


/* =====================================================
BOX
===================================================== */

.auth-box
{
    background: rgba(255,255,255,.04);

    border: 1px solid rgba(255,255,255,.08);

    backdrop-filter: blur(12px);

    border-radius: 24px;

    padding: 40px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.35);
}


/* =====================================================
HEADER
===================================================== */

.auth-header
{
    margin-bottom: 32px;

    text-align: center;
}

.auth-header small
{
    display: inline-block;

    margin-bottom: 12px;

    color: #38bdf8;

    font-size: 12px;

    letter-spacing: 2px;

    font-weight: 700;
}

.auth-header h1
{
    color: #fff;

    font-size: 34px;

    line-height: 1.2;

    margin-bottom: 12px;

    font-weight: 700;
}

.auth-header p
{
    color: rgba(255,255,255,.65);

    font-size: 15px;

    line-height: 1.6;
}


/* =====================================================
FORM
===================================================== */

.auth-form,
.auth-step
{
    display: flex;

    flex-direction: column;

    gap: 20px;
}


/* =====================================================
GROUP
===================================================== */

.form-group
{
    display: flex;

    flex-direction: column;

    gap: 10px;
}

.form-group label
{
    color: rgba(255,255,255,.8);

    font-size: 14px;

    font-weight: 600;
}


/* =====================================================
INPUT
===================================================== */

.form-group input
{
    width: 100%;

    height: 56px;

    border-radius: 14px;

    border: 1px solid rgba(255,255,255,.08);

    background: rgba(255,255,255,.05);

    padding: 0 18px;

    color: #fff;

    font-size: 15px;

    transition: .25s;
}

.form-group input::placeholder
{
    color: rgba(255,255,255,.35);
}

.form-group input:focus
{
    outline: none;

    border-color: #38bdf8;

    background: rgba(255,255,255,.07);

    box-shadow:
    0 0 0 4px rgba(56,189,248,.15);
}


/* =====================================================
READONLY
===================================================== */

.form-group input[readonly]
{
    opacity: .75;

    cursor: default;
}


/* =====================================================
BUTTON
===================================================== */

.auth-btn
{
    width: 100%;

    height: 58px;

    border: none;

    border-radius: 16px;

    background:
    linear-gradient(
        135deg,
        #0ea5e9,
        #2563eb
    );

    color: #fff;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: .25s;
}

.auth-btn:hover
{
    transform: translateY(-2px);

    box-shadow:
    0 10px 30px rgba(37,99,235,.35);
}

.auth-btn:disabled
{
    opacity: .6;

    cursor: not-allowed;

    transform: none;
}


/* =====================================================
MESSAGE
===================================================== */

.auth-message
{
    margin-bottom: 24px;

    padding: 16px 18px;

    border-radius: 14px;

    font-size: 14px;

    font-weight: 600;

    line-height: 1.5;
}


/* =====================================================
FOOTER
===================================================== */

.auth-footer
{
    margin-top: 24px;

    text-align: center;
}

.auth-footer p
{
    color: rgba(255,255,255,.55);

    font-size: 14px;
}

.auth-footer a
{
    color: #38bdf8;

    text-decoration: none;

    font-weight: 700;
}


/* =====================================================
RESPONSIVE
===================================================== */

@media(max-width: 600px)
{
    .auth-box
    {
        padding: 28px;
    }

    .auth-header h1
    {
        font-size: 28px;
    }
}