.luxury-body{
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","SF Pro Display","Helvetica Neue",sans-serif!important;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* ===== 顶部导航 ===== */
body.login-page .login-pc-header,
body.reg-page .reg-pc-header{
    background:#fff!important;
    border-bottom:1px solid #eef2f6!important;
    height:70px!important;
    padding:0 50px!important;
    box-shadow:0 1px 8px rgba(0,0,0,.04)!important;
}
body.login-page .login-pc-header .logo,
body.reg-page .reg-pc-header .logo{
    width:48px!important;
    height:48px!important;
    border-radius:10px!important;
    font-size:22px!important;
}
body.login-page .login-pc-header .logo-text,
body.reg-page .reg-pc-header .logo-text{
    font-size:20px!important;
    font-weight:700!important;
    color:#1a1a2e!important;
    margin-left:12px!important;
}
body.login-page .login-pc-header nav,
body.reg-page .reg-pc-header nav{
    gap:8px!important;
}
body.login-page .login-pc-header nav a,
body.reg-page .reg-pc-header nav a{
    padding:8px 18px!important;
    font-size:14px!important;
    font-weight:500!important;
    color:#4a5568!important;
    border-radius:22px!important;
    transition:all .25s!important;
}
body.login-page .login-pc-header nav a:hover,
body.reg-page .reg-pc-header nav a:hover{
    background:#f0f7ff!important;
    color:#00A0E9!important;
}
body.login-page .login-pc-header .phone,
body.reg-page .reg-pc-header .phone{
    font-size:16px!important;
    font-weight:700!important;
    color:#00A0E9!important;
    gap:8px!important;
}
body.login-page .login-pc-header .phone svg,
body.reg-page .reg-pc-header .phone svg{
    width:20px!important;
    height:20px!important;
    fill:#00A0E9!important;
}

/* ===== 主背景 ===== */
body.login-page .login-main,
body.reg-page .reg-main{
    background:#f7f9fc!important;
    position:relative;
    overflow:hidden;
    padding:40px 16px!important;
}

/* ===== 分栏容器 ===== */
@media(min-width:1024px){
    body.login-page .login-split,
    body.reg-page .reg-split{
        max-width:1000px!important;
        min-height:auto!important;
        background:#fff!important;
        border-radius:20px!important;
        box-shadow:
            0 4px 20px rgba(0,0,0,.04),
            0 20px 60px rgba(0,0,0,.06)!important;
        border:1px solid #eef2f7!important;
        overflow:hidden;
    }

    /* 左侧面板 */
    body.login-page .login-split-left,
    body.reg-page .reg-split-left{
        background:
            linear-gradient(180deg, rgba(0,70,120,.85) 0%, rgba(0,100,160,.9) 100%),
            url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")!important;
        padding:60px 50px!important;
    }

    body.login-page .login-split-left::before,
    body.login-page .login-split-left::after,
    body.reg-page .reg-split-left::before,
    body.reg-page .reg-split-left::after{
        display:none!important;
    }

    body.login-page .login-split-left h2,
    body.reg-page .reg-split-left h2{
        font-size:28px!important;
        font-weight:700!important;
        color:#fff!important;
        line-height:1.4!important;
        margin-bottom:12px!important;
        letter-spacing:-.3px!important;
    }
    body.login-page .login-split-left .subtitle,
    body.reg-page .reg-split-left .subtitle{
        font-size:14px!important;
        color:rgba(255,255,255,.85)!important;
        line-height:1.8!important;
        margin-bottom:40px!important;
    }

    /* 特性列表 */
    body.login-page .login-split-left .feature-list,
    body.reg-page .reg-split-left .feature-list{
        margin-bottom:40px!important;
    }
    body.login-page .login-split-left .feature-item,
    body.reg-page .reg-split-left .feature-item{
        font-size:14px!important;
        color:rgba(255,255,255,.92)!important;
        margin-bottom:14px!important;
        gap:10px!important;
    }
    body.login-page .login-split-left .feature-item .check,
    body.reg-page .reg-split-left .feature-item .check{
        width:22px!important;
        height:22px!important;
        background:rgba(255,255,255,.2)!important;
        border:1px solid rgba(255,255,255,.3)!important;
    }
    body.login-page .login-split-left .feature-item .check svg,
    body.reg-page .reg-split-left .feature-item .check svg{
        width:12px!important;
        height:12px!important;
    }

    /* 数据统计 */
    body.login-page .login-split-left .stats,
    body.reg-page .reg-split-left .stats{
        display:grid!important;
        grid-template-columns:repeat(2,1fr)!important;
        gap:20px!important;
        margin-top:0!important;
        padding-top:28px!important;
        border-top:1px solid rgba(255,255,255,.15)!important;
    }
    body.login-page .login-split-left .stat-item,
    body.reg-page .reg-split-left .stat-item{
        text-align:left!important;
    }
    body.login-page .login-split-left .stat-num,
    body.reg-page .reg-split-left .stat-num{
        font-size:24px!important;
        font-weight:700!important;
        color:#fff!important;
        letter-spacing:-.3px!important;
    }
    body.login-page .login-split-left .stat-label,
    body.reg-page .reg-split-left .stat-label{
        font-size:12px!important;
        color:rgba(255,255,255,.7)!important;
        margin-top:4px!important;
    }

    /* 右侧表单区 */
    body.login-page .login-split-right,
    body.reg-page .reg-split-right{
        padding:60px 60px!important;
        background:#fff!important;
    }
    body.login-page .login-split-right .login-card,
    body.reg-page .reg-split-right .reg-card{
        background:transparent!important;
        backdrop-filter:none!important;
        box-shadow:none!important;
        border:none!important;
        padding:0!important;
        max-width:100%!important;
        width:100%!important;
    }
}

/* ===== 品牌区域 ===== */
body.login-page .login-brand,
body.reg-page .reg-brand{
    margin-bottom:32px!important;
    text-align:left!important;
}
body.login-page .login-brand .brand-logo,
body.reg-page .reg-brand .brand-logo{
    display:none!important;
}
body.login-page .login-brand h1,
body.reg-page .reg-brand h1{
    font-size:26px!important;
    font-weight:700!important;
    color:#1a1a2e!important;
    margin-bottom:8px!important;
    letter-spacing:-.4px!important;
}
body.login-page .login-brand p,
body.reg-page .reg-brand p{
    font-size:14px!important;
    color:#718096!important;
    font-weight:400!important;
    line-height:1.6!important;
}

/* ===== 表单 ===== */
body.login-page .form-group,
body.reg-page .form-group{
    margin-bottom:20px!important;
}
body.login-page .form-group label,
body.reg-page .form-group label{
    font-size:14px!important;
    font-weight:600!important;
    color:#2d3748!important;
    margin-bottom:8px!important;
}

body.login-page .input-wrap,
body.reg-page .input-wrap{
    position:relative;
}

body.login-page .form-control,
body.reg-page .form-control{
    height:48px!important;
    border:1.5px solid #e2e8f0!important;
    border-radius:10px!important;
    background:#fff!important;
    font-size:14px!important;
    color:#1a202c!important;
    padding:0 14px 0 42px!important;
    transition:all .25s ease!important;
    font-weight:500!important;
}
body.login-page .form-control::placeholder,
body.reg-page .form-control::placeholder{
    color:#a0aec0!important;
    font-weight:400;
}
body.login-page .form-control:hover,
body.reg-page .form-control:hover{
    border-color:#cbd5e0!important;
}
body.login-page .form-control:focus,
body.reg-page .form-control:focus{
    border-color:#00A0E9!important;
    box-shadow:0 0 0 3px rgba(0,160,233,.1)!important;
    background:#fff!important;
}

/* 输入框图标 */
body.login-page .input-wrap svg,
body.reg-page .input-wrap svg{
    width:18px!important;
    height:18px!important;
    left:14px!important;
    fill:#a0aec0!important;
    transition:all .25s ease!important;
}
body.login-page .input-wrap:focus-within svg,
body.reg-page .input-wrap:focus-within svg{
    fill:#00A0E9!important;
}

/* 密码切换按钮 */
body.login-page .pwd-toggle,
body.reg-page .pwd-toggle{
    right:10px!important;
    padding:6px!important;
    border-radius:8px!important;
    transition:background .2s!important;
}
body.login-page .pwd-toggle:hover,
body.reg-page .pwd-toggle:hover{
    background:#f7fafc!important;
}
body.login-page .pwd-toggle svg,
body.reg-page .pwd-toggle svg{
    width:18px!important;
    height:18px!important;
    fill:#a0aec0!important;
}

/* ===== 记住我/忘记密码 ===== */
body.login-page .form-row{
    margin-bottom:24px!important;
}
body.login-page .remember-check,
body.reg-page .agree-check{
    gap:8px!important;
}
body.login-page .remember-check input,
body.reg-page .agree-check input{
    width:16px!important;
    height:16px!important;
    accent-color:#00A0E9;
    border-radius:4px!important;
}
body.login-page .remember-check span,
body.reg-page .agree-check span{
    font-size:13px!important;
    color:#718096!important;
    font-weight:400!important;
}
body.login-page .forgot-link{
    font-size:13px!important;
    color:#00A0E9!important;
    font-weight:500!important;
}
body.login-page .forgot-link:hover{
    color:#008AC4!important;
    text-decoration:underline!important;
}

/* ===== 提交按钮 ===== */
body.login-page .btn-login,
body.reg-page .btn-register{
    height:48px!important;
    border-radius:10px!important;
    background:linear-gradient(135deg, #00A0E9 0%, #008AC4 100%)!important;
    font-size:15px!important;
    font-weight:600!important;
    letter-spacing:.5px!important;
    color:#fff!important;
    box-shadow:0 4px 12px rgba(0,160,233,.25)!important;
    transition:all .3s ease!important;
    position:relative;
    overflow:hidden;
}
body.login-page .btn-login::before,
body.reg-page .btn-register::before{
    content:"";position:absolute;top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
    transition:left .6s ease;
}
body.login-page .btn-login:hover,
body.reg-page .btn-register:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 6px 20px rgba(0,160,233,.3)!important;
}
body.login-page .btn-login:hover::before,
body.reg-page .btn-register:hover::before{
    left:100%;
}
body.login-page .btn-login:active,
body.reg-page .btn-register:active{
    transform:translateY(0) scale(.99)!important;
}

/* ===== 分割线 ===== */
body.login-page .divider{
    margin:24px 0!important;
    color:#a0aec0!important;
    font-size:12px!important;
    font-weight:400!important;
}
body.login-page .divider::before,
body.login-page .divider::after,
body.reg-page .divider::before,
body.reg-page .divider::after{
    background:#edf2f7!important;
    height:1px!important;
}

/* ===== 第三方登录 ===== */
body.login-page .quick-login{
    gap:16px!important;
}
body.login-page .quick-login button,
body.reg-page .quick-login button{
    width:44px!important;
    height:44px!important;
    border-radius:10px!important;
    border:1.5px solid #e2e8f0!important;
    background:#fff!important;
    transition:all .25s ease!important;
}
body.login-page .quick-login button:hover,
body.reg-page .quick-login button:hover{
    border-color:#00A0E9!important;
    transform:translateY(-2px)!important;
    box-shadow:0 4px 12px rgba(0,160,233,.15)!important;
}
body.login-page .quick-login svg,
body.reg-page .quick-login svg{
    width:20px!important;
    height:20px!important;
}

/* ===== 底部 ===== */
body.login-page .login-bottom,
body.reg-page .reg-bottom{
    margin-top:28px!important;
    padding-top:24px!important;
    border-top:1px solid #edf2f7!important;
    text-align:center;
}
body.login-page .login-bottom p,
body.reg-page .reg-bottom p{
    font-size:14px!important;
    color:#718096!important;
    font-weight:400!important;
}
body.login-page .login-bottom a,
body.reg-page .reg-bottom a{
    color:#00A0E9!important;
    font-weight:600!important;
    margin-left:4px!important;
}
body.login-page .login-bottom a:hover,
body.reg-page .reg-bottom a:hover{
    color:#008AC4!important;
    text-decoration:underline!important;
}
body.login-page .login-bottom .contact-hint,
body.reg-page .reg-bottom .contact-hint{
    font-size:12px!important;
    color:#a0aec0!important;
    margin-top:10px!important;
    font-weight:400!important;
}
body.login-page .login-bottom .contact-hint strong,
body.reg-page .reg-bottom .contact-hint strong{
    color:#00A0E9!important;
    font-weight:600!important;
}

/* ===== 提示框 ===== */
body.login-page .alert,
body.reg-page .alert{
    padding:12px 14px!important;
    border-radius:10px!important;
    font-size:13px!important;
    font-weight:500!important;
    margin-bottom:20px!important;
}
body.login-page .alert-error,
body.reg-page .alert-error{
    background:#fff5f5!important;
    color:#c53030!important;
    border:1px solid #feb2b2!important;
    border-left:3px solid #fc8181!important;
}
body.login-page .alert-success,
body.reg-page .alert-success{
    background:#f0fff4!important;
    color:#2f855a!important;
    border:1px solid #9ae6b4!important;
    border-left:3px solid #68d391!important;
}
body.login-page .alert svg,
body.reg-page .alert svg{
    width:18px!important;
    height:18px!important;
}

/* ===== 移动端优化（全屏白色铺满） ===== */
@media(max-width:767px){
    html,
    html body,
    body.login-page,
    body.reg-page{
        background:#fff!important;
        min-height:100%!important;
        height:100%!important;
        overflow:hidden!important;
    }
    body.login-page .mobile-only,
    body.reg-page .mobile-only{
        display:flex!important;
        flex-direction:column!important;
        min-height:100vh!important;
        min-height:calc(var(--app-height, 1vh) * 100)!important;
        height:100vh!important;
        height:calc(var(--app-height, 1vh) * 100)!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    body.login-page .login-main,
    body.reg-page .reg-main{
        flex:1!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:center!important;
        background:#fff!important;
        padding:0!important;
        min-height:0!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
    body.login-page .login-main{
        align-items:flex-start!important;
        overflow-y:hidden!important;
    }
    body.login-page .login-split,
    body.reg-page .reg-split,
    body.login-page .login-split-right,
    body.reg-page .reg-split-right{
        min-height:0!important;
        height:100%!important;
        max-height:none!important;
        width:100%!important;
        display:flex!important;
        flex-direction:column!important;
        flex:1!important;
    }
    body.login-page .login-split,
    body.login-page .login-split-right{
        height:auto!important;
        display:block!important;
        flex:0 1 auto!important;
    }
    body.login-page .login-card,
    body.reg-page .reg-card{
        background:#fff!important;
        border-radius:0!important;
        padding:20px 16px 24px!important;
        box-shadow:none!important;
        border:none!important;
        backdrop-filter:none!important;
        flex:1!important;
        width:100%!important;
        max-width:100%!important;
        display:flex!important;
        flex-direction:column!important;
    }
    body.login-page .login-card{
        flex:0 1 auto!important;
        display:block!important;
    }

    /* 移动端品牌 */
    body.login-page .login-brand,
    body.reg-page .reg-brand{
        margin-bottom:12px!important;
        text-align:left!important;
    }
    body.login-page .login-brand .brand-logo,
    body.reg-page .reg-brand .brand-logo{
        width:40px!important;
        height:40px!important;
        font-size:18px!important;
        border-radius:10px!important;
        margin-bottom:6px!important;
        box-shadow:0 2px 8px rgba(0,160,233,.25)!important;
    }
    body.login-page .login-brand h1,
    body.reg-page .reg-brand h1{
        font-size:19px!important;
        margin-bottom:2px!important;
        color:#1a1a2e!important;
    }
    body.login-page .login-brand p,
    body.reg-page .reg-brand p{
        font-size:12px!important;
        color:#718096!important;
    }

    /* 移动端表单 */
    body.login-page .form-group,
    body.reg-page .form-group{
        margin-bottom:10px!important;
    }
    body.login-page .form-group label,
    body.reg-page .form-group label{
        font-size:13px!important;
        margin-bottom:4px!important;
    }
    body.login-page .form-control,
    body.reg-page .form-control{
        height:44px!important;
        font-size:15px!important;
        border-radius:10px!important;
        padding-left:42px!important;
        padding-right:14px!important;
    }
    body.login-page .input-wrap svg,
    body.reg-page .input-wrap svg{
        width:18px!important;
        height:18px!important;
        left:14px!important;
    }
    body.login-page .pwd-toggle,
    body.reg-page .pwd-toggle{
        right:10px!important;
        padding:6px!important;
    }
    body.login-page .pwd-toggle svg,
    body.reg-page .pwd-toggle svg{
        width:20px!important;
        height:20px!important;
    }
    body.login-page .form-row,
    body.reg-page .agree-row{
        margin-bottom:12px!important;
        align-items:center!important;
    }
    body.login-page .remember-check span,
    body.reg-page .agree-check span{
        font-size:13px!important;
    }
    body.reg-page .agree-check input{
        width:16px!important;
        height:16px!important;
    }
    body.reg-page .agree-check span{
        font-size:12px!important;
        line-height:1.4!important;
    }

    /* 移动端按钮 */
    body.login-page .btn-login,
    body.reg-page .btn-register{
        height:44px!important;
        font-size:16px!important;
        border-radius:999px!important;
        box-shadow:0 4px 14px rgba(0,160,233,.25)!important;
    }

    /* 移动端底部 */
    body.login-page .login-bottom,
    body.reg-page .reg-bottom{
        margin-top:10px!important;
        padding-top:10px!important;
        border-top:1px solid #f0f2f5!important;
        text-align:center!important;
    }
    body.login-page .login-bottom p,
    body.reg-page .reg-bottom p{
        font-size:13px!important;
        margin-bottom:0!important;
    }
    body.login-page .login-bottom a,
    body.reg-page .reg-bottom a{
        font-size:13px!important;
    }
    body.login-page .login-bottom .contact-hint,
    body.reg-page .reg-bottom .contact-hint{
        display:none!important;
    }

    /* 移动端第三方登录（当前未启用，隐藏以节省空间） */
    body.login-page .divider,
    body.login-page .quick-login{
        display:none!important;
    }

    /* 移动端提示框 */
    body.login-page .alert,
    body.reg-page .alert{
        padding:10px 12px!important;
        margin-bottom:10px!important;
        font-size:13px!important;
        border-radius:8px!important;
    }
}

/* ===== Footer ===== */
body.login-page .login-footer,
body.reg-page .reg-footer{
    background:#1a202c!important;
    color:#718096!important;
    padding:20px 16px!important;
    text-align:center!important;
    font-size:12px!important;
    border-top:none!important;
}
body.login-page .login-footer a,
body.reg-page .reg-footer a{
    color:#a0aec0!important;
}
body.login-page .login-footer a:hover,
body.reg-page .reg-footer a:hover{
    color:#fff!important;
}

/* ===== 移除之前的装饰元素 ===== */
body.login-page .login-main::before,
body.login-page .login-main::after,
body.reg-page .reg-main::before,
body.reg-page .reg-main::after{
    display:none!important;
}
body.login-page .login-card::before,
body.reg-page .reg-card::before{
    display:none!important;
}

/* ===== 移动端最终兜底：登录/注册卡片全屏铺满白色背景，消除底部灰色区域 ===== */
@media(max-width:767px){
    html,body,body.login-page,body.reg-page{
        min-height:100%!important;
        height:100%!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    body.login-page .mobile-only,
    body.reg-page .mobile-only{
        display:flex!important;
        flex-direction:column!important;
        min-height:100vh!important;
        min-height:calc(var(--app-height, 1vh) * 100)!important;
        height:100vh!important;
        height:calc(var(--app-height, 1vh) * 100)!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    body.login-page .pc-only,body.reg-page .pc-only,
    body.login-page .login-footer,body.reg-page .reg-footer{
        display:none!important;
    }
    body.login-page .login-main,body.reg-page .reg-main{
        flex:1!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:center!important;
        min-height:0!important;
        padding:0!important;
        background:#fff!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
    body.login-page .login-main{
        align-items:flex-start!important;
        overflow-y:hidden!important;
    }
    body.login-page .login-split,body.reg-page .reg-split,
    body.login-page .login-split-right,body.reg-page .reg-split-right{
        min-height:0!important;
        height:100%!important;
        max-height:none!important;
        width:100%!important;
        display:flex!important;
        flex-direction:column!important;
        flex:1!important;
    }
    body.login-page .login-split,
    body.login-page .login-split-right{
        height:auto!important;
        display:block!important;
        flex:0 1 auto!important;
    }
    body.login-page .login-card,body.reg-page .reg-card{
        background:#fff!important;
        box-shadow:none!important;
        border:none!important;
        border-radius:0!important;
        padding:20px 16px 24px!important;
        flex:1!important;
        width:100%!important;
        max-width:100%!important;
        display:flex!important;
        flex-direction:column!important;
    }
    body.login-page .login-card{
        flex:0 1 auto!important;
        display:block!important;
    }
    html body.login-page .login-main{
        align-items:flex-start!important;
        overflow-y:hidden!important;
    }
    html body.login-page .login-split,
    html body.login-page .login-split-right,
    html body.login-page .login-card{
        flex:0 1 auto!important;
        display:block!important;
        height:auto!important;
    }
}
