/* ===== 全局 ===== */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; background:#f5f7fa; color:#333; font-size:14px; }
a { text-decoration:none; color:inherit; }
ul,ol { list-style:none; }
img { display:block; max-width:100%; }
.container { max-width:1280px; margin:0 auto; padding:0 16px; }

/* ===== 顶部栏 ===== */
.topbar { background:#fff; border-bottom:1px solid #e8e8e8; }
.topbar-inner { max-width:1280px; margin:0 auto; padding:0 16px; height:64px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:10px; }
.logo-icon { font-size:32px; }
.logo-text { font-size:22px; font-weight:bold; color:#1e88e5; letter-spacing:1px; }
.topbar-right { display:flex; align-items:center; gap:16px; }
.topbar-link { color:#666; font-size:14px; }
.topbar-link:hover { color:#1e88e5; }
.btn-register { background:#1e88e5; color:#fff; padding:8px 24px; border-radius:20px; font-size:14px; }
.btn-register:hover { background:#1976d2; }

/* ===== 主导航 ===== */
.main-nav { background:#fff; box-shadow:0 2px 8px rgba(0,0,0,0.06); position:sticky; top:0; z-index:100; }
.nav-inner { max-width:1280px; margin:0 auto; padding:0 16px; display:flex; align-items:center; height:52px; gap:24px; }
.nav-menu { display:flex; align-items:center; gap:4px; flex:1; overflow-x:auto; }
.nav-menu li a { display:block; padding:0 16px; line-height:52px; color:#333; font-size:15px; white-space:nowrap; border-bottom:3px solid transparent; transition:all .2s; }
.nav-menu li a:hover { color:#1e88e5; }
.nav-menu li a.active { color:#1e88e5; border-bottom-color:#1e88e5; font-weight:bold; }
.nav-search { display:flex; align-items:center; border:1px solid #ddd; border-radius:20px; overflow:hidden; background:#f5f7fa; }
.nav-search input { border:none; background:transparent; padding:8px 16px; width:200px; outline:none; font-size:14px; }
.nav-search button { border:none; background:transparent; padding:8px 16px; cursor:pointer; font-size:16px; }
.nav-toggle { display:none; background:none; border:none; font-size:22px; cursor:pointer; }

/* ===== 轮播图 ===== */
.banner { max-width:1280px; margin:20px auto; padding:0 16px; }
.banner-slider { position:relative; width:100%; height:380px; border-radius:12px; overflow:hidden; background:#e3f2fd; }
.banner-slides { position:relative; width:100%; height:100%; }
.banner-slide { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transition:opacity .8s; }
.banner-slide.active { opacity:1; }
.banner-slide img { width:100%; height:100%; object-fit:cover; }
.banner-caption { position:absolute; left:0; right:0; bottom:0; padding:40px 40px 24px; background:linear-gradient(to top,rgba(0,0,0,.6),transparent); color:#fff; font-size:28px; font-weight:bold; }
.banner-dots { position:absolute; right:24px; bottom:16px; display:flex; gap:8px; }
.banner-dots span { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:all .2s; }
.banner-dots span.active { background:#fff; width:28px; border-radius:5px; }

/* ===== 频道板块 ===== */
.channel-section { margin-bottom:32px; }
.section-head { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:20px; }
.section-head .deco { color:#1e88e5; font-size:20px; }
.section-head h2 { font-size:26px; font-weight:bold; color:#333; }
.channel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:16px; }
.channel-card { background:#fff; border-radius:12px; padding:28px 16px; text-align:center; cursor:pointer; transition:all .3s; border:1px solid #f0f0f0; }
.channel-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,0.1); }
.channel-icon { width:56px; height:56px; margin:0 auto 12px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:28px; }
.channel-name { font-size:15px; color:#333; font-weight:500; }

/* ===== 子栏目+资源区 ===== */
.cat-section { margin-bottom:32px; }
.cat-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid #1e88e5; }
.cat-header h3 { font-size:20px; color:#1e88e5; }
.cat-header .more { color:#999; font-size:13px; }
.cat-header .more:hover { color:#1e88e5; }
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }

/* 资源卡片 */
.res-card { background:#fff; border-radius:10px; overflow:hidden; transition:all .3s; border:1px solid #f0f0f0; }
.res-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,0.1); }
.res-cover { position:relative; width:100%; padding-top:56.25%; background:#e3f2fd; overflow:hidden; }
.res-cover img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.res-cover .play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:48px; height:48px; background:rgba(0,0,0,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; }
.res-cover .res-type { position:absolute; top:8px; left:8px; background:rgba(30,136,229,.9); color:#fff; padding:2px 8px; border-radius:4px; font-size:12px; }
.res-body { padding:14px; }
.res-title { font-size:15px; font-weight:500; color:#333; line-height:1.5; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.res-card:hover .res-title { color:#1e88e5; }
.res-meta { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#999; }
.res-source { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60%; }
.res-stats { display:flex; gap:12px; }

/* ===== 温馨提示 ===== */
.tips-section { background:linear-gradient(135deg,#e3f2fd,#bbdefb); border-radius:12px; padding:32px; margin-bottom:32px; }
.tips-section h2 { text-align:center; font-size:24px; margin-bottom:24px; color:#1565c0; }
.tips-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.tip-card { background:#fff; border-radius:10px; padding:20px; text-align:center; }
.tip-card .tip-icon { font-size:40px; margin-bottom:10px; }
.tip-card h4 { font-size:16px; margin-bottom:6px; }
.tip-card p { font-size:13px; color:#999; }

/* ===== 页脚 ===== */
.footer { background:#1a2332; color:#999; padding:32px 0; margin-top:40px; }
.footer-inner { max-width:1280px; margin:0 auto; padding:0 16px; text-align:center; }
.footer-links { margin-bottom:16px; }
.footer-links a { color:#bbb; margin:0 8px; font-size:13px; }
.footer-links a:hover { color:#fff; }
.footer-links span { color:#555; }
.footer-info p { font-size:12px; line-height:1.8; }

/* ===== 面包屑 ===== */
.breadcrumb { max-width:1280px; margin:16px auto; padding:0 16px; font-size:13px; color:#999; }
.breadcrumb a { color:#666; }
.breadcrumb a:hover { color:#1e88e5; }

/* ===== 频道页横幅 ===== */
.channel-banner { height:200px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:36px; font-weight:bold; margin-bottom:24px; position:relative; overflow:hidden; }
.channel-banner::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(135deg,rgba(255,255,255,.1),transparent); }
.channel-banner span { position:relative; z-index:1; }

/* ===== 子栏目导航 ===== */
.subcat-nav { background:#fff; border-radius:12px; padding:20px; margin-bottom:24px; display:flex; flex-wrap:wrap; gap:12px; }
.subcat-nav a { padding:8px 20px; border-radius:20px; background:#f5f7fa; color:#666; font-size:14px; transition:all .2s; }
.subcat-nav a:hover, .subcat-nav a.active { background:#1e88e5; color:#fff; }

/* ===== 详情页 ===== */
.detail-wrap { display:grid; grid-template-columns:1fr 320px; gap:24px; max-width:1280px; margin:0 auto; padding:0 16px 32px; }
.detail-main { background:#fff; border-radius:12px; padding:32px; }
.detail-title { font-size:24px; font-weight:bold; line-height:1.5; margin-bottom:16px; }
.detail-meta { display:flex; flex-wrap:wrap; gap:20px; color:#999; font-size:13px; padding-bottom:16px; border-bottom:1px solid #f0f0f0; margin-bottom:24px; }
.detail-meta span { display:flex; align-items:center; gap:4px; }
.detail-video { width:100%; margin-bottom:24px; border-radius:8px; overflow:hidden; background:#000; }
.detail-video video { width:100%; max-height:500px; }
.detail-content { line-height:1.9; font-size:15px; color:#444; }
.detail-content p { margin-bottom:16px; }
.detail-content img { max-width:100%; border-radius:6px; margin:12px 0; }
.detail-content video { max-width:100%; border-radius:8px; margin:12px 0; background:#000; display:block; }
.detail-content h1,.detail-content h2,.detail-content h3,.detail-content h4 { margin:20px 0 10px; color:#222; }
.detail-content h1 { font-size:22px; }
.detail-content h2 { font-size:19px; }
.detail-content h3 { font-size:17px; }
.detail-content blockquote { border-left:4px solid #1e88e5; background:#f0f7ff; margin:12px 0; padding:10px 18px; color:#555; border-radius:0 6px 6px 0; }
.detail-content a { color:#1e88e5; text-decoration:underline; }
.detail-content ul,.detail-content ol { padding-left:28px; margin:10px 0; }
.detail-content ul li,.detail-content ol li { margin-bottom:6px; }
.detail-actions { margin-top:24px; padding-top:20px; border-top:1px solid #f0f0f0; display:flex; gap:16px; }
.btn-action { padding:8px 24px; border:1px solid #ddd; border-radius:20px; background:#fff; cursor:pointer; font-size:14px; color:#666; }
.btn-action:hover { border-color:#1e88e5; color:#1e88e5; }
.detail-side .side-block { background:#fff; border-radius:12px; padding:20px; margin-bottom:20px; }
.side-block h3 { font-size:16px; margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid #1e88e5; }
.related-list li { padding:10px 0; border-bottom:1px solid #f5f5f5; }
.related-list li:last-child { border-bottom:none; }

/* ===== 课程商城 / 商品详情 ===== */
.res-price { color:#FF7A45; font-weight:700; font-size:15px; }
.res-price small { font-size:12px; }
.prod-hero { display:flex; gap:28px; align-items:flex-start; }
.prod-cover { flex:0 0 300px; width:300px; }
.prod-cover img { width:100%; border-radius:10px; object-fit:cover; background:#eef3ff; }
.prod-info { flex:1; min-width:0; }
.prod-price { display:flex; align-items:baseline; gap:10px; margin:6px 0 14px; }
.pp-now { color:#FF7A45; font-size:30px; font-weight:800; }
.pp-old { color:#bbb; font-size:15px; text-decoration:line-through; }
.pp-unit { color:#999; font-size:14px; }
.prod-meta { display:flex; flex-wrap:wrap; gap:18px; color:#888; font-size:13px; margin-bottom:22px; }
.prod-buy { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.prod-buy-btn { padding:12px 34px; font-size:16px; border-radius:24px; text-decoration:none; }
.prod-tip { color:#999; font-size:12px; margin-top:14px; line-height:1.7; }
.promo-card { border-top:3px solid #FF7A45; }
.promo-rate { font-size:15px; color:#444; margin-bottom:8px; }
.promo-rate b { color:#FF7A45; font-size:20px; }
.promo-desc { color:#888; font-size:13px; line-height:1.7; margin-bottom:12px; }
.promo-link { display:flex; gap:8px; }
.promo-link input { flex:1; min-width:0; border:1px solid #e3e3e3; border-radius:6px; padding:8px 10px; font-size:12px; color:#666; background:#fafafa; }
.btn { display:inline-block; padding:9px 20px; border-radius:8px; font-size:14px; cursor:pointer; text-decoration:none; border:1px solid transparent; }
.btn-primary { background:linear-gradient(90deg,#3B6CFF,#1FC8DB); color:#fff; border:none; }
.btn-primary:hover { opacity:.9; color:#fff; }
@media (max-width:680px) {
  .prod-hero { flex-direction:column; }
  .prod-cover { width:100%; flex:none; }
}
.related-list a { font-size:14px; color:#555; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.related-list a:hover { color:#1e88e5; }
.related-list .related-meta { font-size:12px; color:#bbb; margin-top:4px; }

/* ===== 搜索页 ===== */
.search-header { text-align:center; padding:32px 0; }
.search-header h2 { font-size:22px; margin-bottom:8px; }
.search-header p { color:#999; }

/* ===== 分页 ===== */
.pagination { display:flex; justify-content:center; align-items:center; gap:6px; padding:32px 0; }
.pagination a, .pagination span { display:inline-block; min-width:36px; height:36px; line-height:36px; text-align:center; border:1px solid #e0e0e0; border-radius:6px; padding:0 10px; font-size:14px; color:#666; background:#fff; }
.pagination a:hover { border-color:#1e88e5; color:#1e88e5; }
.pagination .current { background:#1e88e5; color:#fff; border-color:#1e88e5; }
.pagination .disabled { color:#ccc; cursor:not-allowed; }
.pagination .pginfo { border:none; color:#999; }

/* ===== 响应式 ===== */
@media (max-width:1024px) {
  .detail-wrap { grid-template-columns:1fr; }
  .banner-slider { height:280px; }
  .banner-caption { font-size:22px; padding:30px 24px 16px; }
}
@media (max-width:768px) {
  .topbar-inner { height:56px; }
  .logo-text { font-size:18px; }
  .nav-inner { flex-wrap:wrap; height:auto; padding:8px 16px; gap:8px; }
  .nav-menu { display:none; flex-direction:column; width:100%; order:3; }
  .nav-menu.show { display:flex; }
  .nav-menu li a { line-height:44px; border-bottom:1px solid #f0f0f0; }
  .nav-search { width:100%; }
  .nav-search input { flex:1; width:auto; }
  .nav-toggle { display:block; }
  .banner-slider { height:200px; }
  .banner-caption { font-size:16px; padding:20px 16px 12px; }
  .channel-grid { grid-template-columns:repeat(3,1fr); gap:10px; }
  .channel-card { padding:16px 8px; }
  .channel-icon { width:44px; height:44px; font-size:22px; border-radius:12px; }
  .channel-name { font-size:13px; }
  .cat-grid { grid-template-columns:1fr; }
  .section-head h2 { font-size:20px; }
  .channel-banner { height:120px; font-size:24px; }
  .detail-main { padding:20px; }
  .detail-title { font-size:19px; }
}

/* ============================================================
   智学云 · 用户中心（会员端品牌样式）
   品牌：#3B6CFF→#1FC8DB 渐变 / 橙 #FF7A45 金额强调 / 背景 #F4F6FB
   ============================================================ */
:root {
  --blue:#3B6CFF; --blue-d:#2F54D0; --cyan:#1FC8DB;
  --orange:#FF7A45; --orange-d:#F4511E;
  --bg:#F4F6FB; --card:#fff; --line:#E9EDF6;
  --t1:#1F2329; --t2:#6B7280;
  --radius:16px; --shadow:0 6px 20px rgba(59,108,255,.08);
}
.auth-body { background:linear-gradient(135deg,#EEF3FF 0%,#F4F6FB 50%,#E6F7FB 100%); min-height:100vh; }
.auth-wrap { max-width:420px; margin:0 auto; padding:56px 16px; }
.auth-logo { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:8px; }
.auth-logo .logo-block { width:40px; height:40px; border-radius:12px; background:linear-gradient(135deg,#3B6CFF,#1FC8DB); display:flex; align-items:center; justify-content:center; font-size:20px; color:#fff; }
.auth-logo span { font-size:24px; font-weight:800; color:#1F2329; letter-spacing:1px; }
.auth-sub { text-align:center; font-size:13px; color:#6B7280; margin-bottom:28px; }
.auth-card { background:#fff; border-radius:16px; padding:32px 30px; box-shadow:0 12px 40px rgba(59,108,255,.12); border:1px solid #E9EDF6; }
.auth-tabs { display:flex; gap:8px; margin-bottom:24px; }
.auth-tabs a { flex:1; text-align:center; padding:10px 0; border-radius:10px; font-size:14px; color:#6B7280; font-weight:600; }
.auth-tabs a.on { background:linear-gradient(90deg,#EEF3FF,#E6F7FB); color:#3B6CFF; }
.auth-form .field { margin-bottom:16px; }
.auth-form label { display:block; font-size:13px; color:#6B7280; margin-bottom:6px; }
.auth-form input { width:100%; padding:12px 14px; border:1px solid #E9EDF6; border-radius:10px; font-size:14px; outline:none; background:#F8FAFF; transition:border-color .2s, box-shadow .2s; }
.auth-form input:focus { border-color:#3B6CFF; box-shadow:0 0 0 3px rgba(59,108,255,.12); background:#fff; }
.auth-cap { display:flex; gap:10px; align-items:center; }
.auth-cap input { flex:1; }
.auth-cap .cap-box { flex:none; min-width:110px; text-align:center; padding:11px 0; border:1px dashed #3B6CFF; border-radius:10px; background:#EEF3FF; color:#3B6CFF; font-size:15px; font-weight:800; cursor:pointer; user-select:none; }
.auth-btn { width:100%; padding:13px; border:none; border-radius:12px; background:linear-gradient(90deg,#3B6CFF,#1FC8DB); color:#fff; font-size:15px; font-weight:700; cursor:pointer; margin-top:6px; transition:opacity .2s; }
.auth-btn:hover { opacity:.9; }
.auth-tip { text-align:center; font-size:13px; color:#6B7280; margin-top:18px; }
.auth-tip a { color:#3B6CFF; font-weight:600; }
.auth-error { background:#FFF1F0; border:1px solid #FFCCC7; color:#CF1322; font-size:13px; padding:10px 14px; border-radius:10px; margin-bottom:16px; }
.auth-note { font-size:12px; color:#9AA0AC; text-align:center; margin-top:14px; line-height:1.7; }

/* ===== 顶部用户菜单 ===== */
.user-drop { position:relative; }
.user-chip { display:flex; align-items:center; gap:8px; padding:4px 12px 4px 4px; border-radius:999px; border:1px solid #E9EDF6; background:#F8FAFF; transition:all .2s; }
.user-chip:hover { border-color:#3B6CFF; }
.user-avatar { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#3B6CFF,#1FC8DB); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.user-name { font-size:13px; color:#1F2329; font-weight:600; max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drop-menu { display:none; position:absolute; right:0; top:42px; background:#fff; border:1px solid #E9EDF6; border-radius:12px; box-shadow:0 12px 32px rgba(31,35,41,.12); padding:6px; min-width:150px; z-index:999; }
.drop-menu a { display:block; padding:9px 14px; border-radius:8px; font-size:13px; color:#1F2329; }
.drop-menu a:hover { background:#EEF3FF; color:#3B6CFF; }
.user-drop:hover .drop-menu { display:block; }
.topbar-msg { position:relative; font-size:17px; padding:6px; }
.msg-dot { position:absolute; top:-2px; right:-6px; background:#FF7A45; color:#fff; font-size:10px; min-width:16px; height:16px; line-height:16px; text-align:center; border-radius:999px; padding:0 4px; }

/* ===== 个人中心 ===== */
.uc { display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; margin:20px 0; }
.uc-side { background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:20px; position:sticky; top:130px; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.uc-user { text-align:center; padding-bottom:18px; border-bottom:1px solid #E9EDF6; margin-bottom:14px; }
.uc-user .av { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#3B6CFF,#1FC8DB); color:#fff; font-size:24px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; }
.uc-user .uname { font-weight:700; font-size:15px; }
.uc-user .vip { display:inline-block; background:linear-gradient(90deg,#7B5CFF,#3B6CFF); color:#fff; font-size:11px; padding:3px 10px; border-radius:999px; margin-top:6px; }
.uc-user .no-vip { display:inline-block; background:#F4F6FB; color:#6B7280; font-size:11px; padding:3px 10px; border-radius:999px; margin-top:6px; }
.uc-menu a { display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px; font-size:14px; color:#1F2329; cursor:pointer; margin-bottom:2px; }
.uc-menu a:hover { background:#EEF3FF; color:#3B6CFF; }
.uc-menu a.on { background:linear-gradient(90deg,#EEF3FF,#E6F7FB); color:#3B6CFF; font-weight:700; }
.uc-menu a .dotn { margin-left:auto; background:#FF7A45; color:#fff; font-size:11px; padding:1px 7px; border-radius:999px; }
.uc-main .uc-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }
.uc-stat { background:#fff; border:1px solid #E9EDF6; border-radius:14px; padding:16px; text-align:center; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.uc-stat .n { font-size:24px; font-weight:800; background:linear-gradient(90deg,#3B6CFF,#1FC8DB); -webkit-background-clip:text; background-clip:text; color:transparent; }
.uc-stat .l { font-size:12px; color:#6B7280; margin-top:4px; }
.uc-panel { background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:20px; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.uc-panel h3 { font-size:17px; font-weight:800; margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; }
.uc-panel h3 .more { font-size:12px; color:#6B7280; font-weight:400; }
.uc-row { display:flex; align-items:center; gap:14px; padding:14px; border:1px solid #E9EDF6; border-radius:12px; margin-bottom:12px; }
.uc-row:last-child { margin-bottom:0; }
.uc-row .cv { width:80px; height:54px; border-radius:8px; flex:none; background:linear-gradient(135deg,#3B6CFF,#1FC8DB); }
.uc-row .cv img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.uc-row .info { flex:1; min-width:0; }
.uc-row .info h4 { font-size:14px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uc-row .info p { font-size:12px; color:#6B7280; }
.uc-row .bar { height:6px; border-radius:6px; background:#E9EDF6; overflow:hidden; margin-top:6px; }
.uc-row .bar i { display:block; height:100%; background:linear-gradient(90deg,#3B6CFF,#1FC8DB); }
.msg-item { display:flex; gap:12px; padding:14px; border:1px solid #E9EDF6; border-radius:12px; margin-bottom:12px; align-items:flex-start; }
.msg-item.unread { background:#F8FAFF; border-color:#C9D8FF; }
.msg-item .m-ico { font-size:20px; flex:none; }
.msg-item .m-body { flex:1; min-width:0; }
.msg-item .m-body h4 { font-size:14px; font-weight:700; }
.msg-item .m-body p { font-size:13px; color:#6B7280; margin-top:4px; line-height:1.6; }
.msg-item .m-time { font-size:11px; color:#9AA0AC; flex:none; }
.msg-dot2 { width:8px; height:8px; border-radius:50%; background:#FF7A45; flex:none; margin-top:6px; }
.empty { text-align:center; padding:56px 20px; color:#9AA0AC; font-size:14px; }
.empty .e-ico { font-size:42px; margin-bottom:12px; }

/* ===== 通用按钮 ===== */
.btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:999px; font-size:13px; font-weight:600; cursor:pointer; border:1px solid #E9EDF6; background:#fff; color:#1F2329; transition:all .2s; }
.btn:hover { border-color:#3B6CFF; color:#3B6CFF; }
.btn-primary { background:linear-gradient(90deg,#3B6CFF,#1FC8DB); color:#fff; border:none; }
.btn-primary:hover { opacity:.9; color:#fff; }
.btn-ghost { background:#F8FAFF; border:1px solid #C9D8FF; color:#3B6CFF; }
.btn-ghost:hover { background:#EEF3FF; }
.btn-orange { background:linear-gradient(90deg,#FF7A45,#FF5277); color:#fff; border:none; }
.btn-orange:hover { opacity:.9; color:#fff; }

/* ===== 推广中心 ===== */
.breadcrumb { display:flex; align-items:center; gap:8px; margin:18px 0; font-size:13px; color:#9AA0AC; }
.breadcrumb a { color:#6B7280; }
.breadcrumb a:hover { color:#3B6CFF; }
.breadcrumb .sep { color:#D1D5DB; }
.pc-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.pc-stat { background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:18px; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.pc-stat .n { font-size:26px; font-weight:800; background:linear-gradient(90deg,#FF7A45,#FF5277); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pc-stat .l { font-size:13px; color:#6B7280; margin-top:4px; }
.pc-code { display:grid; grid-template-columns:1fr 300px; gap:20px; background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:22px; margin-bottom:22px; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.pc-code .link-box { background:#F6F8FD; border:1px solid #E9EDF6; border-radius:10px; padding:12px 14px; font-size:13px; color:#6B7280; margin:10px 0; word-break:break-all; }
.pc-code .qr { width:200px; height:200px; border-radius:14px; background:repeating-conic-gradient(#1A2233 0 25%, #fff 0 50%) 50%/22px 22px; margin:0 auto; border:8px solid #fff; box-shadow:0 6px 20px rgba(31,35,41,.15); }
.pc-code .qr-note { text-align:center; font-size:12px; color:#6B7280; margin-top:10px; }
.pc-upgrade { background:linear-gradient(120deg,#FF7A45,#FF5277); color:#fff; border-radius:12px; padding:12px 16px; font-size:13px; margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pc-tabs { display:flex; gap:8px; border-bottom:2px solid #E9EDF6; margin-bottom:18px; flex-wrap:wrap; }
.pc-tabs .tab { padding:10px 18px; font-size:14px; color:#6B7280; cursor:pointer; }
.pc-tabs .tab.on { color:#FF7A45; font-weight:700; border-bottom:3px solid #FF7A45; margin-bottom:-2px; }
.rec { display:grid; grid-template-columns:1.2fr 1.2fr 1fr 1fr; gap:14px; background:#fff; border:1px solid #E9EDF6; border-radius:12px; padding:14px; margin-bottom:12px; font-size:13px; align-items:center; }
.rec .who { font-weight:700; }
.rec .tag { font-size:11px; padding:2px 8px; border-radius:6px; white-space:nowrap; }
.rec .tag.reg { background:#EEF3FF; color:#3B6CFF; }
.rec .tag.pay { background:#FFF3E0; color:#FF7A45; }
.rec .tag.money { color:#FF7A45; font-weight:700; }

/* 佣金账户卡 */
.pc-account { display:grid; grid-template-columns:1fr auto; grid-template-areas:"id btn" "grid grid"; gap:14px 18px; background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:20px 22px; margin-bottom:20px; box-shadow:0 6px 20px rgba(59,108,255,.06); align-items:center; }
.pc-identity { grid-area:id; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pc-rate { font-size:13px; color:#6B7280; background:#F6F8FD; border:1px solid #E9EDF6; border-radius:999px; padding:3px 12px; }
.pc-ac-grid { grid-area:grid; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.pc-ac-grid > div { background:#F6F8FD; border:1px solid #E9EDF6; border-radius:12px; padding:14px; text-align:center; }
.pc-ac-grid .n { font-size:20px; font-weight:800; color:#1A2233; }
.pc-ac-grid .l { font-size:12px; color:#8A93A8; margin-top:4px; }
.pc-account .btn-orange { grid-area:btn; }

/* 结算 / 支付 */
.co-box { background:#fff; border:1px solid #E9EDF6; border-radius:16px; padding:18px 20px; margin-bottom:16px; box-shadow:0 6px 20px rgba(59,108,255,.05); }
.co-h { font-size:15px; font-weight:800; margin-bottom:14px; }
.co-prod { display:flex; gap:14px; align-items:center; }
.co-cover { width:72px; height:72px; object-fit:cover; border-radius:12px; border:1px solid #E9EDF6; }
.co-info { flex:1; }
.co-title { font-weight:700; font-size:15px; color:#1A2233; }
.co-price { color:#FF7A45; font-weight:800; margin:6px 0; }
.co-qty { color:#8A93A8; font-size:13px; }
.co-addr { display:flex; flex-direction:column; gap:10px; }
.co-addr-item { display:flex; gap:10px; align-items:flex-start; border:1px solid #E9EDF6; border-radius:12px; padding:12px; cursor:pointer; }
.co-addr-item:has(input:checked) { border-color:#3B6CFF; background:#F6F8FD; }
.co-pay { display:flex; gap:10px; align-items:center; border:1px solid #E9EDF6; border-radius:12px; padding:12px 14px; margin-bottom:10px; cursor:pointer; }
.co-pay:has(input:checked) { border-color:#3B6CFF; background:#F6F8FD; }
.co-input { width:100%; padding:10px 12px; border:1px solid #E9EDF6; border-radius:10px; font-size:14px; outline:none; margin-top:6px; }
.co-foot { display:flex; align-items:center; justify-content:space-between; }
.co-total b { color:#FF7A45; }
.pr-box { background:#fff; border:1px solid #E9EDF6; border-radius:18px; padding:34px 24px; text-align:center; box-shadow:0 6px 20px rgba(59,108,255,.06); }
.pr-ico { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; margin:0 auto 14px; }
.pr-title { font-size:22px; font-weight:800; }
.pr-sub { color:#8A93A8; font-size:13px; margin:8px 0 20px; }
.pr-order { text-align:left; max-width:380px; margin:0 auto 22px; border-top:1px solid #F0F2F7; padding-top:14px; }
.pr-row { display:flex; justify-content:space-between; padding:7px 0; font-size:14px; }
.pr-row span { color:#8A93A8; }
.pr-item { font-size:13px; }
.pr-actions { display:flex; gap:12px; justify-content:center; }

/* ===== 用户中心响应式 ===== */
@media (max-width:1024px) {
  .uc { grid-template-columns:1fr; }
  .uc-side { position:static; }
  .uc-menu { display:flex; flex-wrap:wrap; gap:6px; }
  .uc-menu a { padding:8px 12px; font-size:13px; }
  .pc-code { grid-template-columns:1fr; }
  .pc-code .qr { display:none; }
}
@media (max-width:768px) {
  .uc-stats, .pc-stats { grid-template-columns:repeat(2,1fr); }
  .uc-stat .n { font-size:20px; }
  .rec { grid-template-columns:1fr 1fr; gap:8px; }
  .user-name { max-width:70px; }
}
