/* 卡乐售 - /user/ 独立会员中心：现代控制台风格
   视觉对齐「顶天自助下单系统」会员控制台：浅色顶栏 + 白色圆角分组侧栏（可折叠 + 内联 SVG 图标）
   + indigo 渐变余额 Hero + 白底圆角面板 + 移动端底部图标 Tab。桌面（左栏+内容）窄屏自适应。
   本站前台 CSP script-src 'self'，故无任何内联脚本；图标为内联 <svg>（mc_icon），样式全外链。 */
:root{
    /* —— 主色 / 渐变（对齐顶天 --mc-* 令牌）—— */
    --accent:#4f46e5; --accent-2:#7c3aed; --accent-soft:#eef2ff; --accent-d:#4338ca;
    --grad:linear-gradient(135deg,#5b6cff 0%,#8b5cf6 100%);
    --blue:var(--accent);          /* 兼容 render_pager 等内联 var(--blue) */
    --blue-d:var(--accent-d);
    /* —— 文字 / 描边 / 底色 —— */
    --ink:#1e293b; --sub:#475569; --muted:#64748b;
    --line:rgba(15,23,42,.07); --line2:#e2e8f0; --bg:#f4f6fb; --card:#fff;
    /* —— 语义色 —— */
    --ok:#10b981; --err:#ef4444; --warn:#f59e0b; --gold:#f59e0b; --danger:#ef4444;
    /* —— 形状 / 阴影 —— */
    --radius:16px; --radius-sm:12px; --radius-xs:9px;
    --shadow:0 6px 24px rgba(31,41,55,.06);
    --shadow-hover:0 12px 30px rgba(79,70,229,.16);
    --side-w:236px; --top-h:60px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{background-color:var(--bg);}
body.uc-body{
    background:var(--bg); color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    font-size:14px; line-height:1.6; -webkit-text-size-adjust:100%;
}
a{color:var(--accent); text-decoration:none;}
a:hover{color:var(--accent-d);}
img{max-width:100%;}

/* ===== 内联 SVG 图标基线（mc_icon 输出 .uc-ico）===== */
.uc-ico{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex:0 0 auto;fill:none;stroke:currentColor;}
.uc-ico-box{display:inline-flex;align-items:center;justify-content:center;line-height:1;}

/* ===== 顶栏 ===== */
.uc-topbar{
    position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:10px;
    height:var(--top-h); padding:0 20px; background:#fff; border-bottom:1px solid var(--line);
}
.uc-menu-btn{
    display:none; width:38px; height:38px; border:0; background:transparent; color:var(--sub);
    font-size:20px; cursor:pointer; border-radius:10px; align-items:center; justify-content:center;
}
.uc-menu-btn:hover{background:#f1f5f9; color:var(--accent);}
.uc-brand{display:inline-flex; align-items:center; gap:9px; font-size:17px; font-weight:700; color:var(--ink);}
.uc-brand .uc-ico{width:22px; height:22px; color:var(--accent);}
.uc-brand:hover{color:var(--ink);}
.uc-top-right{margin-left:auto; display:flex; align-items:center; gap:16px; font-size:14px;}
.uc-top-right .uc-top-home{display:inline-flex; align-items:center; gap:6px; color:var(--sub);}
.uc-top-right .uc-top-home:hover{color:var(--accent);}
.uc-top-links{display:flex; align-items:center; gap:14px;}
.uc-top-links a{color:var(--sub);}
.uc-top-links a:hover{color:var(--accent);}
.uc-top-reg{padding:6px 16px; border-radius:999px; background:var(--accent); color:#fff !important;}
.uc-top-reg:hover{background:var(--accent-d); color:#fff;}
.uc-logout{color:var(--muted) !important;}

/* 顶栏头像下拉 */
.uc-dd{position:relative;}
.uc-dd-btn{display:inline-flex; align-items:center; gap:9px; height:40px; padding:2px 10px 2px 4px; border:0; background:transparent; color:var(--ink); cursor:pointer; border-radius:999px; font-size:14px;}
.uc-dd-btn:hover{background:#f1f5f9;}
.uc-dd-btn img{width:32px; height:32px; border-radius:50%; object-fit:cover; background:#eef2f7; box-shadow:0 0 0 2px var(--accent-soft);}
.uc-dd-btn .uc-ico{width:14px; height:14px; color:var(--muted);}
.uc-dd-menu{display:none; position:absolute; right:0; top:calc(100% + 8px); min-width:170px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); z-index:70;}
.uc-dd.open .uc-dd-menu{display:block;}
.uc-dd-menu a{display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:9px; color:var(--sub); font-size:14px;}
.uc-dd-menu a .uc-ico{width:16px; height:16px; color:var(--muted);}
.uc-dd-menu a:hover{background:#f1f5f9; color:var(--accent);}
.uc-dd-menu a:hover .uc-ico{color:var(--accent);}
.uc-dd-menu hr{border:0; border-top:1px solid var(--line); margin:6px 4px;}

/* ===== 布局 ===== */
.uc-layout{display:flex; gap:18px; align-items:flex-start; max-width:1200px; margin:22px auto; padding:0 20px;}
.uc-side{width:var(--side-w); flex:0 0 var(--side-w); position:sticky; top:calc(var(--top-h) + 18px);}
.uc-main{flex:1 1 auto; min-width:0;}
.uc-pagetitle{font-size:19px; font-weight:700; color:var(--ink); margin:0 0 18px; letter-spacing:.2px;}
/* 桌面端：内容区与左侧 200px 固定导航之间留出小间距，主卡片整体右移并略微收窄；移动端不加，保持贴边贴顶 */
@media (min-width:768px){
    .uc-content{padding:16px 16px 0 10px;}
}
/* 手机端：隐藏了顶部导航条且内容贴顶，给内容区顶部留白避免标题/Hero 被状态栏遮住 */
@media (max-width:767px){
    .uc-content{padding-top:22px;}
}

/* ===== 侧边导航（白色圆角卡片 + 可折叠分组 + 图标）===== */
.uc-nav{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:10px 0 14px;}
.uc-nav-group + .uc-nav-group{margin-top:2px;}
.uc-nav-title{
    display:flex; align-items:center; gap:10px; width:100%; text-align:left; border:0; background:transparent;
    padding:14px 20px 8px; margin:0; color:var(--ink); font-size:13.5px; font-weight:700; line-height:1;
    letter-spacing:.01em; cursor:pointer; user-select:none; font-family:inherit; -webkit-tap-highlight-color:transparent;
}
.uc-nav-toggle{position:relative; width:20px; height:20px; border-radius:6px; background:#fff; border:1px solid var(--line); flex:0 0 auto; transition:border-color .18s ease, box-shadow .18s ease;}
.uc-nav-toggle::before,.uc-nav-toggle::after{content:""; position:absolute; left:50%; top:50%; background:var(--muted); border-radius:1px; transform:translate(-50%,-50%); transition:background .18s ease, opacity .18s ease;}
.uc-nav-toggle::before{width:9px; height:2px;}
.uc-nav-toggle::after{width:2px; height:9px; opacity:0;}
.uc-nav-title:hover .uc-nav-toggle{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);}
.uc-nav-title:hover .uc-nav-toggle::before,.uc-nav-title:hover .uc-nav-toggle::after{background:var(--accent);}
.uc-nav-group.collapsed .uc-nav-toggle::after{opacity:1;}
.uc-nav-list{list-style:none; margin:0; padding:0 8px;}
.uc-nav-group.collapsed .uc-nav-list{display:none;}
.uc-nav-list li a{
    display:flex; align-items:center; gap:11px; margin:2px 8px; padding:10px 14px;
    border-radius:12px; color:var(--sub); font-size:14px; transition:background-color .18s ease, color .18s ease;
}
.uc-nav-list li a .uc-ico{width:17px; height:17px; color:inherit; opacity:.85;}
.uc-nav-list li a:hover{background:#f1f5f9; color:var(--accent);}
.uc-nav-list li a.on{background:var(--accent-soft); color:var(--accent); font-weight:600;}
.uc-nav-list li a.on .uc-ico{opacity:1;}

/* ===== 渐变余额 Hero（仪表盘）===== */
.uc-hero{
    position:relative; overflow:hidden; background:var(--grad); border-radius:20px;
    padding:24px 26px; color:#fff; box-shadow:0 16px 40px rgba(91,108,255,.28);
    display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-bottom:20px;
}
.uc-hero:after{content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.12);}
.uc-hero-id{display:flex; align-items:center; gap:14px; position:relative; z-index:1;}
.uc-hero-av{width:58px; height:58px; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,.7); box-shadow:0 4px 14px rgba(0,0,0,.18);}
.uc-hero-name{font-size:19px; font-weight:700; line-height:1.2;}
.uc-hero-badge{display:inline-block; margin-top:5px; padding:1px 10px; border-radius:999px; background:rgba(255,255,255,.22); font-size:12px;}
.uc-hero-body{flex:1 1 220px; min-width:180px; position:relative; z-index:1;}
.uc-hero-label{font-size:12.5px; opacity:.88;}
.uc-hero-bal{font-size:34px; font-weight:800; line-height:1.15; letter-spacing:.5px;}
.uc-hero-bal small{font-size:15px; font-weight:600; opacity:.9; margin-left:2px;}
.uc-hero-acts{margin-top:12px; display:flex; gap:10px; flex-wrap:wrap;}
.uc-hero-stats{position:relative; z-index:1; display:flex; gap:26px; padding-left:14px; border-left:1px solid rgba(255,255,255,.25);}
.uc-hero-stat{text-align:left;}
.uc-hero-stat .v{font-size:22px; font-weight:800;}
.uc-hero-stat .l{font-size:12.5px; opacity:.88; margin-top:2px;}
.uc-hero .uc-hero-btn{display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 18px; border-radius:999px; background:#fff; color:var(--accent); font-size:14px; font-weight:600; border:0; cursor:pointer;}
.uc-hero .uc-hero-btn:hover{color:var(--accent-d); transform:translateY(-1px);}
.uc-hero .uc-hero-btn.ghost{background:rgba(255,255,255,.16); color:#fff;}
.uc-hero .uc-hero-btn.ghost:hover{background:rgba(255,255,255,.26); color:#fff;}
a.uc-hero-lv{display:inline-flex; align-items:center; gap:3px; margin-left:8px; padding:2px 9px; border-radius:999px; background:#fff; color:var(--accent); font-size:11.5px; font-weight:700; vertical-align:2px;}
a.uc-hero-lv .uc-ico{width:11px; height:11px;}

/* ===== 通用卡片容器 ===== */
.uc-panel{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:20px; margin-bottom:18px;}
.uc-panel-title{font-size:15px; font-weight:700; color:var(--ink); margin-bottom:16px; display:flex; align-items:center; justify-content:space-between;}
.uc-panel-title a{font-size:13px; font-weight:normal;}

/* ===== 按钮 ===== */
.uc-btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; height:40px; padding:0 20px; border-radius:var(--radius-xs); font-size:14px; cursor:pointer; border:1px solid transparent; transition:background-color .16s ease, box-shadow .16s ease, border-color .16s ease;}
.uc-btn .uc-ico{width:16px; height:16px;}
.uc-btn-primary{background:var(--accent); color:#fff; box-shadow:0 6px 16px rgba(79,70,229,.24);}
.uc-btn-primary:hover{background:var(--accent-d); color:#fff; box-shadow:var(--shadow-hover);}
.uc-btn-plain{background:#fff; color:var(--accent); border-color:var(--line2);}
.uc-btn-plain:hover{border-color:var(--accent); background:var(--accent-soft);}
.uc-btn-disabled{background:#f1f4f8; color:#a7b0bf; border-color:#e7ebf1; cursor:not-allowed;}
.uc-btn-block{width:100%;}
.uc-btn-sm{height:32px; padding:0 13px; font-size:13px; border-radius:8px;}
.uc-btn-danger{background:#fff; color:var(--danger); border-color:#fecaca;}
.uc-btn-danger:hover{background:#fef2f2; border-color:var(--danger); color:var(--danger);}
button.uc-btn{font-family:inherit;}
.uc-off-text{color:#cbd5e1;}

/* ===== 提示条 ===== */
.uc-flash{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:3100;padding:11px 24px;border-radius:12px;font-size:13.5px;box-shadow:0 6px 24px rgba(0,0,0,.12);max-width:90vw;}
.uc-flash-ok{background:#ecfdf5; color:#047857; border:1px solid #a7f3d0;}
.uc-flash-err{background:#fef2f2; color:#b91c1c; border:1px solid #fecaca;}

/* ===== 资产概览 ===== */
.uc-stats{display:flex; flex-wrap:wrap; gap:12px;}
.uc-stat{flex:1; min-width:120px; text-align:center; padding:8px 0;}
.uc-stat .k{font-size:12.5px; color:var(--muted); margin-bottom:6px;}
.uc-stat .v{font-size:22px; font-weight:700; color:var(--ink);}
.uc-stat .v.blue{color:var(--accent);}
.uc-stat .v.gold{color:var(--gold);}

/* ===== 列表 / 表格 ===== */
.uc-list{width:100%; border-collapse:collapse;}
.uc-list th{font-size:12.5px; color:var(--muted); font-weight:600; text-align:left; padding:11px 12px; border-bottom:1px solid var(--line);}
.uc-list td{padding:12px; border-bottom:1px solid var(--line); color:var(--sub); font-size:14px; vertical-align:middle;}
.uc-list tr:last-child td{border-bottom:0;}
.uc-list .muted{color:var(--muted); font-size:13px;}
.uc-list .thumb{width:38px; height:38px; border-radius:8px; object-fit:cover; background:#f5f7fb; vertical-align:middle;}
.uc-cellname{display:flex; align-items:center; gap:10px; min-width:0;}
.uc-cellname span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.uc-empty{padding:36px 0; text-align:center; color:var(--muted);}

/* ===== 状态标记 ===== */
.uc-st{display:inline-block; padding:2px 11px; border-radius:999px; font-size:12.5px;}
.uc-st.ok{background:#ecfdf5; color:#059669;}
.uc-st.doing{background:var(--accent-soft); color:var(--accent);}
.uc-st.warn{background:#fffbeb; color:#b45309;}
.uc-st.off{background:#f1f4f8; color:var(--muted);}

/* ===== 手机端订单卡片（桌面隐藏，仅窄屏显示；结构 1:1 照顶天 yikem .yk-ocard） ===== */
.uc-order-cards{display:none;}
.uc-ocard{margin:0 0 10px;padding:14px;border-radius:12px;background:#fff;box-shadow:var(--shadow);}
.uc-ocard-hd{display:flex;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);}
.uc-ocard-no{min-width:0;font-size:14px;color:var(--ink);word-break:break-all;}
.uc-ocard-st{flex:none;margin-left:auto;font-size:14px;font-weight:700;color:var(--sub);}
.uc-ocard-goods{display:flex;align-items:flex-start;gap:10px;padding:12px 0 10px;}
.uc-ocard-pic{flex:none;width:76px;height:76px;border-radius:8px;background:#f6f7fa;object-fit:cover;}
.uc-ocard-info{flex:1;min-width:0;}
.uc-ocard-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink);}
.uc-ocard-qty{margin-top:6px;font-size:13px;color:var(--muted);}
.uc-ocard-amt{flex:none;text-align:right;}
.uc-ocard-amt b{display:block;font-size:17px;font-weight:700;color:var(--ink);}
.uc-ocard-amt span{display:block;margin-top:6px;font-size:13px;color:var(--muted);}
.uc-ocard-param{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12.5px;color:var(--muted);}
.uc-ocard-param span{flex:1;min-width:0;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.uc-ocard-ft{display:flex;align-items:center;padding-top:12px;border-top:1px solid var(--line);}
.uc-ocard-pay{font-size:13px;color:var(--sub);}
.uc-ocard-pay b{margin-left:2px;font-size:16px;color:var(--ink);}
.uc-ocard-ops{display:flex;gap:8px;margin-left:auto;}
.uc-obtn{display:inline-block;flex:0 0 auto;height:32px;padding:0 16px;border-radius:999px;font-size:13px;line-height:30px;text-align:center;white-space:nowrap;}
.uc-obtn-solid{border:1px solid var(--accent);background:var(--accent);color:#fff;}
.uc-obtn-line{border:1px solid #cfd8f7;background:#fff;color:var(--accent);}
/* 复制按钮 */
.uc-copybtn{flex:none;height:22px;margin-left:8px;padding:0 8px;border:0;border-radius:5px;background:#f2f3f7;color:var(--sub);font-size:12px;line-height:22px;cursor:pointer;}
.uc-copybtn-line{border:1px solid #cfd8f7;background:#fff;color:var(--accent);line-height:20px;}
/* 状态着色（卡片右上角 + 详情状态块） */
.uc-ocard-st.tone-ok,.uc-dgoods-st.tone-ok{color:#16a34a;}
.uc-ocard-st.tone-doing,.uc-dgoods-st.tone-doing{color:var(--accent);}
.uc-ocard-st.tone-warn,.uc-dgoods-st.tone-warn{color:#f59e0b;}
.uc-ocard-st.tone-off,.uc-dgoods-st.tone-off{color:#97a0b5;}
/* 订单详情内容（照顶天 .yk-dsheet body） */
.uc-odetail-body{padding:10px 12px;}
.uc-dgoods{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:12px;border-radius:10px;background:#fff;}
.uc-dgoods img{flex:none;width:52px;height:52px;border-radius:8px;background:#f6f7fa;object-fit:cover;}
.uc-dgoods-info{flex:1;min-width:0;}
.uc-dgoods-name{overflow:hidden;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;}
.uc-dgoods-sub{margin-top:5px;font-size:12px;color:var(--muted);}
.uc-dgoods-st{flex:none;font-size:13px;font-weight:600;color:var(--accent);}
.uc-dtotal{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:12px;border-radius:10px;background:#fff;font-size:13px;color:var(--sub);}
.uc-dtotal b{font-size:16px;color:var(--ink);}
.uc-drows{margin-bottom:8px;padding:2px 12px;border-radius:10px;background:#fff;}
.uc-drow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;}
.uc-drow:last-child{border-bottom:0;}
.uc-drow i{flex:none;font-style:normal;color:var(--muted);}
.uc-drow b{margin:0;font-weight:500;color:var(--ink);text-align:right;word-break:break-all;}
.uc-dsec{margin-bottom:8px;padding:12px;border-radius:10px;background:#fff;}
.uc-dsec-t{margin-bottom:4px;font-size:14px;font-weight:600;color:var(--ink);}
.uc-dline{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:#4b5563;word-break:break-all;}
.uc-dline:last-child{border-bottom:0;}
.uc-dline span{flex:1;min-width:0;}
@keyframes ucSheetUp{from{transform:translateY(100%);}to{transform:translateY(0);}}

/* ===== 表单 ===== */
.uc-form{max-width:520px;}
.uc-field{margin-bottom:15px;}
.uc-label{display:block; margin-bottom:6px; font-size:13.5px; color:var(--sub);}
.uc-label .req{color:var(--danger); font-style:normal; margin-left:2px;}
.uc-input{width:100%; height:44px; padding:0 13px; border:1px solid var(--line2); border-radius:var(--radius-xs); font-size:14px; outline:none; background:#fff; color:var(--ink); font-family:inherit; transition:border-color .16s ease, box-shadow .16s ease;}
textarea.uc-input{height:auto; min-height:92px; padding:10px 13px; resize:vertical;}
select.uc-input{height:44px;}
.uc-input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);}
.uc-hint{margin-top:6px; font-size:12px; color:var(--muted); line-height:1.6;}

/* ===== 登录 / 注册 ===== */
.uc-main--solo{max-width:none; margin:0; padding:0; min-height:100vh; background:linear-gradient(160deg,#eef2ff 0%,#e8e0ff 40%,#f0e6ff 100%);}
.uc-auth{max-width:420px; margin:0 auto; padding:48px 16px 60px; min-height:calc(100vh - 60px); display:flex; align-items:center; justify-content:center;}
.uc-auth .uc-panel{padding:36px 32px 32px; border-radius:20px; box-shadow:0 24px 64px rgba(79,70,229,.10),0 2px 8px rgba(0,0,0,.04); border:none; background:#fff; width:100%;}
.uc-auth-brand{text-align:center;margin-bottom:24px;}
.uc-auth-brand .icon{width:56px;height:56px;border-radius:16px;background:var(--grad);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;box-shadow:0 8px 24px rgba(79,70,229,.22);}
.uc-auth-brand .icon svg{width:28px;height:28px;fill:#fff;}
.uc-auth-brand .name{font-size:15px;font-weight:600;color:var(--text);}
.uc-auth-tabs{display:flex; gap:0; margin-bottom:24px; background:#f1f5f9; border-radius:12px; padding:4px;}
.uc-auth-tabs a{flex:1; text-align:center; padding:10px 0; border-radius:10px; font-size:14px; font-weight:500; color:var(--sub); text-decoration:none; transition:all .25s;}
.uc-auth-tabs a.on{background:#fff; color:var(--accent); font-weight:600; box-shadow:0 2px 8px rgba(0,0,0,.06);}
.uc-auth-foot{text-align:center; font-size:13px; color:var(--muted); margin-top:18px;}
.uc-auth-foot a{color:var(--accent); text-decoration:none; font-weight:500;}
.uc-auth .uc-field{margin-bottom:16px;}
.uc-auth .uc-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;}
.uc-auth .uc-input{height:44px;border-radius:10px;border:1.5px solid #e2e8f0;font-size:14px;transition:border-color .2s,box-shadow .2s;}
.uc-auth .uc-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.08);}
.uc-auth .uc-btn-primary{height:46px;border-radius:12px;font-size:15px;font-weight:600;background:var(--grad);border:none;box-shadow:0 8px 24px rgba(79,70,229,.22);transition:transform .15s,box-shadow .15s;}
.uc-auth .uc-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(79,70,229,.28);}
.uc-auth .uc-btn-primary:active{transform:translateY(0);}

/* ===== 商城网格 ===== */
.uc-shop-tools{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; align-items:center;}
.uc-shop-tools .uc-input{width:auto; flex:1; min-width:120px; height:40px;}
.uc-search{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px;}
.uc-search .uc-input{width:auto; flex:1 1 150px; min-width:0;}
.uc-search .uc-btn{flex:0 0 auto;}
@media (max-width:767px){
    .uc-search .uc-input{flex:1 1 100%;}
    .uc-search .uc-btn{width:100%;}
}
/* 手机端订单页集成单框搜索（默认隐藏，窄屏显示） */
.uc-search-m{display:none;align-items:center;height:44px;padding:0 6px 0 14px;margin-bottom:16px;border-radius:999px;background:#f2f3f7;}
.uc-search-m-ic{flex:none;width:16px;height:16px;margin-right:8px;color:#a3a9bb;display:flex;align-items:center;}
.uc-search-m-ic svg{width:16px;height:16px;}
.uc-search-m-in{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:14px;color:var(--ink);-webkit-appearance:none;appearance:none;}
.uc-search-m-in::-webkit-search-cancel-button{display:none;}
.uc-search-m-in::placeholder{color:#a3a9bb;}
.uc-search-m-btn{flex:none;height:32px;margin:0 4px 0 8px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;line-height:32px;cursor:pointer;}
/* 订单页状态筛选：胶囊标签（桌面换行、窄屏单行横滑） */
.uc-cats{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.uc-cats a{display:inline-flex; align-items:center; padding:5px 14px; border-radius:999px; font-size:13px; border:1px solid var(--line2); color:var(--sub); text-decoration:none; white-space:nowrap;}
.uc-cats a.on{background:var(--accent); border-color:var(--accent); color:#fff;}
.uc-cats-pager{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.uc-cats-page{display:contents;}
.uc-cats-page a{display:inline-flex; align-items:center; gap:5px; padding:5px 14px; border-radius:999px; font-size:13px; border:1px solid var(--line2); color:var(--sub); text-decoration:none; white-space:nowrap;}
.uc-cats-page a img{width:20px; height:20px; border-radius:4px; object-fit:cover; flex-shrink:0;}
.uc-cats-page a.on{background:var(--accent); border-color:var(--accent); color:#fff;}
.uc-cats-dots{display:none;}
.uc-cats-sub{margin:-8px 0 16px; padding:8px 12px; background:#f5f7fb; border-radius:12px;}
.uc-cats-sub-inner{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.uc-cats-sub-label{font-size:12px; color:var(--muted); margin-right:2px; padding-right:10px; border-right:1px dashed var(--line2);}
.uc-cats-sub-inner a{padding:3px 12px; font-size:12.5px; background:#fff; border-radius:999px; border:1px solid var(--line2); color:var(--sub); text-decoration:none; white-space:nowrap;}
.uc-cats-sub-inner a.on{background:var(--accent); border-color:var(--accent); color:#fff;}
@media (max-width:767px){
    .uc-cats-pager{display:flex; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:0;}
    .uc-cats-pager::-webkit-scrollbar{display:none;}
    .uc-cats-page{display:grid; flex:0 0 100%; scroll-snap-align:start; grid-template-columns:repeat(3,1fr); gap:8px; padding:2px;}
    .uc-cats-page a{justify-content:center; padding:6px 8px; font-size:12px; overflow:hidden; text-overflow:ellipsis;}
    .uc-cats-page a img{width:18px; height:18px;}
    .uc-cats-dots{display:flex; justify-content:center; gap:6px; margin:-8px 0 14px;}
    .uc-cats-dots span{width:7px; height:7px; border-radius:50%; background:#cbd5e1; transition:background .2s;}
    .uc-cats-dots span.on{background:var(--accent);}
    .uc-cats-sub{padding:8px 10px;}
    .uc-cats-sub-inner{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:6px;}
    .uc-cats-sub-inner::-webkit-scrollbar{display:none;}
    .uc-cats-sub-label{flex-shrink:0; border-right:none; padding-right:0; margin-right:0;}
}
.uc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px;}
.uc-goods{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .18s ease, transform .18s ease;}
.uc-goods:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px);}
.uc-goods-img{aspect-ratio:1/1; width:100%; object-fit:cover; background:#f5f7fb;}
.uc-goods-img-link{display:block; text-decoration:none; cursor:pointer;}
.uc-goods-body{padding:11px 13px; display:flex; flex-direction:column; gap:6px; flex:1;}
.uc-goods-name{font-size:14px; color:var(--ink); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:39px;}
.uc-goods-price{font-size:17px; font-weight:700; color:var(--danger);}
.uc-goods-foot{margin-top:auto;}
.uc-goods-btn{display:block; width:100%; text-align:center; height:38px; line-height:38px; border-radius:var(--radius-xs); background:var(--accent); color:#fff !important; font-size:14px;}
.uc-goods-btn:hover{background:var(--accent-d);}
/* 下单参数控件 */
.uc-param{margin-bottom:14px;}
.uc-radio-wrap{display:flex; flex-wrap:wrap; gap:10px;}
.uc-radio{display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border:1px solid var(--line2); border-radius:999px; cursor:pointer; font-size:13px; color:var(--sub);}
.uc-radio input{margin:0;}
.uc-pay-opt.off{opacity:.5; cursor:not-allowed; color:#b8c0cc;}

/* ===== 弹窗（CSS :target，无脚本；CSP 安全）===== */
.uc-modal{position:fixed; inset:0; z-index:3000; display:none; align-items:center; justify-content:center; padding:16px;}
.uc-modal:target{display:flex;}
.uc-modal-mask{position:absolute; inset:0; background:rgba(15,23,42,.5);}
.uc-modal-box{position:relative; width:460px; max-width:100%; max-height:88vh; overflow:auto; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(15,23,42,.28);}
.uc-modal-head{display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border-bottom:1px solid var(--line); font-size:16px; font-weight:700;}
.uc-modal-x{font-size:24px; line-height:1; color:#94a3b8;}
.uc-modal-x:hover{color:var(--ink);}
.uc-modal-body{padding:18px 20px;}
.uc-modal-foot{display:flex; gap:10px; padding:0 20px 20px;}

/* 商品弹窗头部 */
.uc-buy-top{display:flex; gap:14px; margin-bottom:14px;}
.uc-buy-top img{width:66px; height:66px; border-radius:10px; object-fit:cover; background:#f5f7fb; flex:0 0 auto;}
.uc-buy-name{font-weight:600; color:var(--ink);}
.uc-buy-unit{margin-top:4px; color:var(--danger); font-weight:700;}
.uc-buy-docs{background:#f7f9fc; border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-bottom:14px;}
.uc-buy-docs-title{font-size:12.5px; font-weight:600; color:var(--sub); margin-bottom:6px; letter-spacing:.5px;}
.uc-buy-docs-body{font-size:13px; color:var(--ink); line-height:1.65; max-height:160px; overflow:auto; word-break:break-word;}
.uc-buy-docs-body p{margin:0 0 6px;}
.uc-buy-docs-body p:last-child{margin-bottom:0;}
.uc-buy-docs-body img{max-width:100%; height:auto; border-radius:8px; margin:4px 0;}
.uc-buy-docs-body ul,.uc-buy-docs-body ol{margin:0 0 6px; padding-left:20px;}
.uc-buy-docs-body li{margin:2px 0;}
.uc-buy-docs-body table{width:100%; border-collapse:collapse; margin:4px 0;}
.uc-buy-docs-body th,.uc-buy-docs-body td{border:1px solid var(--line); padding:4px 6px; font-size:12.5px;}
.uc-qty{display:flex; align-items:center; gap:0;}
.uc-qty button{width:40px; height:40px; border:1px solid var(--line2); background:#f8faff; color:var(--accent); font-size:18px; cursor:pointer;}
.uc-qty button:first-child{border-radius:var(--radius-xs) 0 0 var(--radius-xs);}
.uc-qty button:last-of-type{border-radius:0 var(--radius-xs) var(--radius-xs) 0;}
.uc-qty input{width:72px; height:40px; border-left:0; border-right:0; text-align:center; border:1px solid var(--line2); font-size:14px; outline:none;}
.uc-qty .uc-qty-tip{margin-left:12px; font-size:12px; color:var(--muted); align-self:center;}
.uc-pays{display:flex; flex-wrap:wrap; gap:10px;}
.uc-pay-opt{display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border:1px solid var(--line2); border-radius:999px; cursor:pointer; color:var(--sub);}
.uc-pay-opt.on{border-color:var(--accent); color:var(--accent); background:var(--accent-soft);}
.uc-pay-opt input{display:none;}
.uc-pay-opt .off{color:#b8c0cc;}
.uc-total-line{display:flex; justify-content:space-between; align-items:baseline; margin:16px 0 6px;}
.uc-total-line b{font-size:22px; color:var(--danger);}

/* 收银台 iframe 弹窗 */
.uc-payframe{width:100%; height:60vh; min-height:420px; border:0; display:block; background:#fff;}
.uc-pay-box{width:460px; max-width:100%;}

/* toast */
.uc-toast{position:fixed; left:50%; bottom:90px; transform:translateX(-50%); z-index:5000; max-width:80vw;
    padding:11px 18px; border-radius:12px; background:rgba(17,24,39,.92); color:#fff; font-size:14px;
    opacity:0; visibility:hidden; transition:opacity .2s; text-align:center;}
.uc-toast.show{opacity:1; visibility:visible;}

/* 移动端底部图标 tabbar */
.uc-tabbar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:60; height:60px; background:#fff; border-top:1px solid var(--line); padding-bottom:env(safe-area-inset-bottom);}
.uc-tabbar a{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--muted); font-size:11.5px;}
.uc-tabbar a .uc-ico{width:21px; height:21px;}
.uc-tabbar a.on{color:var(--accent);}
/* 移动端抽屉遮罩 */
.uc-scrim{display:none; position:fixed; inset:0; z-index:55; background:rgba(15,23,42,.4);}

/* 推广 / 海报 */
.uc-poster{width:320px; max-width:100%; background:var(--grad); border-radius:20px; padding:28px 22px; color:#fff; position:relative; overflow:hidden; box-shadow:0 16px 40px rgba(91,108,255,.28);}
.uc-poster .pqr{background:#fff; padding:10px; border-radius:10px; display:inline-block; margin:10px 0;}
.uc-link-box{background:var(--accent-soft); border-radius:12px; padding:14px; word-break:break-all; font-size:13px; color:var(--accent);}
.uc-copy{margin-top:10px;}

/* ===== 窄屏：侧栏转抽屉、显示 tabbar、表单/弹窗全宽 ===== */
@media (max-width:900px){
    .uc-menu-btn{display:inline-flex;}
    .uc-top-right .uc-top-home{display:none;}
    .uc-layout{display:block; margin:14px auto; padding:0 14px;}
    .uc-side{
        position:fixed; top:0; left:0; bottom:0; width:280px; max-width:84vw; z-index:80; margin:0;
        padding:16px 14px; overflow-y:auto; background:var(--bg);
        transform:translateX(-100%); transition:transform .24s ease; box-shadow:0 0 40px rgba(15,23,42,.18);
    }
    body.uc-drawer-open .uc-side{transform:translateX(0);}
    body.uc-drawer-open .uc-scrim{display:block;}
    .uc-main{padding-bottom:76px;}
    .uc-pagetitle{font-size:17px;}
    .uc-tabbar{display:flex;}
    .uc-modal-box{width:100%;}
    .uc-form{max-width:100%;}
    .uc-auth{max-width:100%;padding:24px 16px 40px;min-height:auto;}
    .uc-auth .uc-panel{padding:28px 20px 24px;}
    .uc-main--solo{padding-bottom:76px;}
    .uc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px;}
    .uc-toast{bottom:80px;}
    .uc-hero{padding:20px;}
    .uc-hero-stats{border-left:none; padding-left:0; width:100%; gap:22px;}
    .uc-list thead{display:none;}
    .uc-list,.uc-list tbody,.uc-list tr,.uc-list td{display:block; width:100%;}
    .uc-list tr{border:1px solid var(--line); border-radius:12px; margin-bottom:10px; padding:4px 0; background:#fff; box-shadow:var(--shadow);}
    .uc-list td{border-bottom:0; padding:8px 12px; display:flex; justify-content:space-between; gap:12px;}
    .uc-list td::before{content:attr(data-l); color:var(--muted); font-size:13px; flex:0 0 auto;}
    .uc-list td.full{display:block;}
    .uc-list td.full::before{display:block; margin-bottom:4px;}
    .uc-order-table{display:none;}
    .uc-order-cards{display:block;}
    .uc-cats{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
    .uc-cats::-webkit-scrollbar{display:none;}
    .uc-order-search-pc{display:none;}
    .uc-search-m{display:flex;}
    .uc-odetail{align-items:flex-end;padding:0;}
    .uc-odetail .uc-modal-box{width:100%;max-width:100%;max-height:82vh;border-radius:16px 16px 0 0;background:var(--bg);animation:ucSheetUp .22s ease-out;}
    .uc-odetail .uc-modal-head{border-radius:16px 16px 0 0;}
}

/* ============ /user/ 会员中心公告弹窗配色（仅会员中心，其它模板保持默认蓝） ============
   公共 site-notice.css 头部/按钮默认是蓝色渐变，且它在 uc_css 里晚于本文件加载；
   靠会员中心专有容器 .app 前缀提权覆写为「白底深色字 + 主色按钮」，不受加载顺序影响。 */
.app .sn-head{background:#fff;color:var(--ink);border-bottom:1px solid var(--line2);}
.app .sn-title{color:var(--ink);}
.app .sn-tag{background:var(--accent-soft);color:var(--accent);}
.app .sn-x{color:var(--muted);}
.app .sn-x:hover{background:#eef1f6;color:var(--sub);}
.app .sn-btn{background:var(--accent);color:#fff;}
.app .sn-btn:hover{filter:brightness(1.05);}
