
/* =========================================================
   Login / Register Page CSS
   用途：登录、注册、忘记密码入口、社交登录展示
   命名：登录注册相关 class 统一使用 auth_ 前缀
========================================================= */

.auth_page{
    min-height:calc(100vh - var(--site_header_height));  margin-bottom: 20px;
}

.auth_shell{
    width:min(1120px, calc(100% - 48px));
    margin:54px auto 0;
    display:grid;
    grid-template-columns:1fr 480px;
    gap:32px;
    align-items:stretch;
}

.auth_brand_panel{
    position:relative;
    overflow:hidden;
    min-height:520px;
    background:linear-gradient(145deg,#111 0%,#2d2924 56%,#b8945c 145%);
    color:#fff;
    box-shadow:var(--site_shadow_card);
}

.auth_brand_panel:before{
    content:"";
    position:absolute;
    right:-120px;
    top:-100px;
    width:380px;
    height:380px;
    border-radius:50%;
    background:rgba(255,255,255,.09);
}

.auth_brand_inner{
    position:relative;
    z-index:1;
    height:100%;
    padding:42px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.auth_brand_logo{
    font-size:18px;
    font-weight:900;
    letter-spacing:.28em;
}

.auth_brand_title{
    margin:0;
    font-size:48px;
    line-height:1.02;
    letter-spacing:-.06em;
    max-width:520px;
}

.auth_brand_desc{
    margin:18px 0 0;
    max-width:460px;
    color:rgba(255,255,255,.70);
    line-height:1.75;
}

.auth_brand_benefits{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:28px;
}

.auth_brand_benefit{
    padding:16px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.82);
    font-size:13px;
    line-height:1.5;
}

.auth_form_panel{
    padding:34px;
    border:1px solid var(--site_color_border);
    background:rgba(255,255,255,.92);
    box-shadow:var(--site_shadow_card);
}

.auth_form_kicker{
    margin:0 0 8px;
    color:var(--site_color_gold_dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.auth_form_title{
    margin:0;
    color:#111;
    font-size:34px;
    line-height:1.08;
    letter-spacing:-.05em;
}

.auth_form_desc{
    margin:12px 0 26px;
    color:var(--site_color_muted);
    line-height:1.7;
}

.auth_form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.auth_form_row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.auth_form_group{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.auth_form_label{
    color:#2c2925;
    font-size:13px;
    font-weight:900;
}

.auth_form_input{
    width:100%;
    min-height:52px;
    border:1px solid var(--site_color_border);
    background:#fff;
    outline:0;
    padding:0 16px;
    color:#111;
}

.auth_form_input:focus{
    border-color:#111;
    box-shadow:0 0 0 4px rgba(17,17,17,.06);
}

.auth_form_tools{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:var(--site_color_muted);
    font-size:13px;
}

.auth_remember{
    display:flex;
    align-items:center;
    gap:8px;
}

.auth_remember input{
    width:17px;
    height:17px;
    accent-color:#111;
}

.auth_link{
    color:#111;
    font-weight:900;
}

.auth_submit_btn{
    width:100%;
    min-height:52px;
    border:0;
    background:#111;
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.auth_divider{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--site_color_muted);
    font-size:12px;
    margin:8px 0;
}

.auth_divider:before,
.auth_divider:after{
    content:"";
    flex:1;
    height:1px;
    background:var(--site_color_border);
}

.auth_social_btn{
    width:100%;
    min-height:50px;
    border:1px solid var(--site_color_border);
    background:#fff;
    color:#111;
    font-weight:900;
}

.auth_switch{
    margin:20px 0 0;
    text-align:center;
    color:var(--site_color_muted);
    font-size:14px;
}

@media (max-width: 980px){
    .auth_shell{
        grid-template-columns:1fr;
    }

    .auth_brand_panel{
        min-height:380px;
    }
}

@media (max-width: 640px){
    .auth_shell{
        width:calc(100% - 28px);
        margin-top:30px;
    }

    .auth_brand_panel{
        display:none;
    }

    .auth_form_panel{
        padding:24px;
    }

    .auth_form_row{
        grid-template-columns:1fr;
    }

    .auth_form_tools{
        align-items:flex-start;
        flex-direction:column;
    }
}
