/* 个人中心系列页面共用样式 */
/* style.css 里 html/body 被设成 overflow:hidden（首页双栏要用），这里必须盖掉，否则整页滚不动 */
html { overflow-y: auto !important; overflow-x: hidden; height: auto; }
/* body 不能自己当滚动容器，否则页面里的 position:sticky 顶栏失效 */
body { overflow: visible !important; height: auto !important; min-height: 100vh; }
body.m-body { display:block; height:auto; min-height:100vh; overflow-y:auto; overflow-x:hidden; background:#FFFFFF; }

.m-bar {
  position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:10px;
  height:50px; padding:0 14px; background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border); backdrop-filter:blur(10px);
}
.m-bar .back {
  width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:20px; color:var(--text); text-decoration:none; background:#F3F0F1; flex:none; line-height:1;
}
.m-bar .back:hover { background:var(--brand-soft); color:var(--brand); }
.m-bar h1 { font-size:16px; font-weight:800; letter-spacing:.3px; }
.m-bar .right { margin-left:auto; font-size:13px; color:var(--text-3); text-decoration:none; }

.m-page { max-width:680px; margin:0 auto; padding:16px 14px 60px; }

/* 顶部渐变 */
.m-hero {
  margin:-16px -14px 0; padding:18px 18px 26px;
  background:linear-gradient(160deg,#F7C6D3 0%,#FBE3E9 58%,#FDF4F6 100%);
}
.m-hero h1 { font-size:19px; font-weight:800; color:#7A3A48; }

/* 用户卡 */
.m-user {
  margin-top:-18px; background:#fff; border-radius:18px; padding:18px 18px 4px;
  box-shadow:0 6px 20px rgba(120,60,70,.07);
}
.m-user .top { display:flex; align-items:center; gap:14px; }
.m-user .av {
  width:62px; height:62px; border-radius:50%; background:#F3ECEE; color:#9A7078;
  font-size:22px; font-weight:800; display:flex; align-items:center; justify-content:center;
  overflow:hidden; flex:none; border:2px solid #fff; box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.m-user .av img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  border-radius:50%; display:block; transform:none;
}
/* 头像容器再兜一层：任何子元素都不能露到圆外面 */
.m-user .av { isolation:isolate; }
.m-user .av::before { content:none; }
.m-user .nm { font-size:18px; font-weight:800; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.m-user .sub { font-size:12px; color:var(--text-3); margin-top:5px; }
.m-user .nums { display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; padding:14px 0;
                border-top:1px solid var(--border); }
.m-user .nums a { text-align:center; text-decoration:none; border-radius:8px; padding:2px 0; }
.m-user .nums b { display:block; font-size:19px; font-weight:800; color:var(--text); line-height:1.2; }
.m-user .nums span { font-size:11px; color:var(--text-3); }
.m-user .nums a:hover b { color:var(--brand); }

/* 会员条 */
.m-vip {
  display:flex; align-items:center; gap:11px; margin-top:12px; padding:15px 16px; border-radius:14px;
  background:linear-gradient(135deg,#221C2B 0%,#3A2C39 100%);
}
.m-vip .txt { flex:1; min-width:0; }
.m-vip .txt b { display:block; font-size:13.5px; font-weight:800; color:#F7DDAE; }
.m-vip .txt span { font-size:11px; color:rgba(245,227,192,.62); }
.m-vip button {
  flex:none; border:none; border-radius:20px; padding:8px 15px; font-size:12px; font-weight:800;
  font-family:inherit; cursor:pointer; background:linear-gradient(180deg,#FFE9AE,#E6B44A); color:#3F2B00;
}
.m-vip .ico { color:#F0C979; }

/* 行列表 */
.m-group {
  background:#fff; border-radius:16px; margin-top:12px; overflow:hidden;
  border:1px solid #EDEAEB;
  box-shadow: 0 1px 3px rgba(17,24,39,.06), 0 5px 14px rgba(17,24,39,.08);
}
.m-row {
  display:flex; align-items:center; gap:12px; padding:15px 16px; text-decoration:none;
  color:var(--text); font-size:15px; font-weight:600; border-bottom:1px solid var(--border);
}
.m-row:last-child { border-bottom:none; }
.m-row:hover { background:#FBF7F8; }
.m-row .ico { width:20px; height:20px; color:var(--text-3); flex:none; }
.m-row .txt { flex:1; min-width:0; }
.m-row .tip { font-size:12px; color:var(--text-3); font-weight:500; }
.m-row .arr { color:#C9C4C6; font-size:16px; flex:none; }
.m-row.danger { color:#B4413A; }
.m-row.danger .ico { color:#B4413A; }

/* 图标 */
.ico { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8;
       stroke-linecap:round; stroke-linejoin:round; flex:none; display:block; }

/* 列表页条目 */
.m-item { display:flex; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); }
.m-item:last-child { border-bottom:none; }
.m-item .t { font-size:15px; font-weight:700; color:var(--text); text-decoration:none; line-height:1.45; }
.m-item .t:hover { color:var(--brand); }
.m-item .m { font-size:12px; color:var(--text-3); margin-top:6px; display:flex; gap:10px; flex-wrap:wrap; }
.m-item .r { flex:none; }
.m-item .who { display:flex; align-items:center; gap:11px; }
.m-item .who .a { width:38px; height:38px; border-radius:50%; background:#F3ECEE; color:#9A7078;
                  font-size:15px; font-weight:800; display:flex; align-items:center; justify-content:center;
                  overflow:hidden; flex:none; }
.m-item .who .a img { width:100%; height:100%; object-fit:cover; }

.st { font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; white-space:nowrap; }
.st.pending { background:#FFF7E0; color:#8A6100; }
.st.online, .st.done { background:#E9F8EF; color:#0E7A46; }
.st.rejected { background:#FDECEC; color:#C0271F; }
.st.offline { background:#F1F2F3; color:#5A5F66; }

.m-empty { padding:70px 20px; text-align:center; color:var(--text-3); font-size:13px; }
.m-empty .ico { width:38px; height:38px; margin:0 auto 14px; color:#CFC9CB; stroke-width:1.4; }
.m-empty b { display:block; font-size:15px; color:var(--text-2); margin-bottom:8px; font-weight:700; }

/* 表单 */
.m-form { background:#fff; border-radius:16px; padding:6px 16px 18px; margin-top:12px; }
.m-form label { display:block; font-size:12px; color:var(--text-3); margin:16px 0 7px; }
.m-form input {
  width:100%; height:44px; border:1px solid rgba(0,0,0,.12); border-radius:10px; padding:0 12px;
  font-size:15px; font-family:inherit; outline:none; background:#FAFAF8;
}
.m-form input:focus { border-color:var(--brand); background:#fff; }
.m-form .foot { display:flex; align-items:center; gap:12px; margin-top:20px; }
.m-form .foot button {
  padding:11px 30px; border:none; border-radius:10px; background:var(--brand); color:#fff;
  font-size:15px; font-weight:700; font-family:inherit; cursor:pointer;
}
.m-form .foot button:disabled { opacity:.6; }
.m-msg { font-size:12px; color:#0E7A46; }
.m-msg.bad { color:#C0271F; }

.m-kv { display:grid; grid-template-columns:100px 1fr; gap:15px 12px; font-size:14px; align-items:center; padding:6px 0; }
.m-kv dt { color:var(--text-3); font-size:13px; }
.m-kv dd { color:var(--text); font-weight:600; }

.m-note { font-size:12px; color:var(--text-3); line-height:1.8; padding:14px 16px; }

/* 举报卡 */
.rp { padding:14px 16px; border-bottom:1px solid var(--border); }
.rp:last-child { border-bottom:none; }
.rp .top { display:flex; align-items:center; gap:8px; }
.rp .top b { font-size:14px; font-weight:700; }
.rp .top .tm { margin-left:auto; font-size:11px; color:var(--text-3); }
.rp .pt { font-size:12px; color:var(--text-3); margin-top:6px; }
.rp .dt { font-size:13px; color:var(--text-2); margin-top:6px; }
.rp .hd { font-size:12px; color:#0E7A46; background:#F2FBF6; border-radius:8px; padding:8px 10px; margin-top:8px; }


/* 道具卡片 */
.m-items { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding:14px; }
.m-item-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:16px 14px; }
.m-item-card .n { font-size:14px; font-weight:800; color:var(--text); }
.m-item-card .q { margin-top:10px; font-size:12px; color:var(--text-3); }
.m-item-card .q b { font-size:22px; font-weight:800; color:var(--brand); margin-right:2px; }
.m-item-card .d { margin-top:8px; font-size:11.5px; color:var(--text-3); line-height:1.5; }
.m-item-card.off { opacity:.45; }

/* 帖子行操作按钮 */
.m-item .ops { display:flex; gap:6px; justify-content:flex-end; margin-top:8px; }
.m-op { border:1px solid rgba(196,30,58,.35); background:#FFF0F3; color:var(--brand);
        border-radius:8px; padding:4px 10px; font-size:12px; font-weight:700;
        font-family:inherit; cursor:pointer; }
.m-op:disabled { opacity:.5; cursor:default; }
/* 分组小标题 */
.m-gtitle { font-size:12px; font-weight:700; color:var(--text-3); letter-spacing:.5px; padding:18px 4px 8px; }
.m-gtitle:first-of-type { padding-top:4px; }



/* 联系我的：对方联系方式 */
.vw-item { align-items: flex-start; }
.vw-item .who { padding-top: 2px; }
.vhead { display: flex; align-items: center; gap: 8px; }
.vhead .m-op { flex: none; }
.vw-contact { margin-top: 10px; background: #FAFAF8; border-radius: 10px; padding: 4px 10px; }
.vw-contact .r { display: flex; align-items: center; gap: 8px; padding: 7px 0;
                 border-bottom: 1px solid rgba(0,0,0,.05); font-size: 13px; }
.vw-contact .r:last-child { border-bottom: none; }
.vw-contact .r span { width: 40px; flex: none; color: var(--text-3); font-size: 12px; }
.vw-contact .r b { flex: 1; font-weight: 600; word-break: break-all; }
.vw-contact .cp { flex: none; border: 1px solid rgba(196,30,58,.35); background: #FFF0F3;
                  color: var(--brand); border-radius: 8px; padding: 3px 10px; font-size: 11.5px;
                  font-family: inherit; cursor: pointer; }
.vw-contact.empty { color: var(--text-3); font-size: 12.5px; padding: 10px; }
/* 小屏不显示桌面版顶栏，用页面里的 .m-bar 代替 */
@media (max-width: 880px) { .topbar { display: none !important; } }

/* 发布页自带的页内标题，小屏时由 .m-bar 代替 */
@media (max-width: 880px) { .subpage > .back-bar { display: none !important; } }

/* ---------- 封禁提示 ---------- */
.ban-box{margin:0 12px 12px;padding:14px 15px;border-radius:14px;
  background:#FFF7F8;border:1px solid #FBE3E7}
.ban-box .bt{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.ban-box .bt svg{width:17px;height:17px;flex:0 0 auto;color:#C41E3A}
.ban-box .bt b{font-size:14px;font-weight:800;color:#C41E3A}
.ban-box .bl{font-size:12.5px;line-height:1.7;color:#8A6B70;margin-bottom:5px}
.ban-box .bf{font-size:12.5px;line-height:1.7;color:#A81B33;font-weight:700}

/* ---- PC 端：从单列窄条改成自适应栅格，观感跟 App 一致但不浪费屏幕 ---- */
@media (min-width: 900px) {
  .m-page { max-width: 1080px; padding: 22px 24px 80px; }
  /* 用户卡和会员卡并排 */
  .m-user, .m-vip { display: inline-block; vertical-align: top; }
  .m-user { width: calc(50% - 9px); margin-right: 14px; }
  .m-vip  { width: calc(50% - 9px); }
  /* 每组菜单：标题占一行，菜单块两列（只对「我的」页，列表页保持整行） */
  .page-mine .m-page { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; align-items: start; }
  .page-mine .m-hero, .page-mine .m-user, .page-mine .m-gtitle, .page-mine .m-vip { grid-column: 1 / -1; }
  .page-mine .m-group { display: block; }
  .page-mine .m-gtitle + .m-group { grid-column: auto; }
  .m-group { background: #fff; border-radius: 16px; box-shadow: 0 1px 3px rgba(23,23,33,.05), 0 6px 18px rgba(23,23,33,.05); }
}
@media (min-width: 1280px) {
  .m-page { max-width: 1220px; }
}

/* ---------- 关于我们 ---------- */
.ab-hero{display:flex;align-items:center;gap:13px;padding:20px 16px 16px}
.ab-logo{width:52px;height:52px;border-radius:15px;flex:none;
  box-shadow:0 6px 18px rgba(196,30,58,.2)}
.ab-tx{min-width:0}
.ab-nm{display:flex;align-items:center;gap:7px;font-size:20px;font-weight:800;
  color:#0F1115;letter-spacing:-.2px}
.ab-yr{font-size:10.5px;font-weight:600;color:#C41E3A;background:#FFF0F3;
  border:1px solid rgba(196,30,58,.16);border-radius:5px;padding:2px 7px;
  letter-spacing:.3px}
.ab-sg{font-size:12px;color:#9AA0AA;margin-top:5px}

.ab-stats{display:flex;margin:0 12px 12px;padding:16px 8px;background:#fff;
  border-radius:16px}
.ab-stats > div{flex:1;text-align:center;min-width:0;
  border-right:1px solid #F2F3F5}
.ab-stats > div:last-child{border-right:none}
.ab-stats b{display:block;font-size:19px;font-weight:800;color:#C41E3A;
  letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.ab-stats span{display:block;font-size:11px;color:#9AA0AA;margin-top:4px}

.ab-card{padding:18px 16px}
.ab-h{font-size:14px;font-weight:800;color:#0F1115;margin-bottom:12px;
  display:flex;align-items:center;gap:8px}
.ab-h::before{content:'';width:3px;height:14px;border-radius:2px;background:#C41E3A}
.ab-card p{margin:0 0 12px;font-size:13.5px;line-height:1.95;color:#3A3F47;
  letter-spacing:.1px}
.ab-card p:last-child{margin-bottom:0}
.ab-card p.ab-em{color:#C41E3A;font-weight:600}

.ab-rule{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #F5F6F7}
.ab-rule:last-child{border-bottom:none;padding-bottom:0}
.ab-rule b{flex:none;font-size:13px;font-weight:800;color:#E7C9D0;
  font-variant-numeric:tabular-nums;padding-top:1px}
.ab-rule i{display:block;font-style:normal;font-size:13.5px;font-weight:700;
  color:#1A1A1E}
.ab-rule em{display:block;font-style:normal;font-size:12px;line-height:1.75;
  color:#9AA0AA;margin-top:4px}

.ab-card p.ab-warn{font-size:12.5px;line-height:1.9;color:#8A6B70}
.ab-foot{text-align:center;font-size:11.5px;color:#C6CAD1;
  padding:6px 0 28px;letter-spacing:.5px}

/* ============================================================
   我的：照 App 的 mine_page
   头像卡（含会员等级/有效期）→ 数据概览（双视角）→ 三快捷卡
   → 会员条 → 分组列表
   ============================================================ */

/* 头像卡下面那行会员信息 */
.m-user .m-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  font-size: 12.5px;
  color: var(--text-3);
}
.m-user .m-meta .dot { color: var(--border); }

/* 数据概览 */
.m-stat {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px 14px 6px;
  margin-top: 12px;
}
.m-stat-tabs { display: flex; gap: 6px; margin-bottom: 6px; }
.m-stat-tabs button {
  font-family: inherit;
  font-size: 12.5px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text-2);
  cursor: pointer;
}
.m-stat-tabs button.on {
  background: #FFF0F3;
  border-color: rgba(196, 30, 58, .35);
  color: var(--brand);
  font-weight: 600;
}
.m-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: 8px 0 10px; }
.m-stat-grid a { text-align: center; text-decoration: none; }
.m-stat-grid b {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.m-stat-grid span { font-size: 11.5px; color: var(--text-3); }

/* 三个快捷卡 */
.m-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
.m-quick a {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px 10px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  color: var(--text);
}
.m-quick a:active { transform: scale(.98); }
.m-quick .ico { width: 18px; height: 18px; color: var(--brand); }
.m-quick b { font-size: 13px; font-weight: 600; }
.m-quick span { font-size: 11px; color: var(--text-3); }

/* ============================================================
   我的：名片/概览/快捷卡/会员条 —— 照 mine_page.dart 的细节补齐
   ============================================================ */

/* 名片：头像 56、正文区、右上角会员徽章 */
.m-user .top { align-items: flex-start; }
.m-user .av { width: 56px; height: 56px; font-size: 21px; }
.m-user .u-main { min-width: 0; flex: 1; }
.m-user .nm { font-size: 18.5px; font-weight: 700; letter-spacing: -.3px; }
.m-user .sub { font-size: 11.5px; color: var(--text-3); margin-top: 5px; }

/* 标签行：职位（淡红）/ 已实名（绿）/ 加入 N 天（灰） */
.m-user .u-tags { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.m-user .u-tag {
  font-style: normal; font-size: 11px; font-weight: 600;
  padding: 2px 7px; border-radius: 5px;
}
.m-user .u-tag.title { background: #FFF0F3; color: var(--brand); }
.m-user .u-tag.ok { background: #E8F7F0; color: #0E7A46; border: 1px solid rgba(14,122,70,.22); font-size: 9.5px; padding: 2px 6px; border-radius: 4px; }
.m-user .u-join { font-style: normal; font-size: 9.5px; color: var(--text-3); }

/* 右上角会员徽章 */
.m-user .u-plan {
  flex: none; margin-top: 2px;
  font-size: 10.5px; font-weight: 700; line-height: 1.2;
  padding: 3px 8px; border-radius: 5px;
  border: 1px solid #F2DFB4; background: #FFF7E6; color: #8A6100;
  cursor: pointer;
}
.m-user .u-plan.svip { background: #1C1F26; border-color: #C9A227; color: #E9C46A; }

/* 两栏：会员等级 / 有效期至 */
.m-user .m-meta { display: flex; gap: 16px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--border); }
.m-user .mm-col { flex: 1; min-width: 0; }
.m-user .mm-k { font-size: 9.5px; letter-spacing: .8px; color: var(--text-3); }
.m-user .mm-v { margin-top: 5px; font-size: 13.5px; font-weight: 700; color: var(--text); letter-spacing: -.2px; }
.m-user .mm-level { font-weight: 700; color: var(--text-3); }
.m-user .mm-level.on { color: var(--brand); }
.m-user .mm-open { font-size: 10.5px; font-weight: 700; color: var(--brand); text-decoration: none; }

/* 数据概览：标题 + 右侧切换 */
.m-stat { padding: 0; overflow: hidden; }
.m-stat-head {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 16px 0 18px;
}
.m-stat-k { font-size: 9.5px; letter-spacing: .8px; color: var(--text-3); }
.m-stat-tabs { margin-left: auto; display: flex; gap: 4px; }
.m-stat-tabs button { font-size: 11px; padding: 4px 10px; }
.m-stat-grid { padding: 10px 16px 12px; }
.m-stat-grid b { font-size: 17px; font-weight: 700; }
.m-stat-grid span { font-size: 9.5px; }

/* 数据看板入口 */
.m-insight {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 14px 13px 16px;
  border-top: 1px solid var(--border);
  text-decoration: none; color: var(--text);
}
.m-insight .ico { width: 17px; height: 17px; color: var(--brand); flex: none; }
.m-insight b { font-size: 13.5px; font-weight: 600; }
.m-insight span { font-size: 11px; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-insight .arr { margin-left: auto; font-style: normal; color: var(--text-3); }

/* 快捷卡：图标在上、文字在下、居中 */
.m-quick a { align-items: center; text-align: center; }
.m-quick .ico { margin-bottom: 2px; }

/* 会员条：浅色卡 + 红色圆图标 + 红按钮（App 的配色，不是黑金） */
.m-vip {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.m-vip .ico {
  width: 34px; height: 34px; padding: 8px; box-sizing: border-box;
  border-radius: 50%; background: #FFF0F3; color: var(--brand); flex: none;
}
.m-vip .txt { flex: 1; min-width: 0; }
.m-vip .txt b { display: block; font-size: 14px; font-weight: 600; color: var(--text); }
.m-vip .txt span { display: block; font-size: 11.5px; color: var(--text-3); margin-top: 3px; }
.m-vip button {
  flex: none; border: none; border-radius: 999px;
  background: var(--brand); color: #fff;
  font-family: inherit; font-size: 12.5px; font-weight: 600;
  padding: 9px 16px; cursor: pointer;
}

/* ============================================================
   我的：列表行与分组标题照 mine_page.dart 的 _row / 分组
   行内边距 16/15 · 图标 20 #8E8E93 · 文案 15/600 · 提示 12.5 ·
   箭头 18 #C9C4C6 · 危险项 #B4413A 且无箭头
   ============================================================ */
.m-gtitle {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-3);
  padding: 0 18px;
  margin: 18px 0 8px;
}
.m-row {
  display: flex; align-items: center; gap: 12px;
  padding: 15px 16px;
  text-decoration: none; color: var(--text);
  background: #fff;
}
.m-row .ico { width: 20px; height: 20px; flex: none; color: var(--text-3); }
.m-row .txt { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; color: var(--text); }
.m-row .tip { font-size: 12.5px; color: var(--text-3); }
.m-row .arr { font-size: 15px; color: #C9C4C6; padding-left: 6px; }
.m-row.danger .ico,
.m-row.danger .txt { color: #B4413A; }
.m-row.danger .arr { display: none; }


/* 我的发布：置顶状态标签 */
/* 置顶标签：跟分类/曝光排同一行 */
.m-top { display:inline-flex; align-items:center; margin:0 2px 0 0; padding:2px 8px;
         border-radius:6px; background:#FFF0F3; color:#C41E3A;
         font-size:11px; font-weight:700; line-height:1.5; white-space:nowrap; }


/* 列表页（发布管理 / 收藏 / 浏览记录…）在宽屏下铺满整行 */
@media (min-width: 900px) {
  .m-body .m-page { max-width: 1080px; margin: 0 auto; }
  .m-body .m-group { width: 100%; }
  .m-item { padding: 16px 20px; }
  .m-item .t { font-size: 15px; }
  .m-item .r { margin-left: auto; }
  .m-item .ops { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
}

/* ── 发布管理：竖版卡片（和 App 一个布局） ── */
#list.pm-list { display: block; padding: 12px 14px 20px; background: #F7F7F9; }
.pm-card {
  background: #fff; border: 1px solid #EEF0F3; border-radius: 16px;
  padding: 16px 16px 14px; margin-bottom: 12px;
}
.pm-card:last-child { margin-bottom: 0; }
.pm-hd { display: flex; align-items: flex-start; gap: 10px; }
.pm-t {
  flex: 1; min-width: 0; font-size: 16px; font-weight: 700; line-height: 1.45;
  color: #1C1C1E; text-decoration: none;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pm-t:hover { color: #C41E3A; }
.pm-hd .st { flex: none; margin-top: 3px; }
.pm-card .m-top { display: inline-flex; align-items: center; margin-top: 0; }
.pm-meta {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  margin-top: 10px; font-size: 12.5px; color: #9AA0A6;
}
.pm-meta i { font-style: normal; color: #D8DADE; }
.pm-refresh {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: 14px;
}
.pm-hint { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: #4B5057; }
.pm-hint::before { content: '↻'; color: #1F9254; font-size: 13px; }
.pm-rbtn {
  flex: none; border: 1px solid #C41E3A; background: #C41E3A; color: #fff;
  border-radius: 10px; padding: 7px 14px; font-size: 12.5px; font-weight: 700;
  font-family: inherit; cursor: pointer; box-shadow: 0 2px 8px rgba(196,30,58,.18);
}
.pm-rbtn:active { background: #A81830; }
.pm-rbtn.off { background: #F7F8FA; border: 1px dashed #DDE1E6; color: #9AA0A6;
  box-shadow: none; font-weight: 600; pointer-events: none; }
.pm-rbtn.off::before { content: '⏱ '; }
.pm-rbtn.ghost { color: #C41E3A; border-color: #F3D6DD; background: #FFF8F9; box-shadow: none; }
/* 一排按钮等宽、不换行：跟 App 的卡片一致，卡片高度才整齐 */
.pm-ops { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 12px; }
.pm-ops > * { flex: 1 1 0; min-width: 0; text-align: center; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
/* 冷却中的「142 秒」当按钮显示，但点不动 */
.pm-op.off { opacity: .55; pointer-events: none; background: #F6F7F9; }
.pm-op {
  border: 1px solid #E7E9ED; background: #fff; color: #4B5057;
  border-radius: 10px; padding: 7px 14px; font-size: 12.5px; font-weight: 600;
  font-family: inherit; cursor: pointer;
}
.pm-op:active { background: #F5F6F8; }
.pm-op.danger { color: #C41E3A; border-color: #F3D6DE; background: #FFF8F9; }

/* ── 发布管理顶部：项目 / 观察 两个大标签 ── */
.pm-tabs {
  display: flex; gap: 0; background: #fff; border-bottom: 1px solid #F0F1F3;
  position: sticky; top: 0; z-index: 5;
}
.pm-tab {
  flex: 1; text-align: center; padding: 13px 0 12px; font-size: 14.5px; font-weight: 600;
  color: #6B7075; text-decoration: none; position: relative;
}
.pm-tab.on { color: #C41E3A; font-weight: 800; }
.pm-tab.on::after {
  content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 28px; height: 3px; border-radius: 2px; background: #C41E3A;
}

/* 发布管理：外层去掉白卡+大阴影，只留里面自己的卡片 */
#list.pm-list {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* 发布管理子标签：项目管理 / 草稿 */
.pm-sub {
  display: flex; gap: 10px; padding: 12px 16px 4px; background: #F7F7F9;
}
.pm-subtab {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 7px 16px; border-radius: 18px; font-size: 13px; font-weight: 600;
  color: #6B7075; background: #fff; border: 1px solid #E7E9ED; text-decoration: none;
}
.pm-subtab.on {
  color: #C41E3A; border-color: #F3C4CC; background: #FFF8F9; font-weight: 800;
}
.pm-subtab .n {
  display: inline-block; min-width: 16px; height: 16px; line-height: 16px; text-align: center;
  border-radius: 8px; background: #C41E3A; color: #fff; font-size: 10.5px; padding: 0 4px;
}
.pm-subtab:not(.on) .n { background: #C9CDD4; }

/* 订单 / 列表卡片：去掉 1px 边框，改成纯白 + 柔和阴影。
   边框在圆角处会和相邻卡片拼出细线，看着像「表格线」。 */
#list.pm-list .pm-card{
  border:0 !important;
  border-radius:16px;
  box-shadow:0 1px 2px rgba(17,24,39,.05), 0 4px 12px rgba(17,24,39,.06);
  margin-bottom:12px;
}
#list.pm-list .pm-card:last-child{ margin-bottom:0 }
