* { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
      background: #fafafa;
      min-height: 100vh;
      padding: 20px;
      color: #333;
    }
    .container {
      max-width: 1000px;
      margin: 0 auto;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08);
      overflow: hidden;
    }
.header {
  background: linear-gradient(135deg, #5b9bd5 0%, #7eb4e0 50%, #a5c8e8 100%);
  color: white;
  padding: 32px 36px 28px;
  text-align: center;
  position: relative;
}
.header .brand { margin-bottom: 22px; }
.header h1 {
  font-size: 28px; font-weight: 500; letter-spacing: 1px;
  color: #ffffff; margin-bottom: 10px;
  font-family: "PingFang SC", "Microsoft YaHei", "Source Han Sans", sans-serif;
  text-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.header p {
      font-size: 15px; font-weight: 500;
      letter-spacing: 2px;
      color: rgba(255,255,255,0.95);
      margin: 0;
    }
.sales-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: #ffffff;
      border: 1px solid rgba(255,255,255,0.9);
      border-radius: 14px;
      padding: 22px 26px;
      gap: 22px;
      color: #0a0a0a;
      box-shadow: 0 12px 40px rgba(15,40,72,0.14);
      max-width: 480px;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }
    .sales-card::before {
      content: "";
      position: absolute;
      left: 0; top: 18px; bottom: 18px;
      width: 4px;
      background: linear-gradient(180deg, #5b9bd5 0%, #2c5282 100%);
      border-radius: 0 2px 2px 0;
    }
    .sales-card .sales-text { min-width: 0; text-align: left; line-height: 1.45; flex: 1 1 auto; padding-left: 14px; }
    .sales-card .sales-label {
      display: inline-block;
      font-size: 10px; color: #5b9bd5; letter-spacing: 2px;
      font-weight: 600; margin-bottom: 10px;
      background: rgba(91,155,213,0.08);
      padding: 3px 8px;
      border-radius: 20px;
    }
    .sales-card .sales-name {
      font-size: 24px; color: #0f172a; font-weight: 600;
      margin-bottom: 8px; letter-spacing: 0.5px;
      font-family: "PingFang SC", "Microsoft YaHei", "Source Han Sans", sans-serif;
    }
    .sales-card .sales-phone { font-size: 15px; margin-bottom: 6px; letter-spacing: 0; }
    .sales-card .sales-phone a { color: #1e3a5f; text-decoration: none; font-weight: 500; font-variant-numeric: tabular-nums; }
    .sales-card .sales-tip { font-size: 12px; color: #6b7280; letter-spacing: 0.5px; }
    .sales-card .sales-divider {
      width: 1px; align-self: stretch; background: linear-gradient(180deg, transparent 0%, #d1d5db 20%, #d1d5db 80%, transparent 100%); margin: 0;
    }
    .sales-card .sales-qr { flex-shrink: 0; text-align: center; }
    .sales-card .sales-qr img {
      width: 76px; height: 76px;
      background: #fff;
      display: block;
      border: 1px solid #f3f4f6;
      border-radius: 8px;
      padding: 5px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    }
    .sales-card .sales-qr-label { font-size: 9px; color: #9ca3af; text-align: center; margin-top: 6px; letter-spacing: 2px; text-transform: uppercase; }
    @media (max-width: 768px) {
      .header { padding: 22px 18px 20px; }
      .header h1 { font-size: 22px; letter-spacing: 0.5px; }
      .header p { font-size: 14px; letter-spacing: 1.5px; }
      .sales-card { padding: 18px 20px; gap: 16px; }
      .sales-card .sales-name { font-size: 20px; }
      .sales-card .sales-phone { font-size: 14px; }
      .sales-card .sales-qr img { width: 66px; height: 66px; }
      .sales-card::before { top: 14px; bottom: 14px; }
    }
    .content { padding: 30px; }
    .section { margin-bottom: 30px; }
    .section h2 {
      color: #1e88e5;
      font-size: 18px;
      margin-bottom: 16px;
      padding-bottom: 8px;
      border-bottom: 2px solid #e3f2fd;
    }
    .step-tag {
      display: inline-block;
      background: #1e88e5;
      color: #fff;
      font-size: 12px;
      padding: 2px 10px;
      border-radius: 10px;
      margin-right: 8px;
      vertical-align: 2px;
    }

    /* 套餐内容 */
    .pkg-summary {
      text-align: center;
      font-size: 16px;
      font-weight: 600;
      color: #1e88e5;
      background: #e3f2fd;
      border: 1px dashed #90caf9;
      border-radius: 8px;
      padding: 12px 14px;
      margin-bottom: 18px;
      line-height: 1.6;
    }
    .details-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
      max-width: 620px;
      margin: 0 auto;
    }
    .details-card {
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      padding: 14px;
      background: #fafafa;
    }
    .details-card h4 {
      color: #1e88e5;
      font-size: 15px;
      margin-bottom: 6px;
    }
    .details-card .d-desc {
      font-size: 12px;
      color: #666;
      margin-bottom: 10px;
      padding-bottom: 8px;
      border-bottom: 1px dashed #e0e0e0;
    }
    .details-card ul {
      list-style: none;
      font-size: 12px;
      color: #444;
      line-height: 1.8;
    }
    .details-card ul li {
      padding-left: 16px;
      position: relative;
    }
    .details-card ul li::before {
      content: "•";
      color: #1e88e5;
      position: absolute;
      left: 4px;
    }

    /* 性别标签 */
    .gender-tag {
      display: inline-block;
      font-size: 12px;
      margin-left: 4px;
      font-weight: 600;
      vertical-align: 0px;
    }
    .gender-female {
      color: #c2185b;
    }
    .gender-male {
      color: #1565c0;
    }
    .details-special {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dashed #e0e0e0;
    }
    .details-special .stitle {
      font-size: 12px;
      color: #e65100;
      font-weight: 600;
      margin-bottom: 4px;
    }
    .details-special .slist {
      font-size: 12px;
      color: #555;
      line-height: 1.7;
    }

    /* 冲突项目标记 */
    .item-row.conflict {
      background: #fff5f5;
      border: 1px solid #ef9a9a;
      border-radius: 6px;
    }
    .item-row.conflict .item-name {
      color: #c62828;
    }
    .conflict-tip {
      color: #d32f2f;
      font-size: 11px;
      margin-left: 8px;
      font-weight: 600;
    }

    /* 自选项目池（客户任选 5 项，不属于套餐固定内容） */
    .self-select-pool {
      margin-top: 20px;
      padding: 16px;
      background: #fff8e1;
      border: 1px solid #ffe082;
      border-radius: 8px;
    }
    .self-select-pool .pool-title {
      color: #e65100;
      font-size: 15px;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .self-select-pool .pool-title .pool-title-hint {
      font-size: 12px;
      font-weight: 400;
      color: #8d6e00;
      margin-left: 6px;
    }
    .self-select-pool .pool-desc {
      font-size: 12px;
      color: #8d6e00;
      margin-bottom: 12px;
      line-height: 1.6;
    }
    .self-select-pool .pool-list {
      list-style: none;
      display: grid;
      grid-template-columns: 1fr;
      gap: 6px 0;
      font-size: 12px;
      color: #555;
      line-height: 1.7;
    }
    .self-select-pool .pool-list li {
      padding-left: 14px;
      position: relative;
    }
    /* 检查意义按钮（点击展开） */
    .meaning-btn {
      display: inline-block;
      margin-left: 8px;
      padding: 1px 8px;
      font-size: 11px;
      color: #e65100;
      background: #fff;
      border: 1px solid #ffcc80;
      border-radius: 10px;
      cursor: pointer;
      user-select: none;
      transition: all 0.2s;
      vertical-align: 1px;
    }
    .meaning-btn:hover {
      background: #fff3e0;
    }
    .meaning-btn.open {
      background: #e65100;
      color: #fff;
      border-color: #e65100;
    }
    .meaning-content {
      display: none;
      margin: 6px 0 8px 24px;
      padding: 8px 10px;
      font-size: 12px;
      line-height: 1.7;
      color: #5d4037;
      background: #fffaf0;
      border-left: 3px solid #ffb74d;
      border-radius: 0 4px 4px 0;
    }
    .meaning-content.show {
      display: block;
    }

    /* CT 二级部位选择 */
    .ct-sub {
      display: none;
      margin: 6px 0 8px 28px;
      padding: 8px 10px;
      background: #fff8e1;
      border: 1px dashed #ffcc80;
      border-radius: 6px;
    }
    .ct-sub.show { display: block; }
    .ct-sub .ct-sub-label {
      font-size: 12px;
      color: #e65100;
      font-weight: 600;
      margin-right: 8px;
    }
    .ct-sub label {
      font-size: 12px;
      color: #5d4037;
      margin-right: 12px;
      cursor: pointer;
      white-space: nowrap;
    }
    .ct-sub input[type="radio"] {
      margin-right: 3px;
      vertical-align: -2px;
    }
    .ct-sub.conflict {
      background: #ffebee;
      border-color: #ef9a9a;
    }

    /* 自选项目池：点击项目名称即可查看检查意义 */
    .pool-item-name.has-meaning {
      cursor: pointer;
      transition: color 0.2s;
    }
    .pool-item-name.has-meaning:hover {
      color: #e65100;
    }
    .pool-item-name.has-meaning.open {
      color: #bf360c;
      font-weight: 600;
    }
    @media (max-width: 768px) {
      .self-select-pool .pool-list { grid-template-columns: 1fr; }
    }

    /* 500元赠送提示 */
    .gift-notice {
      margin-top: 16px;
      padding: 14px 18px;
      background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
      border: 1px solid #ff9800;
      border-radius: 10px;
      box-shadow: 0 4px 12px rgba(255, 152, 0, 0.18);
    }
    .gift-notice .gift-content {
      width: 100%;
    }
    .gift-notice .gift-title {
      font-size: 13px;
      font-weight: 700;
      color: #bf360c;
      margin-bottom: 4px;
      display: inline;
      line-height: 1.6;
    }
    .gift-notice .gift-title .gift-amount {
      font-size: 22px;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(135deg, #ff3d00 0%, #ff6d00 100%);
      padding: 2px 10px;
      border-radius: 12px;
      text-shadow: 0 1px 2px rgba(0,0,0,0.2);
      box-shadow: 0 3px 8px rgba(255, 61, 0, 0.35);
      animation: gift-pulse 1.6s infinite;
      margin: 0 4px;
    }
    @keyframes gift-pulse {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.06); }
    }
    .gift-notice .gift-title .gift-badge {
      font-size: 13px;
      font-weight: 700;
      color: #bf360c;
      margin-left: 4px;
    }
    .gift-notice .gift-desc {
      font-size: 13px;
      color: #6d4c41;
      line-height: 1.5;
      margin: 0;
    }
    .gift-notice .gift-desc strong {
      color: #bf360c;
      font-weight: 700;
    }
    @media (max-width: 768px) {
      .gift-notice { flex-direction: column; text-align: center; padding: 14px; }
      .gift-notice .gift-title { justify-content: center; }
    }

    /* 方式选择 */
    .mode-section {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }
    .mode-card {
      border: 2px solid #e0e0e0;
      border-radius: 10px;
      padding: 20px 16px;
      cursor: pointer;
      transition: all 0.2s;
      background: #fafafa;
      text-align: center;
    }
    .mode-card:hover { border-color: #90caf9; }
    .mode-card.selected {
      border-color: #43a047;
      background: #e8f5e9;
      box-shadow: 0 2px 8px rgba(67,160,71,0.2);
    }
    .mode-card .icon { font-size: 30px; margin-bottom: 8px; }
    .mode-card .mname { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 6px; }
    .mode-card.selected .mname { color: #2e7d32; }
    .mode-card .mdesc { font-size: 12px; color: #888; line-height: 1.6; }

    /* 表单 */
    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
    .form-item { display: flex; flex-direction: column; }
    .form-item.full { grid-column: 1 / -1; }
    .form-item label {
      font-size: 14px;
      color: #555;
      margin-bottom: 6px;
      font-weight: 500;
    }
    .form-item label .required { color: #e53935; }
    .form-item input, .form-item select, .form-item textarea {
      padding: 10px 12px;
      border: 1px solid #d0d7de;
      border-radius: 6px;
      font-size: 14px;
      font-family: inherit;
      transition: all 0.2s;
    }
    .form-item input:focus, .form-item select:focus, .form-item textarea:focus {
      outline: none;
      border-color: #1e88e5;
      box-shadow: 0 0 0 3px rgba(30,136,229,0.1);
    }
    .form-item textarea { resize: vertical; min-height: 60px; }
    .gender-female-only {
      display: none;
      background: #fff8e1;
      padding: 10px 12px;
      border-radius: 6px;
      border: 1px solid #ffe082;
      grid-column: 1 / -1;
    }
    .gender-female-only.show { display: flex; gap: 20px; align-items: center; }
    .radio-group { display: flex; gap: 16px; }
    .radio-group label { display: flex; align-items: center; gap: 4px; cursor: pointer; }

    .checkbox-group {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 8px 12px;
      padding: 12px;
      background: #fafafa;
      border: 1px solid #e0e0e0;
      border-radius: 6px;
    }
    .checkbox-group label {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: #444;
      cursor: pointer;
      padding: 4px;
      border-radius: 4px;
      transition: background 0.2s;
      margin: 0;
      font-weight: normal;
    }
    .checkbox-group label:hover { background: #e3f2fd; }
    .checkbox-group input[type="checkbox"] {
      width: 16px; height: 16px; cursor: pointer; flex-shrink: 0;
    }
    .other-input { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
    .other-input label { font-size: 13px; color: #666; margin: 0; }
    .other-input textarea { min-height: 50px; }

    /* 自主选择列表 */
    .self-select-list {
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      padding: 14px;
      background: #fafafa;
    }
    .self-select-list .item-row {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 8px 6px;
      border-bottom: 1px dashed #e0e0e0;
      cursor: pointer;
    }
    .self-select-list .item-row:last-child { border-bottom: none; }
    .self-select-list .item-row:hover { background: #e3f2fd; border-radius: 4px; }
    .self-select-list input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; cursor: pointer; flex-shrink: 0; }
    .self-select-list .item-name { font-size: 14px; line-height: 1.5; flex: 1; }
    .self-select-list .item-value { font-size: 14px; color: #e65100; font-weight: 600; white-space: nowrap; }
    .badge {
      display: inline-block;
      font-size: 11px;
      background: #f8bbd0;
      color: #880e4f;
      padding: 1px 8px;
      border-radius: 8px;
      margin-left: 6px;
      vertical-align: 1px;
    }
    .badge.married { background: #ffe0b2; color: #e65100; }
    .badge.disabled-badge { background: #e0e0e0; color: #888; }
    .item-block.item-disabled .item-name { color: #999; text-decoration: line-through; }
    .item-block.item-disabled .meaning-btn { display: none; }
    .select-counter {
      position: sticky;
      bottom: 0;
      background: #1e88e5;
      color: #fff;
      padding: 10px 14px;
      border-radius: 6px;
      margin-top: 10px;
      font-size: 14px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .select-counter .over { color: #ffeb3b; font-weight: 600; }

    .btn-row {
      display: flex;
      gap: 12px;
      justify-content: center;
      margin-top: 20px;
      flex-wrap: wrap;
    }
    .btn {
      padding: 12px 28px;
      border: none;
      border-radius: 6px;
      font-size: 15px;
      cursor: pointer;
      transition: all 0.2s;
      font-family: inherit;
      font-weight: 500;
    }
    .btn-primary { background: #1e88e5; color: white; }
    .btn-primary:hover { background: #1976d2; transform: translateY(-1px); }
    .btn-secondary {
      background: #f5f5f5;
      color: #555;
      border: 1px solid #d0d7de;
    }
    .btn-secondary:hover { background: #eeeeee; }
    .btn-success { background: #43a047; color: white; }
    .btn-success:hover { background: #388e3c; transform: translateY(-1px); }

    .result-section {
      display: none;
      margin-top: 30px;
      padding: 24px;
      background: #f9fbe7;
      border-radius: 8px;
      border: 2px solid #c5e1a5;
    }
    .result-section.show { display: block; animation: slideIn 0.3s; }
    @keyframes slideIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .result-section h2 { color: #558b2f; font-size: 20px; margin-bottom: 16px; }
    .result-block {
      background: white;
      border-radius: 6px;
      padding: 16px;
      margin-bottom: 16px;
    }
    .result-block h3 { color: #1e88e5; font-size: 16px; margin-bottom: 10px; }
    .result-item {
      display: flex;
      align-items: flex-start;
      padding: 8px 0;
      border-bottom: 1px solid #f0f0f0;
    }
    .result-item:last-child { border-bottom: none; }
    .result-item .idx {
      display: inline-block;
      min-width: 28px;
      height: 28px;
      background: #1e88e5;
      color: white;
      border-radius: 50%;
      text-align: center;
      line-height: 28px;
      font-size: 13px;
      margin-right: 12px;
      flex-shrink: 0;
    }
    .result-item .text { flex: 1; font-size: 14px; line-height: 1.6; }
    .result-item .reason {
      font-size: 12px;
      color: #888;
      margin-top: 4px;
      font-style: italic;
    }
    .summary {
      background: #fff3e0;
      padding: 12px 16px;
      border-radius: 6px;
      margin-bottom: 16px;
      border-left: 4px solid #fb8c00;
    }
    .summary-item { font-size: 14px; margin: 4px 0; }
    .summary-label { font-weight: 600; color: #e65100; }
    .gifts-summary {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #e8f5e9;
      padding: 12px 16px;
      border-radius: 6px;
      margin-top: 12px;
      font-size: 14px;
      flex-wrap: wrap;
      gap: 8px;
    }
    .gift-value { font-weight: 600; color: #2e7d32; }
    .package-note {
      font-size: 12px;
      color: #666;
      background: #e3f2fd;
      padding: 8px 12px;
      border-radius: 4px;
      margin-top: 10px;
    }
    .hide { display: none !important; }

    @media (max-width: 768px) {
      .form-grid { grid-template-columns: 1fr; }
      .mode-section { grid-template-columns: 1fr; }
      .content { padding: 16px; }
      .checkbox-group { grid-template-columns: 1fr 1fr; }
      .details-grid { grid-template-columns: 1fr; }
    }
    @media print {
      body { background: white; padding: 0; }
      .container { box-shadow: none; }
      .form-section, .btn-row { display: none; }
      .result-section { display: block !important; }
    }
