
/* =========================================================
   HERO
   ========================================================= */

.login-hero
{
    max-width: min(48rem, 92vw);
    margin: 2rem auto 1.5rem auto;
    text-align: center;
    color: #eef3ff;
}

.login-hero h1
{
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 0.6rem;
}

.login-hero p
{
    font-size: 1.3rem;
    opacity: 0.9;
}

/* =========================================================
   AUTH TITLES
   ========================================================= */

.auth-title
{
    font-size: 1.6rem;
    font-weight: 800;
    text-align: center;
    color: #fff;
    margin: 0 0 1.2rem 0;
}

.pane-title
{
    font-size: 1.4rem;
    font-weight: 700;
    color: #eaf1ff;
    text-align: left;
    margin: 0 0 0.6rem 0;
}

[hidden]
{
    display: none !important;
}

/* =========================================================
   ALERTS
   ========================================================= */

.alert
{
    width: 100%;
    max-width: min(40rem, 92vw);
    margin: 0 auto 1rem auto;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    font-size: 1rem;
    line-height: 1.4;
    box-sizing: border-box;
}

.alert.success
{
    background: rgba(29, 89, 58, 0.9);
    color: #d9fdd3;
}

.alert.error
{
    background: rgba(112, 18, 18, 0.9);
    color: #ffe7ea;
}

/* =========================================================
   RESEND
   ========================================================= */

.resend
{
    width: 100%;
    max-width: min(40rem, 92vw);
    margin: 0.5rem auto 1.2rem auto;
}

.resend-btn
{
    background: linear-gradient(90deg, #00c6ff, #0072ff);
    color: #fff;
}

/* =========================================================
   AUTH WRAPPER
   ========================================================= */

.auth-wrap
{
    width: 100%;
    max-width: min(40rem, 92vw);
    margin: 0 auto;
}

/* =========================================================
   FORMS
   ========================================================= */

.auth-form
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* =========================================================
   FIELDS
   ========================================================= */

.group
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.group label
{
    color: #e6e9f0;
    font-size: 1.1rem;
}

.group input
{
    width: 100%;
    padding: 1rem;
    font-size: 1rem;
    border-radius: 1.2rem;
    border: 0.1rem solid rgba(255,255,255,0.18);
    background: rgba(233, 240, 255, 0.96);
    color: #141414;
    box-sizing: border-box;
    box-shadow:
            inset 0 0 0 0.06rem rgba(255,255,255,0.04),
            0 0.6rem 1.2rem rgba(0,0,0,0.35);
}

/* =========================================================
   REMEMBER ROW
   ========================================================= */

.remember-row
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: 1rem;
    color: #cfd7e6;
}

.remember
{
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.remember input[type="checkbox"]
{
    width: 1.2rem;
    height: 1.2rem;
}

.link
{
    color: #b8c5d8;
    text-decoration: none;
}

.link:hover
{
    text-decoration: underline;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn
{
    width: 100%;
    padding: 1rem;
    border-radius: 1.2rem;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    border: none;
    box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, .45);
}

.primary
{
    background: linear-gradient(90deg, #00c6ff, #0072ff);
    color: #fff;
}

.primary:hover
{
    opacity: 0.96;
    transform: translateY(-0.08rem);
}

/* =========================================================
   SWITCHER
   ========================================================= */

.switcher
{
    margin-top: 1.2rem;
    text-align: center;
    font-size: 1.2rem;
    color: #cfd7e6;
}

.link-btn
{
    background: none;
    border: none;
    padding: 0;
    margin-left: 0.35rem;
    color: #e7f1ff;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: underline;
    cursor: pointer;
}

/* =========================================================
   BACK BUTTON
   ========================================================= */

.btn.back
{
    width: 100%;
    margin-top: 1rem;
    background: rgba(18, 24, 36, 0.7);
    color: #e7f1ff;
    border: 0.08rem solid rgba(132, 190, 255, 0.28);
}

.btn.back:hover
{
    background: rgba(18, 24, 36, 0.85);
}

/* =========================================================
   FEATURE BOXES
   ========================================================= */

.login-features
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
    max-width: min(60rem, 94vw);
    margin: 2.5rem auto 2rem auto;
}

.feature-card
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    padding: 1.4rem 1rem;
    border-radius: 1.2rem;

    background: rgba(10, 18, 35, 0.55);
    border: 0.08rem solid rgba(120, 170, 255, 0.25);
    backdrop-filter: blur(6px);

    text-decoration: none;
    color: #eaf1ff;

    transition: transform 120ms ease, box-shadow 120ms ease;
}

.feature-card:hover
{
    transform: translateY(-0.15rem);
    box-shadow: 0 1rem 2rem rgba(0,0,0,0.45);
}

.feature-card .icon
{
    font-size: 2rem;
}

.feature-card h3
{
    font-size: 1.3rem;
    font-weight: 700;
}

.feature-card p
{
    font-size: 1.1rem;
    opacity: 0.9;
    text-align: center;
}

/* =========================================================
   FOOTER
   ========================================================= */

.login-footer
{
    display: flex;
    justify-content: center;
    gap: 0.6rem;
    margin: 2rem 0 1rem 0;
    font-size: 1.1rem;
    color: #cfd7e6;
}

.login-footer a
{
    color: #cfd7e6;
    text-decoration: none;
}

.login-footer a:hover
{
    text-decoration: underline;
}

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

@media (max-width: 48rem)
{
    .login-features
    {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
