/* Clean premium login/register on a single page.
   No panels, rem/%/vw/vh only, mobile-first. */

/* Titles */
.auth-title
{
    font-size: 1.6rem;              /* within guide */
    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;
}

/* 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;            /* vertical centering */
    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);
}

/* Text switcher (subtle, premium) */
.switcher
{
    margin-top: 1.2rem;
    text-align: center;
    font-size: 1.2rem;   /* ✅ minimum size */
    color: #cfd7e6;
}
/* Back button styled same as other buttons */
.btn.back
{
    width: 100%;
    margin-top: 1rem;       /* ✅ gap from create account */
    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);
}
.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;
}

/* Mobile comfort */
@media (max-width: 40rem)
{
    .auth-title
    {
        font-size: 1.5rem;
    }
    .group input,
    .btn
    {
        font-size: 1.1rem;
        padding: 1.05rem;        /* bigger tap targets */
    }
}
