
.auth-page{

    padding-top:34px;

}

.auth-logo{

    margin:28px 0 34px;

    font-size:24px;

    font-weight:900;

}

.auth-logo b{

    color:#ffd900;

}

.auth-desc{

    color:#888;

    font-size:13px;

    margin-bottom:26px;

}

.auth-back{

    font-size:13px;

    font-weight:700;

}

.auth-code-row{

    display:flex;

    gap:8px;

}

.auth-code-row input{

    flex:1;

    min-width:0;

}

.auth-code-btn{

    width:110px;

    border:0;

    border-radius:13px;

    background:#111;

    color:#fff;

    font-size:12px;

    font-weight:800;

}

.auth-button-link{

    display:grid;

    place-items:center;

}

.auth-foot{

    margin-top:20px;

    text-align:center;

    color:#888;

    font-size:13px;

}

.auth-foot a{

    color:#111;

    font-weight:800;

}

.account-menu{

    padding-top:0;

}

.account-row{

    min-height:58px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-bottom:1px solid #eee;

    font-size:14px;

}

.account-row b{

    font-size:20px;

    font-weight:400;

    color:#999;

}


/* AUTH_LIVE_ACCOUNT_V1 */

.auth-form-message{
    min-height:22px;
    margin:2px 0 10px;
    font-size:13px;
    line-height:1.5;
}

.auth-form-message.error{
    color:#d92d20;
}

.auth-form-message.success{
    color:#16803a;
}

.auth-page button:disabled{
    opacity:.55;
}

.auth-account-loading{
    padding:20px 0;
    color:#888;
    font-size:13px;
}

.auth-account-card{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:18px;
    padding:18px;
    border-radius:16px;
    background:#f6f6f6;
}

.auth-account-card small{
    color:#888;
    font-size:11px;
    font-weight:800;
}

.auth-account-card strong{
    overflow-wrap:anywhere;
    font-size:16px;
}

.auth-account-card span{
    color:#777;
    font-size:12px;
}

.account-logout{
    width:100%;
    height:48px;
    margin-top:24px;
    border:1px solid #ddd;
    border-radius:14px;
    background:#fff;
    color:#d92d20;
    font-weight:800;
}

.account-logout:disabled{
    opacity:.55;
}


/* AUTH_REGISTER_FORM_V1 */

.auth-page .field select{
    width:100%;
    height:50px;
    border:1px solid #ddd;
    border-radius:13px;
    background:#fff;
    padding:0 13px;
    color:#111;
    font:inherit;
}

.auth-code-btn:disabled{
    opacity:.55;
}


/* =========================================================
 * AUTH_UI_V2
 * 登录 + 我的账户
 * ========================================================= */

.auth-v2{
    height:100%;
    overflow-y:auto;
    padding:0 22px 36px;
    background:#fff;
}

.auth-v2-top{
    min-height:70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.auth-v2-back{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    margin-left:-8px;
    border-radius:50%;
    font-size:30px;
    font-weight:300;
    line-height:1;
}

.auth-v2-brand{
    font-size:17px;
    font-weight:950;
    letter-spacing:-.4px;
}

.auth-v2-brand b{
    color:#ffd900;
}

.auth-v2-intro{
    padding-top:34px;
    margin-bottom:34px;
}

.auth-v2-kicker{
    display:block;
    margin-bottom:10px;
    color:#999;
    font-size:11px;
    font-weight:850;
    letter-spacing:1.5px;
}

.auth-v2-intro h1{
    margin:0;
    font-size:34px;
    line-height:1.15;
    letter-spacing:-1.1px;
}

.auth-v2-intro p{
    max-width:310px;
    margin:13px 0 0;
    color:#777;
    font-size:14px;
    line-height:1.7;
}

.auth-v2-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.auth-v2-field{
    display:block;
}

.auth-v2-field > span{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:800;
}

.auth-v2-field input{
    width:100%;
    height:54px;
    padding:0 15px;
    border:1px solid #dedede;
    border-radius:14px;
    outline:none;
    background:#fff;
    color:#111;
    font-size:15px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.auth-v2-field input:focus{
    border-color:#111;
    box-shadow:0 0 0 1px #111;
}

.auth-v2-password{
    position:relative;
}

.auth-v2-password input{
    padding-right:64px;
}

.auth-v2-password-toggle{
    position:absolute;
    top:50%;
    right:6px;
    transform:translateY(-50%);
    height:40px;
    padding:0 10px;
    border:0;
    background:transparent;
    color:#666;
    font-size:12px;
    font-weight:800;
}

.auth-v2-helper{
    min-height:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:-5px;
}

.auth-v2-helper a{
    font-size:12px;
    font-weight:800;
}

.auth-v2-primary{
    height:54px;
    margin-top:2px;
    border-radius:14px;
    font-size:15px;
}

.auth-v2-divider{
    position:relative;
    display:flex;
    justify-content:center;
    margin:30px 0 20px;
    color:#aaa;
    font-size:11px;
}

.auth-v2-divider::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:#eee;
}

.auth-v2-divider span{
    position:relative;
    z-index:1;
    padding:0 12px;
    background:#fff;
}

.auth-v2-secondary{
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid #111;
    border-radius:14px;
    background:#fff;
    font-size:14px;
    font-weight:850;
}

.auth-v2-note{
    margin:18px 0 0;
    color:#aaa;
    font-size:11px;
    line-height:1.6;
    text-align:center;
}


/* MY ACCOUNT V2 */

.account-v2-page{
    background:#fff;
}

.account-v2-hero{
    margin:14px;
    padding:25px 20px;
    border-radius:20px;
    background:#111;
    color:#fff;
}

.account-v2-hero small{
    color:#ffd900;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
}

.account-v2-hero h1{
    margin:8px 0 4px;
    font-size:30px;
    letter-spacing:-1px;
}

.account-v2-hero p{
    margin:0;
    color:#aaa;
    font-size:12px;
}

.account-v2-menu{
    padding-top:4px;
    padding-bottom:90px;
}

.account-v2-guest{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:24px 12px 30px;
    text-align:center;
}

.account-v2-avatar{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:#ffd900;
    color:#111;
    font-size:18px;
    font-weight:950;
}

.account-v2-guest strong{
    margin-top:16px;
    font-size:19px;
}

.account-v2-guest p{
    max-width:300px;
    margin:9px auto 20px;
    color:#888;
    font-size:13px;
    line-height:1.7;
}

.account-v2-login,
.account-v2-register{
    width:100%;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:14px;
    font-size:14px;
    font-weight:850;
}

.account-v2-login{
    background:#111;
    color:#fff;
}

.account-v2-register{
    margin-top:9px;
    border:1px solid #ddd;
    background:#fff;
    color:#111;
}

.account-v2-profile{
    display:flex;
    gap:15px;
    align-items:center;
    margin:5px 0 26px;
    padding:18px;
    border-radius:18px;
    background:#f6f6f6;
}

.account-v2-profile-main{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.account-v2-profile-main small{
    color:#888;
    font-size:10px;
    font-weight:850;
    letter-spacing:.4px;
}

.account-v2-profile-main strong{
    overflow:hidden;
    margin-top:5px;
    text-overflow:ellipsis;
    font-size:15px;
    white-space:nowrap;
}

.account-v2-tags{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:8px;
}

.account-v2-tags span{
    padding:4px 7px;
    border-radius:7px;
    background:#fff;
    color:#666;
    font-size:10px;
    font-weight:750;
}

.account-v2-section-title{
    margin-top:22px;
    padding:0 0 8px;
    color:#999;
    font-size:11px;
    font-weight:850;
}

.account-v2-row{
    min-height:56px;
}

.account-v2-row em,
.account-v2-row small{
    color:#aaa;
    font-size:11px;
    font-style:normal;
    font-weight:500;
}


/* AUTH_REGISTER_SUCCESS_V1 */

.auth-register-success{
    padding:28px 0 10px;
    text-align:center;
}

.auth-register-success-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border-radius:50%;
    background:#ffd900;
    color:#111;
    font-size:28px;
    font-weight:900;
}

.auth-register-success h2{
    margin:0;
    font-size:26px;
    font-weight:900;
}

.auth-register-success p{
    margin:12px 0 28px;
    color:#888;
    font-size:13px;
    line-height:1.6;
}

.auth-register-success-login{
    text-decoration:none;
}



/* =========================================================
 * AUTH_IOS_VIEWPORT_FIX_V1
 * 防止 iPhone Safari 聚焦表单后自动放大整个 SPA
 * ========================================================= */

@media (max-width:720px){

    .auth-page input,
    .auth-page select,
    .auth-page textarea{
        font-size:16px !important;
    }

}


/* 登录后账户页严格限制在 App Shell 宽度内 */

.account-v2-page{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
    box-sizing:border-box;
}

.account-v2-page *,
.account-v2-page *::before,
.account-v2-page *::after{
    box-sizing:border-box;
}

.account-v2-menu,
.account-v2-profile,
.account-v2-profile-main,
.account-v2-row{
    min-width:0;
    max-width:100%;
}

.account-v2-row > span{
    min-width:0;
}

.account-v2-row > small,
.account-v2-row > em{
    min-width:0;
    max-width:55%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:right;
}

.account-logout{
    display:block;
    width:100%;
    min-height:52px;
    margin:28px 0 8px;
    border:1px solid #e3e3e3;
    border-radius:14px;
    background:#fff;
    color:#d92d20;
    font-size:14px;
    font-weight:850;
}



/* =========================================================
 * ACCOUNT_APP_SCROLL_V1
 * 我的页面继续遵守永久 App Shell：
 * 只允许页面内容纵向滚动，禁止横向滚动
 * ========================================================= */

.account-v2-page{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;

    overflow-x:hidden;
    overflow-y:auto;

    overscroll-behavior-x:none;
    -webkit-overflow-scrolling:touch;

    padding-bottom:
        calc(
            18px
            + env(safe-area-inset-bottom,0px)
        );
}

.account-v2-page .account-v2-hero,
.account-v2-page .account-v2-menu{
    width:auto;
    max-width:100%;
}

.account-v2-page .account-v2-profile{
    width:100%;
    max-width:100%;
}

.account-v2-page .account-logout{
    display:block;
    width:100%;
    margin-top:28px;
    margin-bottom:18px;
}



/* =========================================================
 * ACCOUNT_STICKY_HEADER_V1
 * 我的页面：顶部固定 + 内容独立滚动
 * ========================================================= */

.account-v2-hero{
    position:sticky;
    top:0;
    z-index:30;

    margin:0;
    padding:18px 20px 17px;

    border-radius:0 0 20px 20px;

    background:#111;
    color:#fff;
}

.account-v2-hero small{
    font-size:10px;
    line-height:1.2;
}

.account-v2-hero h1{
    margin:6px 0 2px;
    font-size:27px;
    line-height:1.15;
}

.account-v2-hero p{
    margin:0;
    font-size:12px;
    line-height:1.5;
}

.account-v2-menu{
    padding-top:22px;
}



/* ACCOUNT_SHELL_HEADER_V2 */

/*
 * 完全按照首页 App Shell 思路：
 *
 * account-v2-page
 * ├── account-v2-hero   固定层，不参与滚动
 * └── account-v2-menu   唯一纵向滚动层
 *
 * global-bottom-nav 继续由外层 App Shell 永久持有。
 */

.account-v2-page{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;

    display:grid;
    grid-template-rows:auto minmax(0,1fr);

    overflow:hidden;

    background:#fff;
}


/* 顶部是真固定层，不再 sticky */

.account-v2-page .account-v2-hero{
    position:relative;
    top:auto;
    z-index:20;

    width:100%;
    max-width:none;

    margin:0;

    padding:12px 20px 11px;

    border-radius:0;

    background:#111;
    color:#fff;
}


/* 再压低一些 */

.account-v2-page .account-v2-hero small{
    display:block;

    margin:0;

    font-size:9px;
    line-height:1.2;

    font-weight:900;
    letter-spacing:1.4px;
}


.account-v2-page .account-v2-hero h1{
    margin:5px 0 1px;

    font-size:25px;
    line-height:1.08;

    letter-spacing:-.8px;
}


.account-v2-page .account-v2-hero p{
    margin:0;

    color:#aaa;

    font-size:11px;
    line-height:1.4;
}


/* 中间这一层才允许滚 */

.account-v2-page .account-v2-menu{
    width:100%;
    min-width:0;
    min-height:0;
    max-width:100%;

    margin:0;

    padding-top:20px;
    padding-bottom:28px;

    overflow-x:hidden;
    overflow-y:auto;

    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;

    -webkit-overflow-scrolling:touch;
}


/* 防止内部任何内容撑破 App 宽度 */

.account-v2-page .account-v2-menu > *,
.account-v2-page .account-v2-profile,
.account-v2-page .account-v2-row{
    max-width:100%;
    min-width:0;
}



/* =========================================================
 * LOGIN_APP_HEADER_V1
 * 登录页顶部导航固定，正文独立滚动
 * ========================================================= */

.auth-v2{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;

    display:grid;
    grid-template-rows:auto minmax(0,1fr);

    padding:0;

    overflow:hidden;

    background:#fff;
}


.auth-v2 .auth-v2-top{
    position:relative;
    z-index:20;

    width:100%;
    height:66px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 22px;

    box-sizing:border-box;

    flex-shrink:0;

    background:#fff;
}


.auth-v2 .auth-v2-back{
    margin-left:-8px;
}


.auth-v2 .auth-v2-body{
    min-width:0;
    min-height:0;

    padding:0 22px 34px;

    overflow-x:hidden;
    overflow-y:auto;

    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;

    -webkit-overflow-scrolling:touch;
}


.auth-v2 .auth-v2-intro{
    padding-top:26px;
}



/* =========================================================
 * ACCOUNT_QUICK_ACTIONS_V1
 * 我的订单 / 我的钱包 / 我的关注 / 我的收藏
 * 视觉：轻线条、弱工具感、商城 App 快捷入口
 * ========================================================= */

.account-v2-page .account-v2-profile{
    margin-bottom:14px;
}

.account-v2-quick-actions{
    width:100%;

    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;

    margin:0;
    padding:8px 0 18px;

    border-bottom:1px solid #ededed;
}

.account-v2-quick-action{
    min-width:0;
    min-height:78px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:10px;

    padding:7px 2px;

    border:0;
    border-radius:14px;

    background:transparent;
    color:#111;

    font:inherit;
    font-size:12.5px;
    font-weight:600;
    line-height:1.2;

    text-align:center;
    text-decoration:none;

    appearance:none;
    -webkit-appearance:none;
    -webkit-tap-highlight-color:transparent;
}

.account-v2-quick-action svg{
    width:28px;
    height:28px;

    display:block;

    fill:none;
    stroke:currentColor;

    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.account-v2-quick-action span{
    width:100%;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.account-v2-quick-action:active{
    background:#f7f7f7;
    transform:scale(.97);
}




/* =========================================================
 * ACCOUNT_HERO_PROFILE_V1
 * 登录后：账户身份合并进入顶部固定黑色 Header
 * ========================================================= */

.account-v2-hero-copy{
    min-width:0;
}

.account-v2-hero-account{
    display:none;
    min-width:0;
}


/* 登录后顶部压缩成左右双区 */

.account-v2-page.account-v2-authenticated
.account-v2-hero{
    display:grid;
    grid-template-columns:
        94px
        minmax(0,1fr);

    align-items:center;
    gap:14px;

    padding:
        12px
        18px
        13px;
}


/* 登录后副标题让位给真实账户资料 */

.account-v2-page.account-v2-authenticated
.account-v2-hero-copy p{
    display:none;
}


.account-v2-page.account-v2-authenticated
.account-v2-hero-copy h1{
    margin-top:5px;
    font-size:25px;
}


/* 右侧真实账户摘要 */

.account-v2-page.account-v2-authenticated
.account-v2-hero-account{
    min-width:0;

    display:grid;
    grid-template-columns:
        48px
        minmax(0,1fr);

    align-items:center;
    gap:10px;
}


.account-v2-hero-account-avatar{
    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#ffd900;
    color:#111;

    font-size:17px;
    font-weight:950;
}


.account-v2-hero-account-main{
    min-width:0;

    display:flex;
    flex-direction:column;
}


.account-v2-hero-account-main > small{
    color:#9c9c9c;

    font-size:10px;
    font-weight:800;
    letter-spacing:.5px;
}


.account-v2-hero-account-main > strong{
    overflow:hidden;

    margin-top:3px;

    color:#fff;

    font-size:14.5px;
    font-weight:750;
    line-height:1.25;

    text-overflow:ellipsis;
    white-space:nowrap;
}


.account-v2-hero-account-tags{
    min-width:0;

    display:flex;
    align-items:center;
    gap:5px;

    margin-top:7px;
}


.account-v2-hero-account-tags span{
    min-width:0;

    padding:
        3px
        6px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:6px;

    background:
        rgba(255,255,255,.08);

    color:#d8d8d8;

    font-size:9px;
    font-weight:650;
    line-height:1.2;

    white-space:nowrap;
}


/* 原客户卡取消后，快捷入口直接承接 Header */

.account-v2-page.account-v2-authenticated
.account-v2-menu{
    padding-top:10px;
}


.account-v2-page.account-v2-authenticated
.account-v2-quick-actions{
    margin-top:0;
}


/* 较窄手机进一步收紧 */

@media (max-width:370px){

    .account-v2-page.account-v2-authenticated
    .account-v2-hero{
        grid-template-columns:
            86px
            minmax(0,1fr);

        gap:10px;

        padding-left:15px;
        padding-right:15px;
    }

    .account-v2-page.account-v2-authenticated
    .account-v2-hero-account{
        grid-template-columns:
            43px
            minmax(0,1fr);

        gap:8px;
    }

    .account-v2-hero-account-avatar{
        width:43px;
        height:43px;
        font-size:15px;
    }

}



/* AUTH_REGISTER_SMALL_SCREEN_SCROLL_V1 */
/*
 * 注册页自身成为唯一纵向滚动层。
 * 外层 App Shell 与 global-bottom-nav 保持不动。
 * 解决 iPhone XS 等较矮视口底部内容被 page-root 裁掉的问题。
 */
.auth-register-scroll{
    width:100%;
    height:100%;
    min-height:0;

    overflow-x:hidden;
    overflow-y:auto;

    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;

    -webkit-overflow-scrolling:touch;

    padding-bottom:
        calc(
            34px
            + env(safe-area-inset-bottom,0px)
        );

    box-sizing:border-box;
}


/* AUTH_BOTTOM_GAP_COMPACT_V1 */
/*
 * 登录 / 注册 / 找回密码：
 * App Shell 已单独持有 global-bottom-nav，
 * 认证页不再保留旧版 .app 的 72px 底部占位。
 */
.auth-app{
    padding-bottom:0;
}


/*
 * 登录页：
 * 空消息区域不再永久占高度，
 * 让“忘记密码 → 登录 → 创建账户”整体上提。
 */
.auth-v2 .auth-form-message{
    min-height:0;
    margin:0;
}

.auth-v2 .auth-form-message:empty{
    display:none;
}

.auth-v2 .auth-v2-divider{
    margin:20px 0 14px;
}

