
  

  :root{
    --brand:#e11d48; --brand-deep:#be123c; --accent:#f97316;
    --ink:#1f2937; --ink-soft:#6b7280; --canvas:#fff; --bg:#f6f8fb;
    --line:#e6e8ee; --code-bg:#0f172a; --code-ink:#e2e8f0;

    /* Vercel 设计系统（补差升级美化） */
    --brand2:#f97316; --brand2-deep:#ea580c; --brand2-light:#fff7ed; --brand2-border:#fed7aa;
    --ink2:#111827; --muted2:#64748b; --line2:#e5e7eb; --soft2:#f8fafc;
    --grad:linear-gradient(135deg,#f97316 0%,#e11d48 100%);
    --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 14px 34px rgba(16,24,40,.06);
    --shadow-md:0 10px 20px rgba(15,23,42,.08);
    --radius:10px;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    background:var(--bg);color:var(--ink);line-height:1.7;font-size:15px;}
  main.content{flex:1;min-width:0;margin:0;padding:26px 30px 80px;max-width:none;}
  .panel{display:none;background:var(--canvas);border:1px solid var(--line);border-radius:16px;padding:22px 24px;}
  .panel.active{display:block;}
  .field{margin-bottom:16px;}
  .field>label{display:block;font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;}
  .row{display:flex;gap:12px;flex-wrap:wrap;}
  .row .field{flex:1;min-width:160px;}
  input[type=number],select{
    width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;
    font-family:inherit;background:#fff;color:var(--ink);
  }
  input[type=number]:focus,select:focus{outline:none;border-color:var(--brand);}
  .cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
  .cat-btn{
    border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;
    font-size:13.5px;font-weight:600;color:var(--ink-soft);font-family:inherit;transition:.12s;
  }
  .cat-btn.active{color:#fff;border-color:transparent;}
  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;}
  .pkg{
    border:1.5px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;transition:.12s;background:#fff;
  }
  .pkg:hover{border-color:#fecdd3;}
  .pkg.sel{border-color:var(--brand);background:#fff1f2;}
  .pkg b{display:block;font-size:14.5px;margin-bottom:2px;}
  .pkg .price{color:var(--brand);font-size:16px;font-weight:700;}
  .pkg .meta{color:var(--ink-soft);font-size:12px;}
  .tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;background:#fff7ed;color:var(--accent);margin-left:6px;font-weight:600;}
  .opts{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0;padding:12px;background:#fafafa;border:1px solid var(--line);border-radius:12px;}
  .opts label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;}
  .opts input[type=checkbox],.opts input[type=radio]{accent-color:var(--brand);width:16px;height:16px;}
  /* 积分兑换：横排芯片选择 */
  .pts-wrap{margin:0 0 14px;padding:0 4px;}
  .pts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
  .pts-chip{
    border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:10px 6px;cursor:pointer;
    font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);text-align:center;line-height:1.5;transition:.12s;
  }
  .pts-chip:hover{border-color:#fecdd3;}
  .pts-chip.active{border-color:var(--brand);background:#fff1f2;color:var(--brand);}
  .pts-chip .pts-pts{display:block;font-size:11px;color:var(--ink-soft);font-weight:500;margin-top:2px;}
  .pts-chip.is-over{opacity:.45;cursor:not-allowed;}
  /* 积分多选：合计行 */
  .pts-summary{grid-column:1/-1;margin-top:2px;font-size:12px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
  .pts-summary b{color:var(--brand);font-size:13.5px;}
  .pts-summary .pts-hint{color:#9ca3af;font-size:11.5px;}
  /* 已选芯片：主体按钮 + 数量步进器（2026-09-01，与补差升级/双品联报同交互） */
  .pts-chip-main{display:block;width:100%;padding:10px 6px;border:0;background:transparent;color:inherit;font:inherit;text-align:center;line-height:1.5;cursor:pointer;}
  .pts-chip.active{display:flex;flex-direction:column;align-items:stretch;padding:0;}
  .pts-stepper{display:flex;align-items:center;justify-content:center;gap:4px;border-top:1px dashed rgba(225,29,72,.22);padding:4px 6px 6px;}
  .pts-stepper button{width:22px;height:22px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#111827;font-size:13px;font-weight:700;line-height:1;cursor:pointer;}
  .pts-stepper button:disabled{opacity:.4;cursor:not-allowed;}
  .pts-stepper em{min-width:22px;text-align:center;font-style:normal;font-weight:800;font-size:12px;color:var(--brand);}

  /* ===== 积分商城（员工端「套餐管理·积分商城」与 管理端「积分商城」共用同一模板） ===== */
  .mall-wrap{display:flex;flex-direction:column;gap:22px;}
  .mall-group-title{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 10px;display:flex;align-items:center;gap:8px;}
  .mall-group-title .swatch{width:10px;height:10px;border-radius:3px;flex:none;}
  .mall-group-title .swatch.is-main{background:#e11d48;}
  .mall-group-title .swatch.is-gift{background:#0891b2;}
  .mall-count{flex:none;font-style:normal;font-size:11.5px;font-weight:700;color:var(--ink-soft);background:#f1f5f9;border-radius:999px;padding:1px 8px;}
  .mall-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;}
  .mall-card{
    position:relative;display:flex;flex-direction:column;overflow:hidden;
    border:1px solid var(--line);border-radius:14px;background:var(--canvas);
    box-shadow:var(--shadow-sm);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
  }
  .mall-card:hover{transform:translateY(-3px);border-color:#fecdd3;box-shadow:0 12px 26px rgba(225,29,72,.14);}
  .mall-badge{position:absolute;top:8px;left:8px;z-index:1;font-size:11px;font-weight:700;line-height:1.7;padding:0 8px;border-radius:999px;}
  .mall-badge.is-main{background:#fff1f2;color:var(--brand);}
  .mall-badge.is-gift{background:#ecfeff;color:#0e7490;}
  .mall-media{height:112px;display:grid;place-items:center;padding:12px;background:linear-gradient(180deg,#fffaf7 0%,#fff5f6 100%);border-bottom:1px solid var(--line);}
  /* 图区 112px - 上下 padding 12px*2 = 图片可用高 88px；用固定高度而非 100%，避免 grid 下百分比解析失效 */
  .mall-media .mall-card-img{display:block;width:100%;height:88px;object-fit:contain;}
  .mall-media-empty{font-size:11.5px;color:#9ca3af;}
  .mall-body{flex:1;display:flex;flex-direction:column;padding:10px 12px 12px;text-align:center;}
  .mall-name{
    font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.4;min-height:2.8em;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .mall-points{margin-top:4px;display:flex;align-items:baseline;justify-content:center;gap:3px;color:var(--brand);}
  .mall-points b{font-size:18px;font-weight:800;letter-spacing:.2px;}
  .mall-points small{font-size:11px;font-weight:600;}
  .mall-unit{margin-top:auto;padding-top:4px;font-size:11.5px;color:var(--ink-soft);}
  .mall-unit code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10.5px;color:#9ca3af;background:#f6f8fb;border-radius:4px;padding:0 4px;}
  @media (max-width:640px){
    .mall-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
    .mall-media{height:96px;}
    .mall-media .mall-card-img{height:72px;}
  }
  body[data-theme="dark"] .mall-card{background:rgba(15,23,42,.6);border-color:rgba(148,163,184,.18);box-shadow:none;}
  body[data-theme="dark"] .mall-card:hover{border-color:rgba(251,113,133,.5);box-shadow:0 12px 26px rgba(0,0,0,.3);}
  body[data-theme="dark"] .mall-media{background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.14);}
  body[data-theme="dark"] .mall-name{color:#e5e7eb;}
  body[data-theme="dark"] .mall-count{background:rgba(148,163,184,.16);color:#cbd5e1;}
  body[data-theme="dark"] .mall-badge.is-main{background:rgba(225,29,72,.2);color:#fda4af;}
  body[data-theme="dark"] .mall-badge.is-gift{background:rgba(8,145,178,.22);color:#67e8f9;}
  body[data-theme="dark"] .mall-unit code{background:rgba(148,163,184,.14);color:#94a3b8;}

  /* ===== 图库 ===== */
  .gallery-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .gallery-toolbar input[type=text]{flex:1;min-width:200px;}
  .gallery-hint{font-size:12px;color:var(--ink-soft);}
  .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
  .gallery-card{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;transition:.12s;}
  .gallery-card:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(225,29,72,.15);}
  .gallery-card img{display:block;width:100%;height:120px;object-fit:cover;}
  .gallery-note{font-size:11.5px;color:var(--ink-soft);padding:4px 6px;line-height:1.4;}
  .gallery-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(17,24,39,.6);color:#fff;cursor:pointer;font-size:12px;line-height:1;}
  .gallery-del:hover{background:var(--brand);}
  .gallery-empty{color:var(--ink-soft);font-size:13px;padding:16px;text-align:center;background:#fafafa;border-radius:12px;}
  .btn{
    display:inline-block;background:var(--brand);color:#fff;border:none;border-radius:10px;padding:11px 22px;
    font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;
  }
  .btn:hover{background:var(--brand-deep);}
  .btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
  .btn.ghost:hover{background:#fafafa;}
  .btn.sm{padding:7px 14px;font-size:13px;border-radius:8px;}
  .result{margin-top:18px;display:none;}
  .result.show{display:block;}
  .script{
    background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px 20px;
    font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:13.5px;line-height:1.75;
    white-space:pre-wrap;word-break:break-word;margin-bottom:12px;
  }
  .script-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
  .script-head b{font-size:14px;}
  .copy-btn{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-size:12.5px;cursor:pointer;font-family:inherit;}
  .copy-btn:hover{border-color:var(--brand);color:var(--brand);}
  /* 分段式穿插：分隔线 / 穿插文案 / 图片块 */
  .script-divider{
    display:flex;align-items:center;gap:10px;margin:2px 0 14px;
    color:var(--ink-soft);white-space:nowrap;
  }
  .script-divider::before,.script-divider::after{content:"";flex:1;height:1px;background:var(--line);}
  .sd-label{font-size:12px;color:var(--ink-soft);font-weight:600;letter-spacing:.5px;}
  .seg-extra-text{
    background:#fff;color:var(--ink);padding:4px 2px 14px;
    font-size:14px;line-height:1.8;text-align:left;white-space:pre-wrap;word-break:break-word;
  }
  .img-block{border:1.5px dashed var(--line);border-radius:12px;padding:12px;background:#fff;margin-bottom:12px;}
  .img-block.no-img{border-color:#fecdd3;background:#fff7f7;}
  .img-head{font-size:13px;font-weight:700;margin-bottom:8px;color:var(--ink);}
  .img-block img{display:block;max-width:100%;max-height:220px;width:auto;border-radius:10px;border:1px solid var(--line);}
  .img-note{font-size:12px;color:var(--ink-soft);margin-top:8px;line-height:1.6;}
  /* 结果区：视图切换 + 横屏网格（2026-09-10 晚：卡片调到合适大小便于复制） */
  .seg-view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .seg-view-btn{background:#fff;color:var(--ink-soft);border:none;padding:5px 10px;font-size:12px;font-family:inherit;cursor:pointer;}
  .seg-view-btn.active{background:var(--brand);color:#fff;}
  .seg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:14px;}
  .seg-card{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:190px;}
  .seg-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;}
  .seg-card-head .seg-row-actions{display:inline-flex;align-items:center;gap:6px;}
  .seg-card-num{background:#fff1f2;color:var(--brand);font-weight:700;font-size:14px;padding:4px 10px;border-radius:6px;min-width:24px;text-align:center;}
  .seg-card-content{font-size:14px;line-height:1.8;color:var(--ink);white-space:pre-wrap;word-break:break-word;text-align:left;flex:1;}
  .seg-card-extra-content{color:var(--ink-soft);}
  .seg-card-img-el{width:100%;max-height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}
  .seg-card-caption{font-size:12px;color:var(--ink-soft);text-align:left;}
  .seg-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px;}
  .seg-card-divider{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:4px 4px;}
  .seg-card-divider::before,.seg-card-divider::after{content:"";flex:1;height:1px;background:var(--line);}
  /* 横屏卡片拖动排序 */
  .seg-grid .seg-card,.seg-grid .seg-card-divider{cursor:grab;}
  body.seg-dragging,body.seg-dragging *{user-select:none;-webkit-user-select:none;cursor:grabbing;}
  .seg-card-dragging{opacity:.18;}
  .seg-card-drag-clone{
    position:fixed;z-index:9999;pointer-events:none;
    background:#fff;border:1.5px solid #fecdd3;border-radius:12px;
    box-sizing:border-box;padding:12px;
    box-shadow:0 12px 32px rgba(225,29,72,.25);
    display:flex;flex-direction:column;gap:8px;
  }
  .hint{color:var(--ink-soft);font-size:12.5px;margin:0 0 12px;}
  .empty{color:var(--ink-soft);font-size:13px;padding:16px;text-align:center;}
  #toast{position:fixed;right:24px;top:24px;transform:translateY(-20px);background:#111827;color:#fff;
    padding:9px 18px;border-radius:999px;font-size:14px;opacity:0;transition:.2s;pointer-events:none;z-index:99;}
  #toast.show{opacity:1;transform:translateY(0);}

  /* ===== 左侧导航布局 ===== */
  body:not(.shell-ready) .app{display:flex;min-height:100vh;align-items:stretch;}
  body:not(.shell-ready) .sidebar{
    width:236px;flex:0 0 236px;background:#fff;border-right:1px solid var(--line);
    position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px;
  }
  body:not(.shell-ready) .brand{margin-bottom:18px;padding:0 6px;}
  body:not(.shell-ready) .brand h1{font-size:20px;margin:0 0 2px;font-weight:700;letter-spacing:-.3px;}
  body:not(.shell-ready) .brand .sub{color:var(--ink-soft);font-size:12px;margin:0;line-height:1.5;}
  body:not(.shell-ready) .nav{display:flex;flex-direction:column;gap:5px;margin-top:4px;}
  body:not(.shell-ready) .nav button{
    display:flex;align-items:center;gap:10px;width:100%;text-align:left;
    border:1px solid transparent;background:transparent;color:var(--ink-soft);
    padding:11px 14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;
    font-family:inherit;transition:.12s;
  }
  body:not(.shell-ready) .nav button:hover{background:var(--bg);}
  body:not(.shell-ready) .nav button.active{background:#fff1f2;color:var(--brand);border-color:#fecdd3;}
  body:not(.shell-ready) .nav button .ico{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.5;flex:0 0 auto;}
  body:not(.shell-ready) .sidebar .foot{margin-top:auto;padding:12px 6px 0;color:var(--ink-soft);font-size:11.5px;border-top:1px solid var(--line);}

  /* ===== 侧边导航：长按拖动排序 ===== */
  body:not(.shell-ready) .nav button{cursor:grab;}
  body.nav-dragging, body.nav-dragging *{user-select:none;-webkit-user-select:none;cursor:grabbing;}
  body:not(.shell-ready) .nav button.nav-src{opacity:.22;}
  body:not(.shell-ready) .nav .nav-ghost{
    width:100%;box-sizing:border-box;
    border:2px dashed #fecdd3;background:#fff1f2;border-radius:10px;
  }
  body:not(.shell-ready) .nav-drag-clone{
    position:fixed;z-index:9999;pointer-events:none;
    display:flex;align-items:center;gap:10px;
    background:#fff;border:1px solid #fecdd3;color:var(--brand);
    padding:11px 14px;border-radius:10px;font-size:15px;font-weight:700;box-sizing:border-box;
    box-shadow:0 10px 30px rgba(225,29,72,.22);
  }
  body:not(.shell-ready) .nav-drag-clone .ico{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.5;flex:0 0 auto;}
  .section-title{font-size:20px;font-weight:700;margin:0 0 2px;letter-spacing:-.3px;}
  .section-sub{color:var(--ink-soft);font-size:13px;margin:0 0 18px;}
  .month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
  .month-group-title{font-size:14px;font-weight:700;color:var(--ink);margin:20px 0 8px;display:flex;align-items:center;gap:8px;}
  .month-group-title .swatch{width:10px;height:10px;border-radius:3px;}

  /* ===== 当月套餐：表格版 + 二级分类 ===== */
  .month-table{width:100%;border-collapse:collapse;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:13px;}
  .month-table th,.month-table td{border:1px solid var(--line);padding:8px 10px;text-align:center;vertical-align:middle;}
  .month-table th{background:#f9fafb;font-weight:700;color:#374151;font-size:12.5px;}
  .month-table td{color:var(--ink);}
  .month-table .mc-product{font-weight:700;text-align:center;padding:8px;background:#fafafa;width:80px;white-space:nowrap;}
  .month-table .mc-product-img{width:40px;height:40px;object-fit:contain;border-radius:8px;vertical-align:middle;background:#f3f4f6;cursor:pointer;transition:transform .15s;}
  .month-table .mc-product-img:hover{transform:scale(1.08);}
  .month-table .mc-price{color:var(--brand);font-weight:700;}
  .month-table .mc-original{color:var(--ink-soft);text-decoration:line-through;}
  .month-table .mc-bonus{color:var(--accent);background:#fff7ed;}
  .month-table .mc-discount{color:#166534;background:#dcfce7;}
  .month-section-title{font-size:15px;font-weight:700;margin:18px 0 8px;padding-left:10px;border-left:4px solid var(--brand);}
  .month-empty{color:var(--ink-soft);font-size:13px;padding:16px;text-align:center;background:#fafafa;border-radius:12px;}
  @media(max-width:820px){
    body:not(.shell-ready) .app{flex-direction:column;}
    body:not(.shell-ready) .sidebar{width:100%;flex:none;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;}
    body:not(.shell-ready) .brand{width:100%;margin-bottom:4px;}
    body:not(.shell-ready) .nav{flex-direction:row;flex-wrap:wrap;margin-top:0;width:100%;}
    body:not(.shell-ready) .nav button{width:auto;}
    body:not(.shell-ready) .sidebar .foot{display:none;}
  }

  /* ===== 工作台：实时销售看板 ===== */
  .work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px;}
  .work-head .btn.sm{margin-top:4px;}
  .kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:10px 0 20px;}
  .kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(20,40,80,.06);position:relative;overflow:hidden;}
  .kpi .label{font-size:12px;color:var(--ink-soft);}
  .kpi .val{font-size:22px;font-weight:700;margin-top:6px;letter-spacing:-.3px;}
  .kpi .sub{font-size:11.5px;color:var(--ink-soft);margin-top:4px;}
  .kpi .bar-side{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand);}
  .kpi.blue .bar-side{background:#2f6fed;} .kpi.green .bar-side{background:#3bb273;} .kpi.amber .bar-side{background:#f5a623;} .kpi.ink .bar-side{background:#1f2d3d;}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px rgba(20,40,80,.06);}
  .card.full{grid-column:1/-1;}
  .card h2{font-size:16px;font-weight:700;margin-bottom:2px;}
  .card .desc{font-size:12px;color:var(--ink-soft);margin-bottom:14px;}
  .chart-box{position:relative;height:340px;}
  .chart-box.tall{height:460px;}
  .prog{margin:6px 0 16px;}
  .prog .row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;}
  .prog .row b{font-weight:700;}
  .track{height:14px;background:#eef2f8;border-radius:8px;overflow:hidden;}
  .fill{height:100%;border-radius:8px;transition:width .4s;}
  .fill.brand{background:linear-gradient(90deg,#ff7a7a,#e23b3b);}
  .fill.blue{background:linear-gradient(90deg,#7aa6ff,#2f6fed);}
  .note{font-size:12px;color:var(--ink-soft);margin-top:12px;background:#fbfcfe;border:1px dashed var(--line);border-radius:8px;padding:10px 12px;line-height:1.6;}
  .note b{color:var(--brand);}

  /* ===== 工作台：今日出单 + 顾问排行榜 ===== */
  #today-makers .mk-head{font-size:13.5px;color:var(--ink);margin-bottom:10px;line-height:1.6;}
  #today-makers .mk-head b{color:var(--brand);}
  #today-makers .mk-note{color:var(--ink-soft);font-size:12px;font-weight:400;}
  .mk-list{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow:auto;}
  .mk-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px dashed var(--line);}
  .mk-row:last-child{border-bottom:none;}
  .mk-no{width:22px;height:22px;border-radius:50%;background:#fff1f2;color:var(--brand);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .mk-name{flex:1;font-size:13.5px;color:var(--ink);font-weight:600;}
  .mk-name .mk-rank{font-style:normal;font-size:11px;color:var(--ink-soft);background:#f3f4f6;border-radius:6px;padding:1px 6px;margin-left:4px;font-weight:600;}
  .mk-val{font-size:14px;font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;}
  .lb-wrap{max-height:380px;overflow:auto;padding-right:4px;}
  .lb-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px dashed var(--line);}
  .lb-row:last-child{border-bottom:none;}
  .lb-no{width:26px;flex:0 0 auto;text-align:center;font-size:14px;font-weight:700;color:var(--ink-soft);}
  .lb-name{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .lb-name .lb-tag{font-style:normal;font-size:10.5px;color:#fff;background:var(--accent);border-radius:6px;padding:1px 6px;margin-left:5px;font-weight:700;vertical-align:middle;}
  .lb-gmv{font-size:13.5px;font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;flex:0 0 auto;width:84px;text-align:right;}
  .lb-track{flex:1.2;height:8px;background:#eef2f8;border-radius:6px;overflow:hidden;min-width:40px;}
  .lb-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#ff9aa2,#e11d48);}
  .lb-pct{font-size:12px;color:var(--ink-soft);flex:0 0 auto;width:54px;text-align:right;font-variant-numeric:tabular-nums;}
  @media(max-width:920px){.kpis{grid-template-columns:repeat(2,1fr);}.grid{grid-template-columns:1fr;}}

  /* ===== 当月套餐：活动横幅 / 复制按钮 / 静态规则（复刻参考文件）===== */
  .small{font-size:11.5px;color:var(--ink-soft);font-weight:400;}
  .month-banner{background:linear-gradient(135deg,#fff1f2,#fff);border:1px solid #fecdd3;border-radius:14px;padding:16px 18px;margin:6px 0 18px;}
  .mb-head{font-size:18px;font-weight:700;color:var(--brand);letter-spacing:.3px;}
  .mb-sub{font-size:12.5px;color:var(--ink-soft);margin:6px 0 10px;line-height:1.7;}
  .mb-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 12px;color:#9a3412;font-size:12.5px;line-height:1.7;display:flex;gap:6px;align-items:flex-start;}
  .mb-notice .dot{color:var(--brand);font-weight:700;}
  .month-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .copy-mini{background:#fff;color:var(--brand);border:1px solid #fecdd3;border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;transition:.12s;}
  .copy-mini:hover{background:#fff1f2;}
  .table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:18px;}
  .table-scroll .month-table{margin-bottom:0;min-width:720px;}
  .month-table.level-table th{background:#faf5ff;}
  .month-rules{border:1px solid var(--line);border-radius:8px;padding:12px 16px;background:#fff;margin-bottom:18px;}
  .month-rules ol{margin:0;padding-left:20px;color:var(--ink-soft);font-size:12.5px;line-height:1.9;}
  .month-rules li{margin-bottom:4px;}

  /* ===== 年卡客户：iframe 隔离，避免与报价工具样式/全局脚本冲突 ===== */
  #panel-vip{padding:0;overflow:hidden;height:calc(100vh - 130px);border-radius:16px;}
  #panel-vip .vip-frame{display:block;width:100%;height:100%;border:none;background:#f3f5f8;}
  @media(max-width:820px){
    #panel-vip{height:calc(100vh - 220px);}
  }

  /* ===== 补差升级面板 · 两栏布局 ===== */
  .up-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  @media(max-width:900px){.up-layout{grid-template-columns:1fr;}}
  .up-left,.up-right{
    background:rgba(255,255,255,.7);border:1px solid var(--line2);border-radius:var(--radius);
    padding:18px 20px;box-shadow:var(--shadow-sm);
  }
  .up-section-title{
    font-family:"Segoe UI",sans-serif;font-weight:700;font-size:15px;color:var(--ink2);
    margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line2);
  }

  /* ===== 补差升级面板 · Vercel 风格美化 ===== */
  #panel-upgrade{
    background:var(--soft2);border:1px solid var(--line2);border-radius:var(--radius);
    padding:28px 30px 32px;box-shadow:var(--shadow-sm);
    animation:upFade .4s ease both;
    font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  }
  @keyframes upFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  @media(prefers-reduced-motion:reduce){#panel-upgrade{animation:none;}}

  #panel-upgrade .section-title{
    font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;
    color:var(--ink2);font-size:22px;margin-bottom:4px;
  }
  #panel-upgrade .section-sub{color:var(--muted2);opacity:.85;}

  #panel-upgrade .field>label{
    font-size:13px;font-weight:700;color:var(--muted2);letter-spacing:.3px;margin-bottom:7px;
  }
  #panel-upgrade input[type=number],#panel-upgrade select{
    border:1px solid var(--line2);background:#fff;border-radius:var(--radius);padding:12px 14px;
    font-size:15px;color:var(--ink);font-family:"Segoe UI",inherit;font-variant-numeric:tabular-nums;
    box-shadow:inset 0 1px 2px rgba(16,24,40,.04);
    transition:border-color .2s, box-shadow .2s, transform .12s;
  }
  #panel-upgrade input[type=number]:focus,#panel-upgrade select:focus{
    outline:none;border-color:var(--brand2);box-shadow:0 0 0 4px rgba(249,115,22,.18);
  }

  #panel-upgrade .cats{margin-bottom:16px;gap:10px;}
  #panel-upgrade .cat-btn{
    border:1px solid var(--line2);background:#fff;color:var(--muted2);border-radius:999px;
    padding:8px 18px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-sm);
    transition:transform .15s, box-shadow .2s, background .2s, color .2s, border-color .2s;
  }
  #panel-upgrade .cat-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--brand2-border);}
  #panel-upgrade .cat-btn.active{
    background:var(--brand2);color:#fff;border-color:transparent;
    box-shadow:0 6px 16px rgba(249,115,22,.3);
  }

  #panel-upgrade .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;}
  #panel-upgrade .pkg{
    border:1px solid var(--line2);border-radius:10px;padding:14px;cursor:pointer;background:#fff;
    box-shadow:var(--shadow-sm);transition:transform .15s, box-shadow .2s, border-color .2s, background .2s;
    position:relative;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;
  }
  #panel-upgrade .pkg:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand2-border);}
  #panel-upgrade .pkg.sel{
    border:1.5px solid var(--brand2);border-left:3px solid var(--brand2);
    background:linear-gradient(145deg,#fff7ed 0%,#ffffff 68%);
    box-shadow:0 0 0 1px rgba(249,115,22,.28),0 8px 20px rgba(249,115,22,.10);
  }
  #panel-upgrade .pkg img{width:52px;height:52px;object-fit:contain;border-radius:8px;background:#f8fafc;}
  #panel-upgrade .pkg b{color:var(--ink2);font-size:14px;display:block;}
  #panel-upgrade .pkg .price{color:var(--brand2);font-family:"Segoe UI",inherit;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;}
  #panel-upgrade .pkg .meta{color:var(--muted2);opacity:.7;font-size:12px;}
  #panel-upgrade .pkg .tag{
    position:absolute;top:8px;right:8px;background:var(--brand2-light);color:var(--brand2);
    font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;
  }

  #panel-upgrade .opts{
    background:rgba(255,255,255,.72);border:1px solid var(--line2);border-radius:var(--radius);
    padding:14px 18px;box-shadow:var(--shadow-sm);gap:22px;
  }
  #panel-upgrade .opts input[type=checkbox]{accent-color:var(--brand2);width:17px;height:17px;}
  #panel-upgrade .opts select{width:auto;flex:1;min-width:180px;}

  #panel-upgrade .pts-wrap{background:rgba(255,255,255,.55);border:1px solid var(--line2);border-radius:var(--radius);padding:14px;margin-bottom:16px;box-shadow:var(--shadow-sm);}
  #panel-upgrade .pts-grid{grid-template-columns:repeat(4,1fr);gap:10px;}
  #panel-upgrade .pts-chip{
    border:1px solid var(--line2);background:#fff;border-radius:var(--radius);padding:12px 8px;
    box-shadow:var(--shadow-sm);transition:transform .15s, box-shadow .2s, border-color .2s, background .2s;
  }
  #panel-upgrade .pts-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
  #panel-upgrade .pts-chip.active{
    background:var(--brand2);border-color:transparent;color:#fff;box-shadow:0 8px 22px rgba(249,115,22,.28);
  }
  #panel-upgrade .pts-chip.active .pts-pts{color:rgba(255,255,255,.88);}

  #panel-upgrade .hint{background:rgba(255,255,255,.7);border:1px dashed var(--line2);border-radius:var(--radius);padding:11px 14px;color:var(--muted2);}

  #panel-upgrade .row{display:flex;gap:14px;flex-wrap:wrap;}
  #panel-upgrade .row .field{flex:1;min-width:170px;}

  #panel-upgrade .btn{
    background:var(--brand2);color:#fff;border:none;border-radius:var(--radius);padding:13px 30px;
    font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;
    box-shadow:0 6px 16px rgba(249,115,22,.28);transition:transform .15s, box-shadow .2s, filter .2s;
  }
  #panel-upgrade .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(249,115,22,.38);filter:brightness(1.04);}
  #panel-upgrade .btn:active{transform:translateY(0) scale(.98);}
  #panel-upgrade .btn.sm{background:#fff;color:var(--brand2);border:1px solid var(--line2);box-shadow:var(--shadow-sm);}
  #panel-upgrade .btn.sm:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:none;}

  #panel-upgrade .result.show{
    background:rgba(255,255,255,.6);border:1px solid var(--line2);border-radius:var(--radius);
    padding:16px;box-shadow:var(--shadow-sm);margin-top:18px;
  }
  #panel-upgrade .script{
    background:#fff;border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow-sm);
  }
  #panel-upgrade .copy-btn{
    background:#fff;color:var(--brand2);border:1px solid var(--line2);border-radius:9px;
    transition:transform .15s, box-shadow .2s, background .2s;
  }
  #panel-upgrade .copy-btn:hover{background:var(--brand2-light);border-color:var(--brand2);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
  #panel-upgrade .script-head b{color:var(--ink2);}

  #panel-upgrade .seg-grid{margin-top:14px;}
  #panel-upgrade .seg-card{
    background:#fff;border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow-sm);
    transition:transform .15s, box-shadow .2s;
  }
  #panel-upgrade .seg-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
  #panel-upgrade .seg-card-num{background:var(--brand2-light);color:var(--brand2);}
  #panel-upgrade .seg-card .copy-btn{background:#fff;color:var(--brand2);border:1px solid var(--line2);}
  #panel-upgrade .seg-card .copy-btn:hover{background:var(--brand2-light);}

  /* ===== 联报报价 · Vercel 风格 ===== */
  #panel-joint{
    background:var(--soft2);border:1px solid var(--line2);border-radius:var(--radius);
    padding:28px 30px 32px;box-shadow:var(--shadow-sm);
    font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  }
  #panel-joint .section-title{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink2);font-size:22px;margin-bottom:4px;}
  #panel-joint .section-sub{color:var(--muted2);opacity:.85;margin-bottom:18px;}

   .jt-layout{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:start;}
  @media(max-width:960px){.jt-layout{grid-template-columns:1fr;}}
  .jt-sidebar{
    background:#fff;border:1px solid var(--line2);border-radius:10px;
    padding:14px;box-shadow:var(--shadow-sm);
  }
  .jt-sidebar-title{font-size:15px;font-weight:700;color:var(--ink2);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;}
  .jt-sidebar-title span{font-size:12px;color:var(--muted2);font-weight:700;}
  .jt-sidebar .cat-btn{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;text-align:left;border:1px solid transparent;border-radius:7px;padding:10px 12px;margin-bottom:4px;font-size:14px;font-weight:700;background:#f8fafc;color:#334155;transition:.15s;}
  .jt-sidebar .cat-btn:hover{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;}
  .jt-sidebar .cat-btn.active{background:var(--brand2-light);color:var(--brand2);border-color:var(--brand2);font-weight:700;}
  .jt-sidebar .cat-btn small{color:#64748b;font-size:12px;font-weight:700;}

  .jt-main{display:flex;flex-direction:column;gap:14px;}
  .jt-panel{
    background:#fff;border:1px solid var(--line2);border-radius:10px;
    padding:14px;box-shadow:var(--shadow-sm);
  }
  .jt-panel-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line2);margin-bottom:14px;}
  .jt-panel-title strong{font-size:15px;font-weight:700;color:var(--ink2);}
  .jt-panel-title span,.jt-source{font-size:12px;color:var(--muted2);}

  .jt-chooser{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  @media(max-width:960px){.jt-chooser{grid-template-columns:1fr;}}
  .jt-choice{
    border:1px solid var(--line2);border-radius:8px;background:#fff;padding:12px;
    display:grid;gap:10px;
  }
  .jt-choice-head{display:flex;align-items:center;gap:8px;}
  .jt-badge{
    min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:8px;color:#fff;font-size:16px;font-weight:700;
  }
  .jt-badge-a{background:#2563eb;}
  .jt-badge-b{background:#7c3aed;}
  .jt-badge-c{background:#dc2626;}
  .jt-choice select{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;font-size:13px;font-weight:700;font-family:inherit;color:#0f172a;}
  .jt-plan-preview{background:var(--soft2);border-radius:8px;padding:12px;min-height:80px;}
  .jt-plan-preview .jt-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #dfe6f0;border-radius:8px;background:#fff;overflow:hidden;}
  .jt-stat{min-height:60px;display:grid;align-content:center;justify-items:start;border-right:1px solid #edf1f6;padding:7px 10px;}
  .jt-stat:last-child{border-right:none;}
  .jt-stat span{display:block;font-size:10.5px;color:#647085;font-weight:760;white-space:nowrap;}
  .jt-stat strong{display:flex;align-items:baseline;gap:1px;font-size:17px;font-weight:700;color:#111827;margin-top:2px;font-variant-numeric:tabular-nums;}
  .jt-stat strong small{font-size:10.5px;font-weight:760;color:#566174;}
  .jt-stat.price{background:#fffaf7;}
  .jt-stat.price span{color:#111827;font-weight:700;}
  .jt-stat.price strong{font-size:18px;font-weight:700;}

  .jt-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:960px){.jt-control-grid{grid-template-columns:1fr;}}
  .jt-action-card{background:linear-gradient(180deg,#fff,#fbfdff);}
  .jt-advanced{border-color:#fecdd3;background:linear-gradient(180deg,#fff7f7,#fff);}
  .jt-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
  .jt-benefit-option{border:1px solid var(--line2);border-radius:8px;padding:10px 12px;}
  .jt-benefit-option label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;cursor:pointer;}
  .jt-benefit-desc{display:block;font-size:11.5px;color:var(--muted2);margin-top:4px;line-height:1.5;}
  .jt-version-switch{display:inline-flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden;}
  .jt-ver-btn{border-radius:0!important;border:none!important;padding:7px 14px;font-size:13px;}
  .jt-ver-btn.active{background:var(--brand2);color:#fff;}
  .jt-template-label{font-size:13px;color:var(--muted2);display:flex;align-items:center;gap:6px;}
  .jt-template-label select{padding:6px 10px;border:1px solid var(--line2);border-radius:8px;font-size:13px;}
  .jt-action-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
  .jt-diff-hint{font-size:12px;color:var(--muted2);margin:8px 0 0;line-height:1.6;}

  /* ===== 组合报价 · Vercel 风格 ===== */
  #panel-combo{
    background:var(--soft2);border:1px solid var(--line2);border-radius:var(--radius);
    padding:28px 30px 32px;box-shadow:var(--shadow-sm);
    font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  }
  #panel-combo .section-title{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink2);font-size:22px;margin-bottom:4px;}
  #panel-combo .section-sub{color:var(--muted2);opacity:.85;margin-bottom:18px;}

  .cb-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  @media(max-width:960px){.cb-layout{grid-template-columns:1fr;}}
  .cb-left,.cb-right{
    background:#fff;border:1px solid var(--line2);border-radius:var(--radius);
    padding:18px 20px;box-shadow:var(--shadow-sm);
  }
  .cb-section-title{font-weight:700;font-size:15px;color:var(--ink2);margin-bottom:4px;}
  .cb-section-desc{font-size:12px;color:var(--muted2);margin-bottom:14px;}

  .cb-role-switch{display:flex;border:1px solid var(--line2);border-radius:999px;overflow:hidden;margin-bottom:12px;}
  .cb-role-btn{
    flex:1;padding:10px;border:none;background:#fff;font-size:14px;font-weight:600;
    cursor:pointer;font-family:inherit;color:var(--muted2);transition:.15s;
  }
  .cb-role-btn.active{background:var(--brand2);color:#fff;}

  .cb-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
  .cb-tab{
    border:1px solid var(--line2);background:#fff;border-radius:999px;padding:6px 14px;
    font-size:13px;font-weight:600;cursor:pointer;color:var(--muted2);font-family:inherit;transition:.12s;
  }
  .cb-tab.active{border-color:var(--brand2);background:var(--brand2-light);color:var(--brand2);}
  .cb-tab-hint{font-size:12px;color:var(--muted2);margin-bottom:12px;}

  .cb-product-table{border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden;margin-bottom:14px;}
  .cb-pt-head{display:grid;grid-template-columns:1fr 80px 80px;background:var(--soft2);padding:8px 12px;font-size:12px;font-weight:700;color:var(--muted2);}
  .cb-pt-row{display:grid;grid-template-columns:1fr 80px 80px;padding:8px 12px;border-top:1px solid var(--line2);font-size:13px;align-items:center;}
  .cb-pt-row img{width:28px;height:28px;object-fit:contain;border-radius:6px;vertical-align:middle;margin-right:6px;background:#f3f4f6;}
  .cb-pt-row input{width:100%;padding:6px 8px;border:1px solid var(--line2);border-radius:6px;font-size:13px;text-align:center;}
  .cb-pt-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--brand2-light);color:var(--brand2);font-weight:600;text-align:center;}

  .cb-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
  .cb-metric{background:var(--soft2);border:1px solid var(--line2);border-radius:8px;padding:10px 12px;}
  .cb-metric span{display:block;font-size:11px;color:var(--muted2);}
  .cb-metric strong{display:block;font-size:16px;font-weight:700;color:var(--ink2);margin-top:2px;}

  .cb-package-list{display:flex;flex-direction:column;gap:10px;}
  .cb-pkg-card{
    border:1px solid var(--line2);border-radius:10px;padding:12px;
    cursor:pointer;transition:.15s;background:#fff;position:relative;
    display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;
  }
  .cb-pkg-card:hover{border-color:var(--brand2-border);box-shadow:var(--shadow-md);}
  .cb-pkg-card.active{
    border:1.5px solid var(--brand2);border-left:3px solid var(--brand2);
    background:linear-gradient(145deg,#fff7ed 0%,#ffffff 68%);
    box-shadow:0 0 0 1px rgba(249,115,22,.28),0 8px 20px rgba(249,115,22,.10);
  }
  .cb-pkg-card img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#f8fafc;}
  .cb-pkg-card .cb-pkg-name{font-weight:700;font-size:13px;color:var(--ink2);}
  .cb-pkg-card .cb-pkg-meta{font-size:11px;color:var(--muted2);margin-top:2px;}
  .cb-pkg-card .cb-pkg-price{font-weight:700;font-size:15px;color:var(--brand2);margin-top:4px;}

  .cb-combo-summary{
    margin-top:14px;border:1px solid var(--brand2-border);border-radius:var(--radius);
    background:var(--brand2-light);padding:14px;
  }
  .cb-summary-title{font-weight:700;font-size:14px;color:var(--brand2);margin-bottom:10px;}
  .cb-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
  .cb-summary-card{background:#fff;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;text-align:center;}
  .cb-summary-card span{display:block;font-size:11px;color:var(--muted2);}
  .cb-summary-card strong{display:block;font-size:15px;font-weight:700;color:var(--ink2);margin-top:2px;}
  .cb-summary-card.highlight strong{color:var(--brand2);}

  .cb-bottom{background:#fff;border:1px solid var(--line2);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);}

  /* ===== 退款计算 · Vercel 风格 ===== */
  #panel-refund{
    background:var(--soft2);border:1px solid var(--line2);border-radius:var(--radius);
    padding:28px 30px 32px;box-shadow:var(--shadow-sm);
    font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  }
  #panel-refund .section-title{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink2);font-size:22px;margin-bottom:4px;}
  #panel-refund .section-sub{color:var(--muted2);opacity:.85;margin-bottom:18px;}

  .rf-layout{display:grid;grid-template-columns:1fr 360px;gap:16px;}
  @media(max-width:960px){.rf-layout{grid-template-columns:1fr;}}
  .rf-form{
    background:#fff;border:1px solid var(--line2);border-radius:var(--radius);
    padding:18px 20px;box-shadow:var(--shadow-sm);
  }
  .rf-summary{
    background:#fff;border:1px solid var(--line2);border-radius:var(--radius);
    padding:18px 20px;box-shadow:var(--shadow-sm);
    position:sticky;top:14px;border-top:4px solid var(--brand2);align-self:start;
  }
  .rf-section-title{font-weight:700;font-size:15px;color:var(--ink2);margin-bottom:12px;}
  .rf-section-title.sm{font-size:13px;margin:14px 0 8px;}

  .rf-platform-group{display:flex;border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:#fff;padding:4px;}
  .rf-pill{
    flex:1;padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:600;
    cursor:pointer;font-family:inherit;color:var(--muted2);border-radius:8px;transition:.15s;
  }
  .rf-pill.active{background:var(--brand2);color:#fff;box-shadow:0 2px 8px rgba(249,115,22,.25);}

  .rf-platform-rule{
    border-left:5px solid var(--brand2);background:var(--brand2-light);color:#9a3412;
    border-radius:0 8px 8px 0;padding:10px 14px;margin:12px 0;font-size:13px;line-height:1.6;
  }
  .rf-platform-rule strong{display:block;margin-bottom:2px;}
  .rf-rule-strip{
    border-left:4px solid var(--brand2);background:var(--brand2-light);color:#c2410c;
    border-radius:0 8px 8px 0;padding:8px 14px;margin:10px 0;font-size:12.5px;
  }

  .rf-details{margin:14px 0;border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden;}
  .rf-details summary{padding:12px 14px;cursor:pointer;font-weight:700;font-size:14px;color:var(--ink2);user-select:none;}
  .rf-details summary:hover{background:var(--soft2);}
  .rf-details-body{padding:14px;border-top:1px dashed var(--line2);}
  .rf-table{width:100%;border-collapse:collapse;font-size:13px;}
  .rf-table th,.rf-table td{border:1px solid var(--line2);padding:7px 10px;text-align:center;}
  .rf-table th{background:var(--soft2);font-weight:700;color:var(--muted2);font-size:12px;}
  .rf-table td input{width:60px;padding:4px 6px;border:1px solid var(--line2);border-radius:6px;text-align:center;font-size:13px;}
  .rf-tag{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;}
  .rf-tag.green{background:#dcfce7;color:#166534;}
  .rf-tag.gray{background:#f3f4f6;color:#6b7280;}
  .rf-tag.red{background:#fef2f2;color:#dc2626;}

  /* 退款产品缩略图 */
  .rf-pcell{display:inline-flex;align-items:center;gap:8px;text-align:left;}
  .rf-thumb{
    width:34px;height:34px;border-radius:8px;object-fit:cover;flex:none;
    border:1px solid var(--line2);background:var(--soft2);
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:700;color:var(--muted2);
    cursor:zoom-in;transition:transform .12s ease;
  }
  .rf-thumb:hover{transform:scale(1.15);}
  .rf-thumb-ph{background:linear-gradient(135deg,var(--soft2),var(--line1));}
  .rf-zoom-mask{
    position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);
    display:flex;align-items:center;justify-content:center;padding:24px;
  }
  .rf-zoom-box{
    position:relative;background:var(--bg2);border-radius:14px;padding:14px;
    max-width:min(560px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.35);
  }
  .rf-zoom-box img{display:block;max-width:100%;max-height:72vh;border-radius:10px;}
  .rf-zoom-ph{
    display:flex;align-items:center;justify-content:center;
    min-width:260px;min-height:160px;border-radius:10px;
    background:linear-gradient(135deg,var(--soft2),var(--line1));
    color:var(--muted2);font-size:18px;font-weight:700;padding:20px;text-align:center;
  }
  .rf-zoom-name{text-align:center;font-size:13px;font-weight:600;color:var(--ink2);margin-top:10px;}
  .rf-zoom-close{
    position:absolute;top:-12px;right:-12px;width:30px;height:30px;border-radius:50%;
    background:var(--ink2);color:var(--bg2);display:flex;align-items:center;justify-content:center;
    font-size:18px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);
  }

  .rf-metric{border-bottom:1px solid var(--line2);padding:10px 0;display:flex;justify-content:space-between;align-items:center;}
  .rf-metric:last-child{border-bottom:none;}
  .rf-metric span{font-size:13px;color:var(--muted2);}
  .rf-metric strong{font-size:15px;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums;}
  .rf-metric.total{
    background:linear-gradient(135deg,var(--brand2),#e11d48);color:#fff;
    border-radius:8px;padding:14px 16px;margin-top:12px;border:none;
  }
  .rf-metric.total span{color:rgba(255,255,255,.85);}
  .rf-metric.total strong{color:#fff;font-size:24px;}

  .rf-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
  .rf-detail-card{background:var(--soft2);border:1px solid var(--line2);border-radius:8px;padding:10px;}
  .rf-detail-card span{display:block;font-size:11px;color:var(--muted2);}
  .rf-detail-card strong{display:block;font-size:14px;font-weight:700;color:var(--ink2);margin-top:2px;}

  .rf-tmall-box{
    margin-top:12px;border:1px solid var(--brand2-border);border-radius:var(--radius);
    background:var(--brand2-light);padding:14px;
  }
  .rf-tmall-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:700;font-size:14px;color:var(--brand2);margin-bottom:10px;}
  .rf-tmall-note{font-size:12px;color:var(--muted2);font-weight:400;margin:4px 0;line-height:1.5;}
  .rf-tmall-hint{font-size:12px;color:var(--muted2);margin:8px 0;line-height:1.5;}
  .rf-readonly-value{
    display:flex;align-items:center;min-height:40px;border:1px solid var(--brand2-border);
    border-radius:8px;padding:8px 11px;color:var(--brand2);background:#fff;
    font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;
  }
  .rf-note{color:var(--muted2);font-size:12px;font-weight:400;}
  .rf-section-title.row-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line2);padding-bottom:8px;}
  .rf-section-title.row-title h2{margin:0;font-size:15px;font-weight:700;color:var(--ink2);}
  .rf-warning{color:#b45309;font-size:12px;line-height:1.55;margin:8px 0 0;}
  .rf-actions{display:flex;gap:10px;margin-top:14px;}
  .rf-actions .btn{flex:1;}
  .rf-copy-note{font-size:11.5px;color:var(--muted2);margin-top:6px;text-align:center;}
  .rf-table td.money,.rf-table .money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
  .rf-table td input.rf-qty{width:64px;}
  .rf-table td input.rf-custom-price{width:90px;padding:4px 6px;border:1px solid var(--brand2-border);border-radius:6px;text-align:center;font-size:13px;}
  .rf-result{
    margin-top:12px;border:1px solid var(--line2);border-radius:var(--radius);padding:12px;
    min-height:220px;white-space:pre-wrap;line-height:1.7;color:#263244;background:var(--soft2);
    font-family:Consolas,"Microsoft YaHei",monospace;font-size:12px;
  }

  /* ===== 回访日期（复刻 Vercel 版：总览 + 即将喝完） ===== */
  .fu-overview-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:16px;}
  .fu-overview-title{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;}
  .fu-overview-title h1{font-size:26px;line-height:1.15;color:var(--ink2);font-weight:700;margin:0;}
  .fu-overview-title p{color:#374151;font-size:14px;font-weight:700;margin:0;}
  .fu-overview-tip{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--brand2-border);border-radius:8px;background:var(--brand2-light);color:#374151;font-weight:700;font-size:13px;}
  .fu-tip-icon{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand2);color:#fff;font-size:12px;font-weight:700;flex:0 0 auto;}
  .fu-view-switch{display:inline-flex;gap:6px;margin:0 0 16px;padding:4px;border:1px solid var(--brand2-border);border-radius:8px;background:#fff;}
  .fu-view-switch button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#475569;padding:0 14px;font-weight:700;cursor:pointer;font-family:inherit;font-size:13px;}
  .fu-view-switch button.active{background:var(--brand2);color:#fff;}
  .fu-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .fu-metric-card{display:flex;align-items:center;gap:14px;min-height:88px;padding:16px;border:1px solid var(--brand2-border);border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(17,24,39,.05);}
  .fu-metric-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#fff4e6;color:var(--brand2);font-size:18px;font-weight:700;flex:0 0 auto;}
  .fu-metric-label{display:block;color:var(--ink2);font-size:13px;font-weight:700;}
  .fu-metric-value{display:block;margin-top:4px;color:var(--brand2);font-size:26px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;}
  .fu-metric-value .unit{margin-left:4px;color:var(--ink2);font-size:14px;}
  .fu-category-panel{display:flex;align-items:center;padding:16px 20px;border:1px solid var(--brand2-border);border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(17,24,39,.04);}
  .fu-category-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;}
  .fu-category-legend .fu-scenario-note{display:inline-flex;align-items:center;padding:6px 14px;border:1px dashed var(--brand2-border);border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:600;line-height:1.4;margin-right:8px;}
  .fu-product-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border:1px solid currentColor;border-radius:6px;font-size:14px;font-weight:700;white-space:nowrap;}
  .fu-mini-chip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:1px 5px;border-radius:5px;border:1px solid currentColor;font-size:11px;font-weight:700;}
  .product-classic{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe;}
  .product-upgrade{color:#ea580c;background:#ffedd5;border-color:#fdba74;}
  .product-hongshen{color:#b91c1c;background:#fff1f2;border-color:#fda4af;}
  .product-astaxanthin{color:#db2777;background:#fce7f3;border-color:#f9a8d4;}
  .product-iron{color:#b91c1c;background:#fee2e2;border-color:#fca5a5;}
  .product-powder{color:#111827;background:#e5e7eb;border-color:#9ca3af;}
  .product-no-reply{color:#6b7280;background:#f3f4f6;border-color:#9ca3af;font-style:italic;}
  .fu-extra-chip{opacity:.72;border-style:dashed;}
  .fu-status-chip{background:#1f2937;color:#fef3c7;border-color:#f59e0b;}
  .fu-extra-divider{display:inline-block;width:1px;height:18px;background:rgba(148,163,184,.45);margin:0 8px;vertical-align:middle;}
  .fu-tools-panel{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(260px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px;padding:14px 16px;border:1px solid var(--brand2-border);border-radius:8px;background:#fff;}
  .fu-tools-panel .field{margin-bottom:0;}
  .fu-tools-panel label{font-size:12px;}
  .fu-tools-panel input[type="date"]{padding:8px 10px;border:1px solid var(--brand2-border);border-radius:8px;font-size:13px;font-family:inherit;}
  .fu-date-stack label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:4px;}
  .fu-extra-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;}
  .fu-copy-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
  .fu-date-chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;min-height:28px;}
  .fu-date-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--brand2-border);border-radius:999px;background:var(--brand2-light);color:var(--ink2);padding:4px 8px 4px 10px;font-size:12px;font-weight:700;}
  .fu-date-chip button{width:20px;height:20px;border:0;border-radius:999px;background:var(--brand2-border);color:#9a3412;font-size:14px;line-height:1;cursor:pointer;}
  .fu-date-chip button:hover{background:var(--brand2);color:#fff;}
  .fu-timeline-section{margin-bottom:14px;}
  .fu-section-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--ink2);font-size:17px;font-weight:700;}
  .fu-section-dot{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand2);color:#fff;font-size:12px;}
  .fu-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;}
  .fu-timeline-node{min-height:92px;padding:10px 8px;border:1px solid var(--brand2-border);border-radius:8px;background:#fff;box-shadow:0 6px 16px rgba(17,24,39,.04);text-align:center;cursor:pointer;font-family:inherit;transition:.15s;}
  .fu-timeline-node:hover{border-color:#fb923c;background:#fff7ed;transform:translateY(-1px);}
  .fu-timeline-day{color:var(--ink2);font-size:16px;font-weight:700;line-height:1;}
  .fu-timeline-date{margin-top:6px;color:#ff5a1f;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;}
  .fu-timeline-products{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:8px;min-height:20px;}
  .fu-table-title{margin-bottom:8px;color:var(--ink2);font-size:15px;font-weight:700;}
  .fu-table{width:100%;min-width:1160px;border-collapse:collapse;font-size:13px;}
  .fu-table th,.fu-table td{border:1px solid var(--brand2-border);border-right-color:#fed7aa;border-bottom-color:#fed7aa;padding:8px 12px;text-align:left;vertical-align:middle;}
  .fu-table th{background:#ffedd5;color:#7c2d12;font-weight:700;font-size:13px;white-space:nowrap;}
  .fu-table tbody tr:nth-child(odd) td{background:#fffdfa;}
  .fu-table tbody tr:nth-child(even) td{background:#fff3e7;}
  .fu-table .fu-day-cell{width:98px;text-align:center;color:var(--ink2);font-size:16px;font-weight:700;white-space:nowrap;}
  .fu-table .fu-product-cell{width:310px;}
  .fu-table .fu-product-cell .fu-product-chip{margin:2px 4px 2px 0;}
  .fu-table .fu-date-head,.fu-table .fu-date-cell{width:120px;min-width:112px;text-align:center;}
  .fu-table .fu-date-copy{
    min-width:76px;border:1px solid transparent;border-radius:999px;background:transparent;color:#ff5a1f;
    font:inherit;font-size:15px;font-weight:700;cursor:pointer;padding:3px 9px;font-variant-numeric:tabular-nums;transition:.15s;
  }
  .fu-table .fu-date-copy:hover{color:#ea580c;text-decoration:underline;}
  .fu-timeline-node.is-selected,.fu-table .fu-date-copy.is-selected,.fu-finishing-date.is-selected{
    border-color:rgba(236,72,153,.42)!important;background:linear-gradient(135deg,#fff7ed,#fff1f8)!important;
    color:#7c3aed!important;box-shadow:0 10px 22px rgba(236,72,153,.12),0 0 0 3px rgba(249,115,22,.10)!important;text-decoration:none!important;
  }
  .fu-table .fu-require-cell{width:470px;color:var(--ink2);}
  .fu-image-preview{display:none;margin-top:12px;padding:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:var(--ink2);font-size:13px;font-weight:700;}
  .fu-image-preview.show{display:block;}
  .fu-image-preview strong{display:block;margin-bottom:6px;color:var(--ink2);font-size:14px;}
  .fu-image-preview img{display:block;width:100%;max-width:980px;margin-top:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;}
  .fu-finishing-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
  .fu-finishing-head strong{font-size:15px;font-weight:700;color:var(--ink2);}
  .fu-finishing-head span{color:var(--muted2);font-size:12px;font-weight:600;margin-left:8px;}
  .fu-finishing-table{width:100%;min-width:760px;border-collapse:collapse;}
  .fu-finishing-table th,.fu-finishing-table td{border:1px solid #fed7aa;border-right-color:#fed7aa;border-bottom-color:#fed7aa;padding:11px 14px;text-align:center;font-size:15px;}
  .fu-finishing-table th{background:var(--brand2);color:#fff;font-size:16px;font-weight:700;}
  .fu-finishing-group{font-size:17px;font-weight:700;}
  .fu-finishing-group-1{background:#fdf0ff;}
  .fu-finishing-group-2{background:#fff9e8;}
  .fu-finishing-group-3{background:#fff0f0;}
  .fu-finishing-date{border:0;background:transparent;color:var(--ink2);font:inherit;font-weight:700;cursor:pointer;padding:5px 9px;border-radius:6px;font-variant-numeric:tabular-nums;}
  .fu-finishing-date:hover{background:#fff7ed;color:#ea580c;outline:2px solid #fdba74;}

  /* ===== 套餐管理子页签（员工端：当月套餐 / 积分商城） ===== */
  .month-subtabs{display:inline-flex;gap:6px;margin-bottom:14px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;}
  .month-subtab{min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted2);padding:0 16px;font-weight:700;cursor:pointer;font-family:inherit;font-size:13px;transition:.15s;}
  .month-subtab:hover{color:var(--brand);}
  .month-subtab.active{background:var(--brand);color:#fff;}

  /* ===== 复刻模块布局（与源版一致：首单详情 | 目标套餐 双列，报价操作通栏在下） ===== */
  .workspace .panel.active .panel{display:block;}
  #panel-upgrade .shell.pkg-shell,#panel-combo .shell.pkg-shell{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;gap:14px;align-items:start;padding:18px;}
  #panel-upgrade .pkg-shell .target-package-panel,#panel-combo .pkg-shell .target-package-panel{grid-column:2!important;grid-row:1;display:block!important;}
  #panel-upgrade .pkg-shell .quote-action-panel,#panel-combo .pkg-shell .quote-action-panel{grid-column:1/-1!important;grid-row:2;}
  /* 目标套餐内部：页签 → 提示 → 套餐卡横排 → 套餐详情 */
  #panel-upgrade .target-package-panel .package-list,#panel-combo .target-package-panel .package-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(195px,1fr))!important;gap:12px!important;max-height:none!important;overflow:visible!important;padding:0!important;}
  #panel-upgrade .target-package-panel .preview,#panel-combo .target-package-panel .preview{grid-column:auto!important;grid-template-columns:1fr!important;margin-top:12px!important;}
  #panel-upgrade .pkg-shell .first-order-panel{align-self:stretch;}
  /* ===== 分段式话术模板（2026-09-06 恢复） ===== */
  #panel-upgrade .seg-tpl-cats .cat-btn{background:#fff;border-color:#e5e7eb;color:#334155;}
  #panel-upgrade .seg-tpl-cats .cat-btn.active{background:linear-gradient(135deg,#f97316,#e11d48)!important;color:#fff!important;border-color:transparent!important;}
  #panel-upgrade .actions .seg-btn{background:linear-gradient(135deg,#111827,#374151)!important;}
  #panel-upgrade .seg-tpl-field label{font-size:12px;font-weight:700;color:#334155;}
  /* ===== 素材库 ===== */
  .mat-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
  .mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
  .mat-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;transition:.15s;}
  .mat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px);}
  .mat-card-img{width:100%;height:160px;object-fit:cover;background:#f3f4f6;}
  .mat-card-body{padding:10px 12px;}
  .mat-card-text{font-size:12px;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .mat-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
  .mat-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#f3f4f6;color:var(--ink-soft);}
  .mat-empty{text-align:center;padding:40px;color:var(--ink-soft);font-size:14px;display:none;}
  .mat-modal{position:fixed;inset:0;z-index:9000;display:none;place-items:center;background:rgba(0,0,0,.5);}
  .mat-modal.show{display:grid;}
  .mat-modal-card{background:#fff;border-radius:16px;max-width:480px;width:90%;max-height:80vh;overflow:auto;padding:20px;}
  .mat-modal-card img{width:100%;border-radius:8px;margin-bottom:12px;}
  .mat-modal-actions{display:flex;gap:8px;margin-top:12px;}

  /* ===== 胶原流失 · Vercel 复刻 ===== */
  :root{
    --col-pink:#ff5eb1;--col-deep-pink:#e64298;--col-purple:#8a3ffc;
    --col-violet:#5d247c;--col-orange:#eb7a13;--col-text:#29213a;--col-muted:#776783;
    --col-card:rgba(255,255,255,.72);--col-border:rgba(255,255,255,.78);
  }
  #panel-collagen{
    background:linear-gradient(135deg,rgba(255,246,250,.96) 0%,rgba(255,235,246,.96) 42%,rgba(248,239,255,.96) 100%),
      radial-gradient(ellipse at 12% 8%,rgba(255,199,225,.72),transparent 44%),
      radial-gradient(ellipse at 88% 12%,rgba(194,159,255,.52),transparent 46%);
    border:none;padding:0;box-shadow:none;
  }
  .col-hero{
    position:relative;padding:34px 30px 24px;border-radius:34px;margin-bottom:0;
    background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
    border:1px solid var(--col-border);box-shadow:0 24px 70px rgba(139,65,153,.14);
    backdrop-filter:blur(18px);overflow:hidden;
  }
  .col-copy-btn{
    position:absolute;top:16px;right:16px;z-index:2;min-height:38px;padding:0 14px;
    border-radius:999px;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.18);
    color:rgba(78,49,95,.72);font-size:13px;font-weight:700;cursor:pointer;
    backdrop-filter:blur(12px);transition:transform .18s,background .18s,color .18s;font-family:inherit;
  }
  .col-copy-btn:hover{background:rgba(255,255,255,.58);color:#4e315f;transform:translateY(-1px);}
  .col-hero h1{
    position:relative;z-index:1;margin:0;text-align:center;
    font-size:clamp(28px,4vw,48px);line-height:1.12;font-weight:700;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  }
  .col-hero h1 .gradient{
    background:linear-gradient(90deg,var(--col-deep-pink),var(--col-purple));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .col-top-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;}
  .col-stat{
    padding:18px;border-radius:24px;background:rgba(255,255,255,.70);
    border:1px solid rgba(255,255,255,.88);box-shadow:0 14px 34px rgba(145,66,153,.10);text-align:center;
  }
  .col-label{font-size:15px;color:var(--col-muted);margin-bottom:8px;}
  .col-value{font-size:clamp(22px,2.8vw,34px);font-weight:700;line-height:1;}
  .col-value.orange{color:var(--col-orange);}
  .col-value.pink{color:var(--col-deep-pink);}
  .col-value.violet{color:var(--col-violet);}
  .col-value small{font-size:.55em;font-weight:700;}

  .col-dashboard{margin-top:22px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:stretch;}
  .col-panel{
    border:1px solid var(--col-border);background:var(--col-card);
    box-shadow:0 24px 70px rgba(139,65,153,.14);backdrop-filter:blur(18px);
    border-radius:34px;overflow:hidden;
  }
  .col-chart-panel{padding:22px 22px 18px;}
  .col-controls{
    display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px;
    padding:16px;border-radius:24px;background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.86);
  }
  .col-input-wrap{flex:0 0 182px;}
  .col-input-label{display:block;margin-bottom:8px;color:var(--col-muted);font-size:14px;font-weight:700;}
  .col-age-input{
    width:100%;height:54px;border:0;outline:0;border-radius:18px;padding:0 16px;
    background:#fff;color:#3a244f;font-size:28px;font-weight:700;
    box-shadow:inset 0 0 0 1px rgba(223,184,231,.8);font-family:inherit;
  }
  .col-slider-wrap{flex:1;min-width:180px;}
  .col-range{width:100%;accent-color:var(--col-deep-pink);}
  .col-range-labels{display:flex;justify-content:space-between;color:#9c89aa;font-size:13px;font-weight:700;margin-top:8px;}

  .col-chart-box{position:relative;height:400px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,244,251,.62)),radial-gradient(ellipse at 22% 18%,rgba(255,172,113,.20),transparent 42%),radial-gradient(ellipse at 78% 32%,rgba(138,63,252,.12),transparent 44%);border:1px solid rgba(255,255,255,.92);overflow:hidden;}
  .col-chart-box svg{display:block;width:100%;height:100%;}

  .col-tooltip{
    position:absolute;pointer-events:none;transform:translate(-50%,-118%);
    padding:10px 12px;border-radius:14px;background:rgba(52,36,67,.92);color:#fff;
    font-size:13px;line-height:1.45;font-weight:700;box-shadow:0 12px 26px rgba(52,36,67,.24);
    white-space:nowrap;z-index:3;display:none;
  }

  .col-note{
    margin-top:16px;padding:14px 18px;border-radius:20px;color:#8d7897;font-size:13px;line-height:1.7;
    background:rgba(255,255,255,.50);border:1px solid rgba(255,255,255,.78);
  }

  .col-side-panel{padding:22px;display:flex;flex-direction:column;gap:16px;}
  .col-result-card{
    position:relative;padding:26px 22px;border-radius:30px;
    background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,246,252,.74));
    border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 46px rgba(180,70,140,.13);overflow:hidden;
  }
  .col-age-display{display:flex;align-items:flex-end;gap:6px;margin-bottom:14px;}
  .col-age-num{
    font-size:clamp(50px,6.5vw,80px);line-height:.9;font-weight:700;
    background:linear-gradient(135deg,var(--col-deep-pink),var(--col-purple));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .col-age-unit{font-size:28px;font-weight:700;color:#4e315f;padding-bottom:4px;}
  .col-result-title{color:#6f557e;font-size:16px;font-weight:700;margin-bottom:6px;}
  .col-main-rate{font-size:clamp(38px,5.5vw,64px);line-height:1;font-weight:700;color:var(--col-deep-pink);letter-spacing:0;margin-bottom:8px;}
  .col-main-rate .col-rate-unit{font-size:22px;font-weight:700;color:#8c6f9d;}

  .col-comparison{
    margin-top:16px;padding:18px;border-radius:24px;
    background:linear-gradient(135deg,rgba(255,240,248,.95),rgba(246,235,255,.88));
    border:1px solid rgba(255,255,255,.88);
  }
  .col-compare-big{font-size:36px;line-height:1;font-weight:700;color:var(--col-purple);}
  .col-compare-big small{font-size:.55em;font-weight:700;}
  .col-comparison p{margin:8px 0 0;color:#6d587a;font-size:15px;line-height:1.58;font-weight:650;}

  .col-mini-grid{display:grid;grid-template-columns:1fr;gap:12px;}
  .col-mini{padding:18px;border-radius:24px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.86);}
  .col-mini-k{color:#8a7895;font-size:14px;font-weight:700;margin-bottom:8px;}
  .col-mini-v{font-size:26px;line-height:1.1;font-weight:700;color:#4d315e;}
  .col-mini-v small{font-size:.55em;font-weight:700;color:#8c6f9d;}

  .col-talking-card{
    margin-top:auto;padding:20px;border-radius:28px;
    background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,243,250,.66));
    border:1px solid rgba(255,255,255,.86);
  }
  .col-tag{
    display:inline-flex;padding:7px 12px;border-radius:999px;
    background:rgba(230,70,154,.12);color:#d7388b;font-size:13px;font-weight:700;margin-bottom:12px;
  }
  .col-talking-card p{margin:0;color:#5e4a69;line-height:1.78;font-size:16px;font-weight:680;}

  @media(max-width:920px){
    .col-dashboard{grid-template-columns:1fr;}
    .col-top-stats{grid-template-columns:1fr;}
    .col-controls{flex-direction:column;align-items:stretch;}
    .col-input-wrap{flex-basis:auto;}
    .col-chart-box{height:340px;}
  }

  /* ===== 报价模板管理 ===== */
  .qt-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--line);padding-bottom:0;}
  .qt-tab{padding:10px 20px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:.15s;}
  .qt-tab:hover{color:var(--brand);}
  .qt-tab.active{color:var(--brand);border-bottom-color:var(--brand);}
  .qt-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .qt-stats{color:var(--ink-soft);font-size:13px;}
  .qt-board-tabs{display:flex;gap:4px;margin-bottom:14px;}
  .qt-board-tab{padding:6px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:.15s;}
  .qt-board-tab:hover{border-color:var(--brand);color:var(--brand);}
  .qt-board-tab.active{background:var(--brand);color:#fff;border-color:var(--brand);}
  .qt-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;min-height:400px;}
  .qt-list{border:1px solid var(--line);border-radius:12px;overflow-y:auto;max-height:500px;}
  .qt-list-item{padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:.1s;}
  .qt-list-item:hover{background:#f9fafb;}
  .qt-list-item.active{background:#fff1f2;border-left:3px solid var(--brand);}
  .qt-list-item-name{font-size:13px;font-weight:700;color:var(--ink);}
  .qt-list-item-meta{font-size:11px;color:var(--ink-soft);margin-top:2px;}
  .qt-editor{border:1px solid var(--line);border-radius:12px;padding:20px;}
  .qt-editor label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:4px;}
  .qt-editor input[type="text"],.qt-editor textarea{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;margin-bottom:12px;}
  .qt-editor textarea{min-height:120px;resize:vertical;}

  /* ===== 套餐管理(管理端) ===== */
  .pm-sidebar{display:flex;gap:4px;margin-bottom:16px;}
  .pm-tab{padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;}
  .pm-tab:hover{border-color:var(--brand);color:var(--brand);}
  .pm-tab.active{background:var(--brand);color:#fff;border-color:var(--brand);}
  .pm-content{border:1px solid var(--line);border-radius:12px;padding:20px;min-height:300px;}
  /* 活动配图：与积分商城卡片同规格（网格 minmax(168px,1fr) + 图区112px/图88px） */
  .pm-promo-banner{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin-bottom:16px;}
  .pm-promo-item{position:relative;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;border:1px solid var(--line);border-radius:14px;background:var(--canvas);box-shadow:var(--shadow-sm);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
  .pm-promo-item:hover{transform:translateY(-3px);border-color:#fecdd3;box-shadow:0 12px 26px rgba(225,29,72,.14);}
  .pm-promo-media{height:112px;display:grid;place-items:center;padding:12px;background:linear-gradient(180deg,#fffaf7 0%,#fff5f6 100%);border-bottom:1px solid var(--line);}
  .pm-promo-media img{display:block;width:100%;height:88px;object-fit:contain;}
  .pm-promo-body{flex:1;display:flex;flex-direction:column;padding:10px 12px 12px;text-align:center;}
  .pm-promo-name{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.4;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .pm-promo-copy{margin-top:8px;background:#fff;color:var(--brand);border:1px solid #fecdd3;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;}
  .pm-promo-copy:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
  @media (max-width:640px){
    .pm-promo-banner{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
    .pm-promo-media{height:96px;}
    .pm-promo-media img{height:72px;}
  }
  body[data-theme="dark"] .pm-promo-item{background:rgba(15,23,42,.6);border-color:rgba(148,163,184,.18);box-shadow:none;}
  body[data-theme="dark"] .pm-promo-item:hover{border-color:rgba(251,113,133,.5);box-shadow:0 12px 26px rgba(0,0,0,.3);}
  body[data-theme="dark"] .pm-promo-media{background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.14);}
  body[data-theme="dark"] .pm-promo-name{color:#e5e7eb;}
  body[data-theme="dark"] .pm-promo-copy{background:transparent;color:#fda4af;border-color:rgba(251,113,133,.4);}
  body[data-theme="dark"] .pm-promo-copy:hover{background:rgba(225,29,72,.2);color:#fda4af;border-color:rgba(251,113,133,.6);}
  .pm-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
  .pm-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;position:relative;}
  .pm-card-name{font-size:14px;font-weight:700;color:var(--ink);}
  .pm-card-meta{font-size:12px;color:var(--ink-soft);margin-top:4px;}
  .pm-card-price{font-size:16px;font-weight:700;color:var(--brand);margin-top:6px;}
  .pm-card-actions{display:flex;gap:6px;margin-top:8px;}
  .pm-add-card{border:2px dashed var(--line);border-radius:12px;padding:20px;text-align:center;color:var(--ink-soft);cursor:pointer;transition:.15s;}
  .pm-add-card:hover{border-color:var(--brand);color:var(--brand);}

  /* ===== 素材库（复刻 Vercel 版案例素材库） ===== */
  #panel-materials .library-shell{width:min(1360px,100%);margin:0 auto;padding:20px 0 40px;}
  #panel-materials .library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 24px;border-bottom:1px solid #e5e7eb;}
  #panel-materials .eyebrow{margin:0 0 7px;color:#f97316;font-size:13px;font-weight:700;}
  #panel-materials .library-head h1{margin:0;font-size:28px;line-height:1.2;color:#111827;}
  #panel-materials .library-summary{margin:9px 0 0;color:#667085;font-size:14px;}
  #panel-materials .library-count{display:grid;min-width:128px;text-align:right;}
  #panel-materials .library-count strong{color:#f97316;font-size:30px;line-height:1;}
  #panel-materials .library-count span{margin-top:7px;color:#667085;font-size:12px;}
  #panel-materials .filter-band{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(120px,1fr)) auto;gap:12px;align-items:end;padding:20px 0;}
  #panel-materials .filter-band label{display:grid;gap:7px;min-width:0;color:#667085;font-size:12px;font-weight:700;}
  #panel-materials .filter-band input,#panel-materials .filter-band select{width:100%;height:42px;border:1px solid #e5e7eb;border-radius:6px;padding:0 12px;color:#111827;background:#fff;outline:none;font-family:inherit;font-size:13px;}
  #panel-materials .filter-band input:focus,#panel-materials .filter-band select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.16);}
  #panel-materials .clear-button{min-height:42px;border:1px solid #e5e7eb;border-radius:6px;padding:0 14px;color:#334155;background:#fff;cursor:pointer;font-family:inherit;font-size:13px;}
  #panel-materials .clear-button:hover{border-color:#f97316;color:#f97316;}
  #panel-materials .view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 16px;}
  #panel-materials .view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;}
  #panel-materials .view-switch button{min-height:34px;border:0;border-radius:5px;padding:0 12px;color:#667085;background:transparent;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;}
  #panel-materials .view-switch button:hover{color:#f97316;background:#fff7ed;}
  #panel-materials .view-switch button.active{color:#fff;background:linear-gradient(135deg,#f97316,#e11d48);}
  #panel-materials .result-bar{display:flex;justify-content:space-between;gap:16px;min-height:38px;padding:2px 0 14px;color:#667085;font-size:13px;}
  #panel-materials .result-bar strong{color:#111827;}
  #panel-materials .material-groups{display:grid;gap:18px;}
  #panel-materials .material-group{padding-top:18px;border-top:1px solid #e5e7eb;}
  #panel-materials .material-group:first-child{border-top:0;padding-top:0;}
  #panel-materials .group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;}
  #panel-materials .group-head h2{margin:0;font-size:18px;color:#111827;}
  #panel-materials .group-head span{color:#667085;font-size:12px;}
  #panel-materials .material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
  #panel-materials .material-card{position:relative;overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff;}
  #panel-materials .favorite-button{position:absolute;top:9px;right:9px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:50%;padding:0;color:#64748b;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(15,23,42,.16);cursor:pointer;}
  #panel-materials .favorite-button:hover{color:#f97316;transform:translateY(-1px);}
  #panel-materials .favorite-button.active{color:#fff;border-color:#f97316;background:linear-gradient(135deg,#f97316,#e11d48);}
  #panel-materials .favorite-button span{font-size:18px;line-height:1;}
  #panel-materials .material-image-button{display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#f1f5f9;cursor:zoom-in;overflow:hidden;}
  #panel-materials .material-image-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease;}
  #panel-materials .material-image-button:hover img{transform:scale(1.025);}
  #panel-materials .material-card-body{display:grid;gap:10px;padding:13px;}
  #panel-materials .material-card h3{margin:0;min-height:42px;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#111827;}
  #panel-materials .material-tags{display:flex;flex-wrap:wrap;gap:5px;min-height:24px;}
  #panel-materials .material-tags span,#panel-materials .modal-tags span{border:1px solid #fed7aa;border-radius:999px;padding:3px 7px;color:#9a3412;background:#fff7ed;font-size:11px;}
  #panel-materials .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  #panel-materials .card-actions button{height:36px;border:1px solid #e5e7eb;border-radius:5px;color:#334155;background:#fff;cursor:pointer;font-family:inherit;font-size:13px;}
  #panel-materials .card-actions button:hover{border-color:#f97316;color:#f97316;}
  #panel-materials .card-actions .primary,#panel-materials .modal-actions .primary{border-color:#f97316;color:#fff;background:linear-gradient(135deg,#f97316,#e11d48);}
  #panel-materials .card-actions .primary:hover,#panel-materials .modal-actions .primary:hover{border-color:#ea580c;color:#fff;background:linear-gradient(135deg,#ea580c,#be123c);}
  #panel-materials .image-error{display:grid;place-items:center;height:100%;padding:18px;color:#667085;font-size:12px;text-align:center;}
  #panel-materials .load-more{display:grid;place-items:center;gap:7px;min-height:96px;padding:18px 0;color:#667085;font-size:12px;}
  #panel-materials .load-more button{min-width:132px;min-height:38px;border:1px solid #e5e7eb;border-radius:6px;color:#334155;background:#fff;cursor:pointer;font-family:inherit;}
  #panel-materials .load-more button:hover{color:#f97316;border-color:#f97316;}
  #panel-materials .state-panel{display:grid;place-items:center;gap:8px;min-height:240px;border-top:1px solid #e5e7eb;color:#667085;text-align:center;}
  #panel-materials .state-panel strong{color:#111827;font-size:17px;}
  #panel-materials .modal[hidden]{display:none;}
  #panel-materials .modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;}
  #panel-materials .modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;padding:0;background:rgba(15,23,42,.66);cursor:pointer;}
  #panel-materials .modal-panel{position:relative;z-index:1;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:10px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.3);}
  #panel-materials .modal-head,#panel-materials .modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #e5e7eb;}
  #panel-materials .modal-head strong{color:#111827;font-size:16px;}
  #panel-materials .modal-head button{min-height:34px;border:1px solid #e5e7eb;border-radius:6px;padding:0 14px;background:#fff;cursor:pointer;font-family:inherit;}
  #panel-materials .modal-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:20px;padding:18px;}
  #panel-materials .modal-body img{display:block;width:100%;max-height:68vh;object-fit:contain;background:#f1f5f9;}
  #panel-materials .modal-body p{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.75;color:#111827;}
  #panel-materials .modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
  #panel-materials .modal-actions{justify-content:flex-end;border-top:1px solid #e5e7eb;border-bottom:0;}

  @media(max-width:1050px){#panel-materials .filter-band{grid-template-columns:repeat(2,minmax(0,1fr));}#panel-materials .clear-button{width:100%;}#panel-materials .material-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
  @media(max-width:760px){#panel-materials .filter-band{grid-template-columns:1fr 1fr;}#panel-materials .search-field{grid-column:1/-1;}#panel-materials .material-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#panel-materials .modal-body{grid-template-columns:1fr;}}

  /* ===== 组合报价 · 组合摘要/副品区 ===== */
  #panel-combo .combo-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;padding:14px 16px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;}
  #panel-combo .combo-summary strong{display:block;color:#9a3412;font-size:15px;font-weight:700;}
  #panel-combo .combo-summary > div > span{display:block;margin-top:4px;color:#64748b;font-size:12px;}
  #panel-combo .combo-selected-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
  #panel-combo .combo-selected-list span{border:1px solid #e5e7eb;border-radius:999px;padding:5px 11px;background:#fff;color:#334155;font-size:12px;font-weight:700;}
  #panel-materials .material-groups[hidden]{display:none;}
  #panel-materials .load-more[hidden]{display:none;}
  #panel-materials .state-panel[hidden]{display:none;}
  #panel-combo .cb-addon-slot{grid-column:1/-1;}
  #panel-combo .addon-head{font-size:14px;font-weight:700;color:#9a3412;margin:14px 0 8px;}
  #panel-combo .cb-addon-area .cats{margin-bottom:8px;}
  #panel-combo .cb-addon-area .field{margin-top:8px;}

  /* ===== 目标套餐窄列卡片微调 ===== */
  #panel-upgrade .target-package-panel .package-card-title,#panel-combo .target-package-panel .package-card-title{font-size:13px!important;line-height:1.35!important;letter-spacing:.2px;}
  #panel-upgrade .target-package-panel .package-card,#panel-combo .target-package-panel .package-card{padding:12px 10px!important;}
  #panel-upgrade .target-package-panel .package-card-price,#panel-combo .target-package-panel .package-card-price{font-size:13.5px!important;}
  #panel-upgrade .target-package-panel .package-card-meta,#panel-combo .target-package-panel .package-card-meta{font-size:11.5px!important;}

  /* 注：积分商城图片统一由 .mall-media .mall-card-img 控制（见「积分商城」样式段），勿再单独设固定宽高 */
  #panel-materials .material-card .material-tags span{max-width:100%;}

  /* ===== 积分兑换卡片大屏下改四列 ===== */
  :is(#panel-upgrade,#panel-combo) .benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

  /* ===== 积分兑换卡片：四列 + 修内部轨道 ===== */
  :is(#panel-upgrade,#panel-combo) #benefitOptions .benefit-points-panel .benefit-grid,
  :is(#panel-upgrade,#panel-combo) #cb-benefitBoard .benefit-points-panel .benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  :is(#panel-upgrade,#panel-combo) #benefitOptions .benefit-pick,
  :is(#panel-upgrade,#panel-combo) #cb-benefitBoard .benefit-pick{grid-template-columns:32px minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important;}
  :is(#panel-upgrade,#panel-combo) #benefitOptions .benefit-pick img,
  :is(#panel-upgrade,#panel-combo) #cb-benefitBoard .benefit-pick img{width:32px!important;height:32px!important;object-fit:contain!important;border:1px solid #e5e7eb!important;border-radius:6px!important;background:#fff!important;}
  :is(#panel-upgrade,#panel-combo) #benefitOptions .benefit-pick span:nth-of-type(1) strong,
  :is(#panel-upgrade,#panel-combo) #cb-benefitBoard .benefit-pick span:nth-of-type(1) strong{font-size:12px!important;line-height:1.35!important;word-break:break-all!important;}

  @media(max-width:1280px){
    :is(#panel-upgrade,#panel-combo) .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    :is(#panel-upgrade,#panel-combo) #benefitOptions .benefit-points-panel .benefit-grid,
    :is(#panel-upgrade,#panel-combo) #cb-benefitBoard .benefit-points-panel .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  }

  /* ===== 全局字体工整化 ===== */
  body{
    font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Segoe UI",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  button,input,select,textarea{font-family:inherit;}
  .topbar-title,.topbar-desc,.sidebar-btn span,.theme-btn span,.sidebar-toggle-btn span{letter-spacing:.2px;}
  .fu-table td,.fu-finishing-table td,.rf-result,.script,.script-text,.rf-table td{font-variant-numeric:tabular-nums;}

  /* ===== 套餐卡标题避开推荐角标 ===== */
  #panel-upgrade .target-package-panel .package-card-title,#panel-combo .target-package-panel .package-card-title{padding-right:2px!important;}

  /* ===== 推荐角标移到底部价格行右侧，不压标题 ===== */
  #panel-upgrade .target-package-panel .package-card .package-card-badge,
  #panel-combo .target-package-panel .package-card .package-card-badge{top:auto!important;bottom:10px!important;}
  #panel-upgrade .target-package-panel .package-card .package-card-price,
  #panel-combo .target-package-panel .package-card .package-card-price{padding-right:42px!important;white-space:nowrap!important;font-size:13.5px!important;}
