:root{
  --primary:#07C160; --primary-d:#06AD56; --primary-light:#E8F8EF;
  --bg:#F7F8FA; --surface:#FFFFFF; --ink:#101828; --ink-2:#344054; --ink-3:#667085;
  --border:#E4E7EC; --gold:#E8C77B; --warn:#FF8A00; --danger:#E5484D; --info:#2E90FA;
  --r:14px; --shadow:0 1px 3px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.05);
}
*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;}
body{background:var(--bg);color:var(--ink);display:flex;min-height:100vh;}
/* 侧边栏 */
.sidebar{width:210px;background:#0F1B16;color:#CFE9DA;flex-shrink:0;padding:20px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;}
.logo{font-size:16px;font-weight:700;color:#fff;padding:6px 10px 16px;letter-spacing:.5px;}
.logo span{color:var(--primary);}
.nav{list-style:none;display:flex;flex-direction:column;gap:2px;}
.nav a{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:10px;color:#A9C7B8;text-decoration:none;font-size:13.5px;transition:.15s;cursor:pointer;}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff;}
.nav a.active{background:var(--primary);color:#fff;font-weight:600;}
.nav .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55;flex-shrink:0;}
.nav .dot.live{background:var(--warn);opacity:1;}
.nav .bdg{margin-left:auto;min-width:17px;height:17px;background:var(--danger);color:#fff;border-radius:999px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;}
.nav .bdg.muted{background:#3a4a42;color:#CFE9DA;}
/* 主区 */
.main{flex:1;display:flex;flex-direction:column;min-width:0;}
.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5;}
.crumb{font-size:13px;color:var(--ink-3);}.crumb b{color:var(--ink);font-weight:600;}
.me{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);}
.me .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#16D47E,#07C160);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.content{padding:26px 28px;overflow-y:auto;flex:1;}
.page-title{font-size:22px;font-weight:700;margin-bottom:4px;}
.page-sub{font-size:13px;color:var(--ink-3);margin-bottom:20px;}
/* 🔴 2026-08-28 商品分组标题 */
.grp-title{font-size:15px;font-weight:700;margin:16px 0 8px;display:flex;align-items:baseline;gap:8px;padding-left:2px;border-left:3px solid var(--primary,#2f6fed);}
.grp-title:first-child{margin-top:0;}
/* 统计卡 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;}
.stats.five{grid-template-columns:repeat(5,1fr);}
.stat{background:var(--surface);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);cursor:pointer;transition:.15s;}
.stat:hover{box-shadow:0 4px 14px rgba(16,24,40,.1);}
.stat .v{font-size:25px;font-weight:800;line-height:1.1;}
.stat .v.s{color:var(--primary);}
.stat .v.w{color:var(--warn);}
.stat .v.d{color:var(--danger);}
.stat.red{background:#FFF1F0;}
.stat.red .l{color:var(--danger);opacity:.8;}
/* 🔴 2026-09-03：仪表盘「新增客户」弹窗，点击卡片按属性筛选 */
.stat.filter-on{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-light);}
.stat.filter-on .l{color:var(--primary-d);font-weight:700;}
.stat .l{font-size:12px;color:var(--ink-3);margin-top:6px;}
.stat .sub{font-size:11px;color:var(--ink-3);margin-top:3px;}
/* 卡片 */
.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;margin-bottom:20px;overflow-x:auto;} /* P2 修复：卡片内表格溢出可横向滚动（移动端多列表格不再撑破布局） */
.card-h{font-size:16px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.card-h .tag{font-size:11px;font-weight:600;color:var(--primary);background:var(--primary-light);padding:3px 9px;border-radius:999px;}
.card-d{font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:16px;}
/* 模板上传 */
.preview{width:200px;height:266px;border-radius:12px;border:2px dashed var(--border);background:#FAFBFC;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-3);font-size:12px;text-align:center;overflow:hidden;position:relative;flex-shrink:0;}
.preview.has{border-style:solid;border-color:var(--primary);}
.preview img{width:100%;height:100%;object-fit:cover;}
.preview .pin{position:absolute;top:8px;right:8px;background:var(--primary);color:#fff;font-size:10px;padding:2px 8px;border-radius:999px;}
.file-row{display:flex;align-items:center;gap:12px;}
.file-btn{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--primary);color:var(--primary);font-weight:600;font-size:13px;padding:10px 18px;border-radius:10px;cursor:pointer;flex-shrink:0;}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.file-name{font-size:13px;color:var(--ink-2);}
.hint{font-size:12px;color:var(--ink-3);line-height:1.6;}
.toast{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:#0F1B16;color:#fff;font-size:13px;padding:10px 20px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:99;}
.toast.show{opacity:1;top:32px;}
/* 表格 */
table{width:100%;border-collapse:collapse;font-size:13px;}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:middle;}
th{font-size:12px;color:var(--ink-3);font-weight:600;background:#FAFBFC;}
td{color:var(--ink-2);}
.addr-cell{max-width:260px;word-break:break-all;line-height:1.4;}
/* 🔴 2026-08-30 商品明细弹窗里的图片缩略图 */
.oi-img{width:48px;height:48px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:#FAFBFC;}
.badge{font-size:11px;padding:3px 10px;border-radius:999px;font-weight:600;white-space:nowrap;}
.badge.ok{background:var(--primary-light);color:var(--primary-d);}
.badge.warn{background:#FFF4E5;color:#B76E00;}
.badge.danger{background:#FDECEC;color:var(--danger);}
.badge.info{background:#EAF2FF;color:var(--info);}
.badge.muted{background:#F2F4F7;color:var(--ink-3);}
/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;padding:9px 16px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.15s;font-family:inherit;}
.btn-primary{background:linear-gradient(135deg,#16D47E,#07C160);color:#fff;box-shadow:0 6px 16px rgba(7,193,96,.22);}
.btn-primary:active{opacity:.92;}
.btn-ghost{background:#fff;border-color:var(--border);color:var(--ink-2);}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);}
.btn-danger{background:#fff;border-color:#F3C9CB;color:var(--danger);}
.btn-danger:hover{background:#FDECEC;}
.btn-sm{padding:6px 12px;font-size:12px;}
.btn-xs{padding:4px 10px;font-size:11px;}
/* 工具条 */
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.pager{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:14px 16px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-3);}
.pager-info{margin-right:auto;}
.pager-cur{font-weight:600;color:var(--ink-1);}
.pager button[disabled]{opacity:.45;cursor:not-allowed;}
.search{flex:1;min-width:200px;max-width:320px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:0 12px;height:38px;}
.search input{border:none;outline:none;flex:1;font-size:13px;background:transparent;color:var(--ink);}
.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.tab{font-size:13px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--ink-2);cursor:pointer;}
.tab .n{color:var(--danger);font-size:11px;margin-left:4px;font-weight:700;}
.tab.active{background:var(--primary-light);color:var(--primary-d);border-color:transparent;font-weight:600;}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;}
.muted{color:var(--ink-3);}
.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #eef0f3;font-size:13px;}
.kv span{color:var(--ink-3);flex:0 0 auto;}
.kv b{font-weight:600;color:var(--ink-1);text-align:right;}
.lk{color:var(--primary-d);cursor:pointer;text-decoration:underline;}
.lk:hover{opacity:.8;}
.seg{display:inline-flex;background:var(--bg);border-radius:999px;padding:3px;gap:2px;margin-bottom:18px;}
.seg button{border:none;background:transparent;padding:7px 16px;font-size:13px;color:var(--ink-2);border-radius:999px;cursor:pointer;}
.seg button.on{background:var(--primary);color:#fff;font-weight:700;}
/* 🔴 2026-09-03：仪表盘「新增客户」弹窗分类筛选胶囊 */
.filter-pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;}
.f-pill{border:1px solid var(--border);background:#fff;color:var(--ink-2);padding:7px 14px;font-size:13px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.15s;line-height:1;}
.f-pill b{font-weight:700;color:var(--ink);margin-left:4px;font-size:12px;background:var(--bg);padding:1px 7px;border-radius:999px;}
.f-pill:hover{border-color:var(--primary);color:var(--primary);}
.f-pill.on{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;}
.f-pill.on b{background:rgba(255,255,255,.22);color:#fff;}
/* 进度 / 缩略 */
.thum{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,#16D47E,#07C160);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;object-fit:cover;}
.cell{display:flex;align-items:center;gap:10px;}
.price{font-weight:700;color:var(--ink);}
.hidden{display:none !important;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
/* 规则提示 */
.rule{background:#FFF8EE;border:1px solid #FFE3B8;border-radius:10px;padding:12px 14px;font-size:12px;color:#8a5a00;line-height:1.75;margin-bottom:18px;}
.rule b{color:#b76e00;}
.rule.g{background:#EFFaf3;border-color:#BFE9D0;color:#0A7A45;}
.rule.g b{color:#0A7A45;}
/* 授权：角色预设 chips + 权限矩阵 */
.role-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.chip{font-size:12px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--ink-2);cursor:pointer;transition:.15s;font-family:inherit;}
.chip:hover{border-color:var(--primary);color:var(--primary);}
.chip.active{background:var(--primary-light);color:var(--primary-d);border-color:transparent;font-weight:600;}
.perm-matrix{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:6px;}
.perm-grp{grid-column:1 / -1;font-size:12px;color:var(--ink-3);font-weight:600;margin-top:6px;padding-bottom:2px;border-bottom:1px dashed var(--border);}
.perm-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer;padding:3px 0;}
.perm-item input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;}
/* 弹层 */
.modal-mask{position:fixed;inset:0;background:rgba(16,24,40,.45);display:none;align-items:center;justify-content:center;z-index:60;}
.modal-mask.show{display:flex;}
.modal{background:#fff;border-radius:16px;width:480px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.3);}
.modal-h{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-h .t{font-size:16px;font-weight:700;}
.modal-h .x{font-size:22px;color:var(--ink-3);cursor:pointer;line-height:1;}
.modal-b{padding:20px 22px;overflow:auto;}
.modal-f{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
/* 开关 */
.switch{width:46px;height:26px;border-radius:999px;background:#D0D5DD;position:relative;cursor:pointer;transition:.2s;flex-shrink:0;}
.switch.on{background:var(--primary);}
.switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;}
.switch.on::after{left:23px;}
.switch.disabled{background:#E4E7EC;cursor:not-allowed;opacity:.6;}
/* 字段 */
.field{margin-bottom:15px;}
.field .lab{font-size:13px;color:var(--ink-2);margin-bottom:6px;font-weight:600;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:13px;font-family:inherit;outline:none;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);}
.field .hint{font-size:11px;color:var(--ink-3);margin-top:4px;}
.req{color:var(--danger);margin-left:2px;}
/* 新增/编辑商品弹窗：按板块分组（基础信息/价格库存/图文内容/营销配送） */
.form-sec{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
.form-sec:first-child{margin-top:0;padding-top:0;border-top:none;}
.form-sec-h{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.form-sec-h::before{content:'';width:3px;height:13px;border-radius:999px;background:var(--primary);}
/* 星级 / 评论图 */
.stars{color:#F5A623;letter-spacing:1px;font-size:13px;}
/* 详情行 */
.drow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px;}
.drow:last-child{border-bottom:none;}
.drow .k{color:var(--ink-3);}
.drow .v{font-weight:600;}
.drow .v.red{color:var(--danger);}
.warn-banner{background:#FFF1F0;border:1px solid #F7C5C5;color:var(--danger);border-radius:10px;padding:11px 14px;font-size:12.5px;margin-bottom:16px;display:none;}
.warn-banner.show{display:block;}
.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:#FFECEC;color:var(--danger);}
.tag.ok{background:#E8F8EF;color:var(--primary-d);}
/* ===== 登录屏 ===== */
#login-wrap{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0F1B16,#103a28);}
#login-wrap .box{width:360px;max-width:92vw;background:#fff;border-radius:18px;padding:34px 30px;box-shadow:0 30px 80px rgba(0,0,0,.4);}
#login-wrap .lt{font-size:22px;font-weight:800;text-align:center;margin-bottom:4px;}
#login-wrap .ls{font-size:13px;color:var(--ink-3);text-align:center;margin-bottom:24px;}
#login-wrap .field input{padding:11px 14px;font-size:14px;}
#login-wrap .btn-primary{width:100%;padding:12px;font-size:15px;margin-top:8px;}
#login-wrap .err{color:var(--danger);font-size:12.5px;margin-top:10px;min-height:18px;text-align:center;}
#login-wrap .login-tabs{display:flex;background:var(--bg);border-radius:10px;padding:3px;gap:2px;margin-bottom:22px;}
#login-wrap .login-tabs button{flex:1;border:none;background:transparent;padding:9px 0;font-size:13.5px;color:var(--ink-2);border-radius:8px;cursor:pointer;font-family:inherit;transition:.15s;}
#login-wrap .login-tabs button.on{background:#fff;color:var(--primary-d);font-weight:700;box-shadow:0 1px 3px rgba(16,24,40,.08);}
#login-wrap .qr-box{width:200px;height:200px;margin:6px auto 12px;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px;}
#login-wrap .qr-box img,#login-wrap .qr-box canvas{display:block;}
#login-wrap .qr-box.qr-loading::after{content:'生成中…';color:var(--ink-3);font-size:13px;}
#login-wrap .qr-fallback{font-size:11px;word-break:break-all;background:#F2F4F7;padding:8px 10px;border-radius:8px;color:var(--ink-2);line-height:1.5;max-height:140px;overflow:auto;}
#login-wrap .qr-tip{font-size:13px;color:var(--ink-2);text-align:center;line-height:1.6;margin-bottom:6px;}
#login-wrap .qr-tip .muted{font-size:11px;}
@keyframes spin{to{transform:rotate(360deg);}}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;}
@media(max-width:1100px){.stats,.stats.five{grid-template-columns:repeat(2,1fr);}.grid-2{grid-template-columns:1fr;}}
/* 🔴 H5 修复：移动端侧边栏改抽屉式（原 display:none 无替代导航，移动端无法切换页面） */
.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:17px;color:var(--ink);flex-shrink:0;}
.sidebar-mask{display:none;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:190;}
@media(max-width:760px){
  .mobile-menu-btn{display:flex;}
  .sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:200;transition:left .25s ease;display:flex !important;}
  .sidebar.open{left:0;box-shadow:8px 0 24px rgba(0,0,0,.25);}
  .sidebar-mask.show{display:block;}
  .main{width:100%;}
}
/* ===== 数据管理 ===== */
.data-wrap{display:flex;gap:18px;align-items:flex-start;}
.coll-list{width:232px;flex-shrink:0;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:10px;max-height:70vh;overflow:auto;}
.coll-item{padding:11px 13px;border-radius:10px;cursor:pointer;margin-bottom:4px;transition:.13s;border:1px solid transparent;}
.coll-item:hover{background:var(--bg);}
.coll-item.active{background:var(--primary-light);border-color:#BFE9D0;}
.coll-item .coll-name{font-size:13.5px;font-weight:600;color:var(--ink);word-break:break-all;}
.coll-item .coll-count{font-size:11px;color:var(--ink-3);margin-top:2px;}
.data-main{flex:1;min-width:0;}
.data-main .toolbar{max-width:none;margin-bottom:12px;}
.data-main table td{vertical-align:top;max-width:340px;word-break:break-all;line-height:1.45;}
.data-main th.sort-on{color:var(--primary-d);}
.data-main .pager{border-top:1px solid var(--border);}
/* ===== 商品详情图多图上传 ===== */
.img-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.img-list .thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--border);}
/* ===== 规格多行编辑 ===== */
.spec-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.spec-row input{padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:9px;outline:none;color:var(--ink);}
.spec-row .p-spec-name{flex:1;min-width:0;}
.spec-row .p-spec-delta{width:120px;flex-shrink:0;}
/* ===== 分销管理（KPI 3 列） ===== */
.stats.three{grid-template-columns:repeat(3,1fr);}

/* ===== 集购订单按活动分组 ===== */
.gb-wrap{display:flex;flex-direction:column;gap:14px;margin-top:12px;}
.gb-group{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);}
.gb-head{display:flex;align-items:center;gap:14px;padding:11px 14px;background:linear-gradient(0deg,#f6fbf8,#f6fbf8);border-bottom:1px solid var(--border);flex-wrap:wrap;}
.gb-selall{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-3);cursor:pointer;}
.gb-name{font-size:14px;color:var(--ink);}
.gb-head .btn{margin-left:auto;}
.tag-group{background:#EAF1FF;color:#2F6BFF;border:1px solid #CFE0FF;}

/* ===== 新增/编辑商品窗口（参考有赞/微信小商店风格：宽弹窗 + 左锚点导航 + 卡片分区） ===== */
.modal.pe-modal{width:1040px;max-width:98vw;}
/* 中等宽弹窗：默认 480 太窄时放大到 720（单列表单更舒展，又不像 1040 那么空） */
.modal.lg-modal{width:720px;max-width:96vw;}
.prod-edit{display:flex;gap:22px;align-items:flex-start;}
.pe-nav{width:120px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:3px;}
.pe-nav-a{display:block;padding:9px 12px;border-radius:9px;font-size:13px;color:var(--ink-2);cursor:pointer;transition:.15s;border:1px solid transparent;text-decoration:none;}
.pe-nav-a:hover{background:var(--bg);color:var(--ink);}
.pe-nav-a.active{background:var(--primary-light);color:var(--primary-d);font-weight:600;border-color:#BFE9D0;}
.pe-nav-grp{font-size:12px;font-weight:600;color:var(--ink-2);padding:14px 12px 6px;letter-spacing:.5px;border-top:1px solid var(--border);margin-top:6px;}
.pe-nav-grp:first-child{border-top:none;margin-top:0;padding-top:2px;}
.pe-main{flex:1;min-width:0;}
.pe-sec{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:18px;}
.pe-sec-h{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.pe-sec-h::before{content:'';width:3px;height:14px;border-radius:999px;background:var(--primary);}
.pe-thumb{position:relative;width:82px;height:82px;border-radius:8px;overflow:hidden;border:1px solid var(--border);flex-shrink:0;background:#FAFBFC;}
.pe-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pe-thumb-x{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;text-align:center;border:none;border-radius:50%;background:rgba(16,24,40,.55);color:#fff;font-size:13px;cursor:pointer;padding:0;}
.pe-thumb-x:hover{background:var(--danger);}
.pe-spec{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.pe-spec input{padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:9px;outline:none;color:var(--ink);}
.pe-spec .p-spec-name{flex:1;min-width:0;}
.pe-spec .p-spec-delta{width:130px;flex-shrink:0;}
.pe-modal .pe-main .grid-2{grid-template-columns:1fr 1fr;}
.pe-main input[type=number]{-moz-appearance:textfield;}
.pe-main input[type=number]::-webkit-outer-spin-button,.pe-main input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
/* 🔴 2026-09-01 让弹窗不拥挤：扩大行间距/输入框高度/选项区上下 padding */
.pe-main .field{margin-bottom:18px;}
.pe-main input[type=text],.pe-main input[type=number],.pe-main select,.pe-main textarea{padding:10px 12px;font-size:14px;}
.pe-main .grid-2{gap:14px 22px;}
.pe-sep{font-size:12px;color:var(--ink-3);text-align:center;margin:2px 0 14px;border-top:1px dashed var(--border);padding-top:14px;}
@media(max-width:760px){.pe-modal .pe-main .grid-2{grid-template-columns:1fr;}}

