/* ==========================================================================
   会员中心 UI 主题（ucenter v1.0）
   说明：仅做视觉重绘，不改动任何业务逻辑、接口与页面功能。
   用法：页面 head 末尾引入本文件，body 末尾引入 js/ucenter.js
   ========================================================================== */

:root{
    --uc-primary:#2f6bff;
    --uc-primary-dark:#1e4fd8;
    --uc-primary-soft:#eaf1ff;
    --uc-accent:#6a5cff;
    --uc-ink:#1f2937;
    --uc-sub:#6b7280;
    --uc-muted:#9aa4b2;
    --uc-line:#e8edf5;
    --uc-bg:#f4f7fc;
    --uc-radius:14px;
    --uc-shadow:0 1px 2px rgba(16,24,40,.04), 0 10px 28px rgba(16,24,40,.06);
}

html,body{height:auto}
body{
    background:var(--uc-bg);
    background-image:
        radial-gradient(1200px 400px at 12% -8%, rgba(47,107,255,.10), transparent 60%),
        radial-gradient(900px 380px at 92% 0%, rgba(106,92,255,.10), transparent 60%);
    background-repeat:no-repeat;
    color:var(--uc-ink)!important;
    font-size:14px;
    line-height:1.6;
    font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif;
}
body a{color:var(--uc-primary);text-decoration:none}
body a:hover{color:var(--uc-primary-dark)}
body img{max-width:100%}
*,*::before,*::after{box-sizing:border-box}

/* ---------- 旧版结构隐藏（保留 DOM，保证原有脚本可用） ---------- */
.container > .toolbar,
.container > .header,
.container > .siteportalnav,
.container > .subnav,
.container > .footer,
.main .sidebar{display:none!important}
.container{visibility:hidden}
body.uc-ready .container{visibility:visible}

/* ---------- 布局容器 ---------- */
.container{
    min-width:0!important;
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 20px;
}
.main{width:100%!important;max-width:1200px;margin:0 auto;padding:18px 0 8px}
.main .main-inner{display:flex;align-items:flex-start;gap:20px}
.main .content{float:none!important;width:auto!important;flex:1 1 auto;min-width:0;background:transparent!important}
.main .content-inner{margin-left:0!important}
.main .content-main,.main .content-main-inner{background:transparent}

/* ==========================================================================
   新组件：顶栏 / Hero / 侧边栏 / 页脚
   ========================================================================== */
.uc-header{
    position:sticky;top:0;z-index:60;
    margin-top:16px;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border:1px solid var(--uc-line);
    border-radius:var(--uc-radius);
    box-shadow:var(--uc-shadow);
}
.uc-header-inner{display:flex;align-items:center;gap:24px;height:66px;padding:0 20px}
.uc-logo{display:flex;align-items:center;gap:12px;flex:0 0 auto;color:var(--uc-ink)}
.uc-logo:hover{color:var(--uc-ink)}
.uc-logo-mark{
    width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#3b82f6,#6a5cff);color:#fff;font-size:19px;font-weight:700;
    box-shadow:0 6px 16px rgba(47,107,255,.32);
}
.uc-logo-text{display:flex;flex-direction:column;line-height:1.25}
.uc-logo-text b{font-size:15px;font-weight:700;letter-spacing:.2px}
.uc-logo-text em{font-style:normal;font-size:12px;color:var(--uc-muted)}
.uc-topnav{display:flex;align-items:center;gap:4px;flex:1 1 auto}
.uc-topnav a{
    padding:8px 14px;border-radius:10px;font-size:14px;color:var(--uc-sub);transition:.2s;
}
.uc-topnav a:hover{background:var(--uc-primary-soft);color:var(--uc-primary)}
.uc-topnav a.is-active{background:var(--uc-primary-soft);color:var(--uc-primary);font-weight:600}
.uc-userbox{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.uc-userbox .uc-avatar-sm{
    width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--uc-primary-soft);
    display:flex;align-items:center;justify-content:center;color:var(--uc-primary);font-weight:700;
}
.uc-userbox .uc-avatar-sm img{width:100%;height:100%;object-fit:cover;display:block}
.uc-userbox .uc-nick{font-size:14px;font-weight:600;color:var(--uc-ink)}
.uc-logout{
    padding:6px 14px;border-radius:9px;border:1px solid var(--uc-line);
    color:var(--uc-sub)!important;font-size:13px;background:#fff;transition:.2s;
}
.uc-logout:hover{border-color:#ffd7d7;color:#e5484d!important;background:#fff5f5}

/* Hero 横幅 */
.uc-hero{
    margin-top:16px;padding:24px 28px;border-radius:16px;color:#fff;
    background:linear-gradient(120deg,#2f6bff 0%,#4f6ef7 45%,#6a5cff 100%);
    box-shadow:0 14px 34px rgba(47,107,255,.28);
    position:relative;overflow:hidden;
}
.uc-hero::after{
    content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;
    background:rgba(255,255,255,.10);
}
.uc-hero::before{
    content:"";position:absolute;right:120px;bottom:-120px;width:220px;height:220px;border-radius:50%;
    background:rgba(255,255,255,.08);
}
.uc-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.uc-crumb{font-size:13px;color:rgba(255,255,255,.78)}
.uc-crumb span{margin:0 6px;opacity:.7}
.uc-crumb a{color:rgba(255,255,255,.92)}
.uc-hero h1{margin:6px 0 0;font-size:24px;font-weight:700;letter-spacing:.5px;color:#fff}
.uc-hero-side{display:flex;align-items:center;gap:14px}
.uc-stat{
    background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);
    border-radius:12px;padding:8px 18px;min-width:120px;text-align:center;
}
.uc-stat span{display:block;font-size:12px;color:rgba(255,255,255,.82)}
.uc-stat b{display:block;font-size:20px;font-weight:700;line-height:1.3}
.uc-btn-ghost{
    display:inline-block;padding:10px 20px;border-radius:11px;background:#fff;color:var(--uc-primary)!important;
    font-weight:600;font-size:14px;box-shadow:0 8px 18px rgba(0,0,0,.12);transition:.2s;
}
.uc-btn-ghost:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.16)}

/* 侧边栏 */
.uc-side{flex:0 0 232px;width:232px;position:sticky;top:92px}
.uc-side-card{
    background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-radius);
    box-shadow:var(--uc-shadow);overflow:hidden;
}
.uc-user{
    display:flex;align-items:center;gap:12px;padding:18px 18px 16px;
    background:linear-gradient(135deg,#f3f7ff,#eef1ff);border-bottom:1px solid var(--uc-line);
}
.uc-avatar{
    width:48px;height:48px;border-radius:14px;overflow:hidden;flex:0 0 48px;background:#fff;
    border:2px solid #fff;box-shadow:0 4px 12px rgba(16,24,40,.10);
}
.uc-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.uc-user-meta{min-width:0}
.uc-user-meta b{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uc-user-meta span{font-size:12px;color:var(--uc-muted)}
.uc-menu{padding:10px 10px 14px}
.uc-menu-title{
    font-size:12px;color:var(--uc-muted);padding:12px 10px 6px;letter-spacing:1px;font-weight:600;
}
.uc-menu-item{
    display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:2px;border-radius:10px;
    color:var(--uc-sub)!important;font-size:14px;transition:.18s;
}
.uc-menu-item i{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex:0 0 20px}
.uc-menu-item i svg{width:18px;height:18px}
.uc-menu-item:hover{background:#f4f7fc;color:var(--uc-primary)!important}
.uc-menu-item.is-active{
    background:linear-gradient(135deg,#2f6bff,#5b6bff);color:#fff!important;font-weight:600;
    box-shadow:0 6px 16px rgba(47,107,255,.26);
}
.uc-side-tip{margin:0;padding:12px 18px 16px;font-size:12px;color:var(--uc-muted);line-height:1.7}

/* 页脚 */
.uc-footer{
    margin:26px auto 30px;max-width:1200px;text-align:center;color:var(--uc-muted);font-size:13px;line-height:2;
    border-top:1px solid var(--uc-line);padding-top:18px;
}
.uc-footer a{color:var(--uc-muted)}
.uc-footer a:hover{color:var(--uc-primary)}

/* ==========================================================================
   内容区重绘（保留原有结构，仅覆盖样式）
   ========================================================================== */
.pwrap{
    background:#fff;border:1px solid var(--uc-line);border-radius:var(--uc-radius);
    box-shadow:var(--uc-shadow);padding:20px 24px 24px;margin-bottom:18px!important;
}
.pwrap .phead{
    border:0!important;background:none!important;padding:0 0 14px!important;margin-bottom:16px;
    border-bottom:1px solid var(--uc-line)!important;
}
.pwrap .phead:after{content:"";display:block;clear:both}
.phead-inner .phead-inner{height:auto!important}
.phead-inner{padding:0!important;background:none!important}
.phead-inner:after{content:"";display:block;clear:both}
h3.ptitle{
    float:none!important;display:inline-block;vertical-align:middle;
    font-size:17px!important;font-weight:700!important;line-height:1.4!important;color:var(--uc-ink);
    font-family:"Microsoft YaHei","PingFang SC",sans-serif!important;
}
h3.ptitle:before{
    content:"";display:inline-block;width:4px;height:16px;border-radius:3px;margin-right:9px;vertical-align:-2px;
    background:linear-gradient(180deg,#3b82f6,#6a5cff);
}
.ptitle span{padding-left:0!important;float:none!important}
.phead .pextra{float:right!important;margin:0!important;padding:0!important;background:none!important;border:0!important}
.phead .pextra a{
    display:inline-block;padding:7px 16px;border-radius:9px;font-size:13px;color:#fff!important;
    background:linear-gradient(135deg,#3b82f6,#2f6bff);box-shadow:0 5px 14px rgba(47,107,255,.26);transition:.2s;
}
.phead .pextra a:hover{transform:translateY(-1px)}
.phead .pextra a span{color:#fff}
.pbody{border:0!important;background:none!important;padding:0!important}
.pfoot{display:none!important}
.formcaption-note{
    background:var(--uc-primary-soft);border:1px solid #dbe6ff;color:#3f5aa8;
    border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px;
}

/* 选项卡 */
.pagetab-wrap{margin-bottom:16px!important;height:auto!important;border-bottom:1px solid var(--uc-line)!important}
.pagetab{display:flex;gap:6px;list-style:none;margin:0!important;padding:0!important;flex-wrap:wrap}
.pagetab li{margin:0!important;padding:0!important;background:none!important;float:none!important}
.pagetab li a{
    display:block;padding:9px 16px;border-radius:10px 10px 0 0;color:var(--uc-sub)!important;
    font-size:14px;border-bottom:2px solid transparent;transition:.18s;
}
.pagetab li a:hover{color:var(--uc-primary)!important;background:#f4f7fc}
.pagetab li a.current,.pagetab li a.current:hover{
    color:var(--uc-primary)!important;font-weight:600;background:var(--uc-primary-soft);
    border-bottom:2px solid var(--uc-primary);
}
.pagetab li a span{color:inherit!important}

/* 表格 */
.pbody table{
    width:100%!important;border:0!important;border-collapse:collapse!important;
    font-weight:400!important;font-size:14px;background:#fff;border-radius:12px;overflow:hidden;
    box-shadow:0 0 0 1px var(--uc-line);
}
.pbody table tr{transition:background .15s}
.pbody table tr:hover td{background:#fafbff}
.pbody table tr:first-child td{
    background:#f6f8fc!important;color:#4b5563!important;font-weight:600!important;font-size:13px;
    white-space:nowrap;border-bottom:1px solid var(--uc-line);
}
.pbody table td{
    padding:13px 14px!important;border-bottom:1px solid #f0f3f9;color:var(--uc-ink);
    vertical-align:middle;word-break:break-all;
}
.pbody table tr:last-child td{border-bottom:0}
.pbody table td a{color:var(--uc-primary);padding:0 4px}
.pbody table td a:hover{text-decoration:underline}

/* 空状态 */
.nodata{
    padding:46px 16px!important;color:var(--uc-muted)!important;text-align:center;
    border:1px dashed #d8e0ee;border-radius:12px;background:#fbfcfe;font-size:14px;
}
.nodata table{border:0!important;box-shadow:none!important}
/* 动态渲染出表格的容器（购物车/订单/信息列表）去掉空状态样式 */
@supports selector(:has(*)){
    .nodata:has(table),.nodata:has(form),.nodata:has(ul){
        padding:0!important;border:0!important;background:none!important;text-align:left!important;
    }
}

/* 表单 */
.pbody .formrow{
    padding:14px 0;border-bottom:1px dashed var(--uc-line);margin:0;
    display:flex;align-items:flex-start;gap:18px;background:none!important;
}
.pbody .formrow:last-child{border-bottom:0}
.pbody .formrow .label,.pbody .formrow h3.label{
    float:none!important;flex:0 0 180px;margin:0!important;padding:0!important;
    font-size:14px!important;font-weight:600;color:var(--uc-ink);line-height:1.7;
    background:none!important;border:0!important;
}
.pbody .formrow .label .note{display:block;font-weight:400;color:var(--uc-muted);font-size:12px}
.pbody .formrow-enter,.pbody .form-enter{flex:1 1 auto;min-width:0;float:none!important;margin:0!important;padding:0!important}
.pbody .formrow-action{border-bottom:0!important;padding-top:18px}
.pbody .formrow .surplus,.pbody .form-note{color:var(--uc-muted);font-size:12px;margin-left:8px}

.pbody input[type=text],
.pbody input[type=password],
.pbody input[type=number],
.pbody input[type=tel],
.pbody input[type=email],
.pbody select,
.pbody textarea,
.pbody .form-control,
.pbody input.text{
    width:auto;min-width:180px;padding:9px 13px;border:1px solid #dbe3ef;border-radius:10px;
    background:#fff;color:var(--uc-ink);font-size:14px;line-height:1.4;outline:none;transition:.18s;
    font-family:inherit;vertical-align:middle;
}
.pbody textarea{min-height:120px}
.pbody input:focus,.pbody select:focus,.pbody textarea:focus{
    border-color:var(--uc-primary);box-shadow:0 0 0 3px rgba(47,107,255,.14);
}
.pbody label{color:var(--uc-sub);font-size:13px;margin-right:14px}
.pbody input[type=radio],.pbody input[type=checkbox]{margin-right:5px;vertical-align:-1px}

/* 按钮 */
.pbody input[type=button],
.pbody input[type=submit],
.pbody button,
.pbody .button,
.pbody .btn{
    display:inline-block;height:auto;padding:10px 26px;border:1px solid transparent;border-radius:10px;
    background:linear-gradient(135deg,#3b82f6,#2f6bff);color:#fff!important;font-size:14px;font-weight:500;
    line-height:1.3;cursor:pointer;box-shadow:0 6px 16px rgba(47,107,255,.26);transition:.2s;
    font-family:inherit;
}
.pbody input[type=button]:hover,
.pbody input[type=submit]:hover,
.pbody button:hover,
.pbody .button:hover,
.pbody .btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(47,107,255,.32)}
.pbody .minbtn-wrap,.pbody .btn-wrap,.pbody .minbtn-wrap .btn,.pbody .btn-wrap .btn{
    background:none!important;box-shadow:none!important;padding:0!important;border:0!important;display:inline-block;
}
.pbody .btn-primary{background:linear-gradient(135deg,#3b82f6,#2f6bff)!important;color:#fff!important}

/* 充值页 */
.paymentlist{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.paymentlist li{
    border:1px solid var(--uc-line);border-radius:12px;padding:12px 16px;background:#fff;transition:.2s;cursor:pointer;
}
.paymentlist li:hover{border-color:#b9cdff}
.paymentlist li.selected{border-color:var(--uc-primary);background:var(--uc-primary-soft);box-shadow:0 6px 16px rgba(47,107,255,.16)}
.paymentlist li .title{display:block;margin-top:6px;font-size:13px;color:var(--uc-sub)}
.paymentlist li.selected .title{color:var(--uc-primary);font-weight:600}
.pbody .pay{font-size:22px;font-weight:700;color:#e5484d}
.topup-note{margin-top:18px;padding:14px 18px;border-radius:12px;background:#fbfcfe;border:1px dashed #dde5f2}
.topup-note p{margin:0 0 6px;font-size:13px;color:var(--uc-muted);line-height:1.8}
.topup-note p:last-child{margin-bottom:0}

/* 首页概览卡片 */
.accountinfo-dock{background:none!important;padding:0!important}
.account-quicktools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.account-quicktools a{
    display:inline-block;padding:9px 18px;border-radius:10px;font-size:13px;color:#fff!important;
    background:linear-gradient(135deg,#3b82f6,#2f6bff);box-shadow:0 6px 16px rgba(47,107,255,.24);transition:.2s;
}
.account-quicktools a:hover{transform:translateY(-1px)}
.account-quicktools a.account-qiandao-dis{background:linear-gradient(135deg,#c3cbd9,#aeb8c8);box-shadow:none}
.account-quicktools .account-sum{
    background:var(--uc-primary-soft);border:1px solid #dbe6ff;border-radius:10px;padding:8px 16px;
    color:var(--uc-primary);font-size:13px;box-shadow:none;
}
.account-quicktools .account-sum strong{font-size:18px}
.account-uesrinfo{font-size:13px;color:var(--uc-sub);margin-top:10px}
.account-uesrinfo a{font-size:13px!important;color:var(--uc-primary)!important}
.account-id{color:var(--uc-muted)}
.account-track{margin-top:8px;font-size:12px;color:var(--uc-muted);display:flex;gap:20px}

.financelist,.securitylist{list-style:none;margin:0;padding:0}
.financelist li,.securitylist li{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:14px 2px;border-bottom:1px dashed var(--uc-line);
}
.financelist li:last-child,.securitylist li:last-child{border-bottom:0}
.financelist .label,.securitylist .label{color:var(--uc-sub);font-size:14px}
.financelist .value,.securitylist .value{color:var(--uc-ink);font-weight:600}
.financelist .value strong,.securitylist .value strong{font-size:18px;color:var(--uc-primary)}
.financelist li a,.securitylist li a{
    padding:6px 14px;border-radius:9px;border:1px solid var(--uc-line);color:var(--uc-primary)!important;font-size:13px;
}
.financelist li a:hover,.securitylist li a:hover{border-color:var(--uc-primary);background:var(--uc-primary-soft)}

/* 富文本/发布页 */
.dd_input_group{margin-bottom:14px}
.box-body{padding:0}

/* 提示信息 */
.successmsg,.errormsg,.alertmsg{border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13px}
.successmsg{background:#e9f9f0;border:1px solid #b7ebcd;color:#137a42}
.errormsg,.alertmsg{background:#fff2f2;border:1px solid #ffd7d7;color:#c0392b}

/* 响应式 */
@media (max-width:1080px){
    .main .main-inner{flex-direction:column}
    .uc-side{position:static;width:100%;flex:1 1 auto}
    .uc-menu{display:flex;flex-wrap:wrap;gap:4px}
    .uc-menu-title{flex:0 0 100%;padding-bottom:0}
    .uc-menu-item{flex:0 0 auto}
    .uc-header-inner{gap:14px}
    .uc-topnav{overflow:auto}
}
@media (max-width:720px){
    .container{padding:0 12px}
    .uc-logo-text em{display:none}
    .uc-userbox .uc-nick{display:none}
    .pbody .formrow{flex-direction:column;gap:8px}
    .pbody .formrow .label,.pbody .formrow h3.label{flex:1 1 auto}
    .pbody input[type=text],.pbody input[type=password],.pbody input[type=number],.pbody select,.pbody .form-control,.pbody input.text{width:100%!important;max-width:100%!important}
    .pbody table{display:block;overflow-x:auto;white-space:nowrap}
}
