.cg2-step-card {
  margin: 0 0 12px;
  padding: 15px;
  border: 1px solid #dce7ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(19, 63, 91, .04);
}
.cg2-step-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}
.cg2-step-head > span {
  display: grid;
  place-items: center;
  flex: 0 0 26px;
  height: 26px;
  border-radius: 50%;
  background: #0f5b83;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.cg2-step-head b,
.cg2-step-head small,
.cg2-source-summary b,
.cg2-source-summary small,
.cg2-delivery-grid b,
.cg2-delivery-grid small,
.cg2-fact-check b,
.cg2-fact-check small,
.cg2-template b,
.cg2-template small { display: block; }
.cg2-step-head b { color: #123b52; font-size: 15px; }
.cg2-step-head small { margin-top: 3px; color: #718391; font-size: 11px; line-height: 1.45; }
.cg2-source-summary {
  padding: 11px 12px;
  border: 1px solid #e0e7ec;
  border-radius: 10px;
  background: #f7f9fb;
}
.cg2-source-summary.is-ready { border-color: #a9d9c8; background: #f0faf6; }
.cg2-source-summary.is-warning { border-color: #ead49a; background: #fff9e9; }
.cg2-source-summary b { color: #23495f; font-size: 13px; }
.cg2-source-summary small { margin-top: 4px; color: #667b89; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.cg2-change-source {
  margin-top: 8px;
  padding: 7px 11px;
  border: 1px solid #b8d2df;
  border-radius: 8px;
  background: #f4fbfe;
  color: #0f5b83;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.cg2-template-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.cg2-template {
  min-height: 78px;
  padding: 10px;
  border: 1px solid #d8e5ec;
  border-radius: 11px;
  background: #fff;
  color: #173f63;
  text-align: left;
  cursor: pointer;
}
.cg2-template b { font-size: 12px; }
.cg2-template small { margin-top: 5px; color: #71818b; font-size: 10px; line-height: 1.4; }
.cg2-template.is-active { border-color: #08775f; background: #eaf8f3; box-shadow: inset 0 0 0 1px #08775f; }
.cg2-delivery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cg2-delivery-grid > div { padding: 10px; border: 1px solid #e1e9ee; border-radius: 10px; background: #f9fbfc; }
.cg2-delivery-grid b { color: #173f63; font-size: 12px; }
.cg2-delivery-grid small { margin-top: 4px; color: #758794; font-size: 10px; line-height: 1.4; }
.cg2-fact-check {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 11px;
  border: 1px solid #b9dccf;
  border-radius: 10px;
  background: #f3fbf8;
  color: #183e38;
  cursor: pointer;
}
.cg2-fact-check input { appearance: auto !important; width: 18px !important; height: 18px !important; margin: 1px 0 0 !important; accent-color: #08775f; }
.cg2-fact-check b { font-size: 13px; }
.cg2-fact-check small { margin-top: 4px; color: #58706b; font-size: 11px; line-height: 1.45; }
.cg2-mobile-title { margin: 0 0 11px; color: #0f4370; font-size: 15px; font-weight: 800; }
.cg2-hidden-legacy { display: none !important; }
.cg2-result-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:18px; border-radius:15px; background:linear-gradient(135deg,#0b4264,#0f6f86); color:#fff; }
.cg2-result-hero span { font-size:11px; opacity:.78; letter-spacing:.08em; }
.cg2-result-hero h3 { margin:4px 0; font-size:20px; }
.cg2-result-hero p { margin:0; max-width:620px; font-size:12px; line-height:1.55; opacity:.82; }
.cg2-result-hero strong { flex:0 0 auto; font-size:30px; }
.cg2-result-hero strong small { font-size:13px; opacity:.72; }
.cg2-result-actions { display:flex; flex:0 0 auto; align-items:center; gap:13px; }
.cg2-delete-package {
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 9px;
  background: rgba(95,12,22,.42);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}
.cg2-delete-package:hover { background:#a51d2d; border-color:#fff; }
.cg2-delete-package:focus-visible { outline:3px solid rgba(255,255,255,.8); outline-offset:2px; }
.cg2-delete-package:disabled { cursor:wait; opacity:.65; }
.cg2-result-section { margin-bottom:14px; padding:16px; border:1px solid #dbe6ed; border-radius:14px; background:#fff; }
.cg2-result-title,.cg2-result-title>div { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.cg2-result-title>div>span { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:8px; background:#e9f4f8; color:#0f5b83; font-size:11px; font-weight:800; }
.cg2-result-title h3 { margin:0; color:#173f63; font-size:16px; }
.cg2-result-title p { margin:3px 0 0; color:#6c7e8b; font-size:11px; line-height:1.45; }
.cg2-result-title>a { flex:0 0 auto; padding:7px 10px; border:1px solid #acd2df; border-radius:8px; color:#0f5b83; text-decoration:none; font-size:12px; font-weight:700; }
.cg2-master-video { display:block; width:min(100%,420px); max-height:560px; margin:14px auto 0; border-radius:12px; background:#081922; }
.cg2-result-empty { padding:18px; border:1px dashed #cbd9e2; border-radius:9px; color:#82919b; text-align:center; font-size:12px; }
.cg2-image-packages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:13px; }
.cg2-image-packages article { min-width:0; padding:11px; border:1px solid #e2eaf0; border-radius:10px; background:#fafcfd; }
.cg2-image-packages header { display:flex; justify-content:space-between; margin-bottom:8px; color:#294b62; font-size:12px; }
.cg2-image-packages header small { color:#778a97; }
.cg2-image-strip { display:flex; gap:6px; overflow-x:auto; }
.cg2-image-strip a { flex:0 0 66px; height:66px; }
.cg2-image-strip img { width:100%; height:100%; border-radius:7px; object-fit:cover; }
.cg2-copy-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:13px; }
.cg2-copy-cards>article { min-width:0; padding:12px; border:1px solid #e0e8ee; border-radius:11px; background:#fbfdfe; }
.cg2-copy-cards>article>header { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.cg2-copy-cards>article>header>span { display:grid; place-items:center; width:23px; height:23px; border-radius:6px; color:#fff; font-size:10px; font-weight:800; }
.cg2-copy-cards>article>header>b { color:#173f63; font-size:13px; }
.cg2-copy-cards>article>header>small { margin-left:auto; color:#a15f10; font-size:10px; }
.cg2-copy-cards>article>header>small.is-ready { color:#08775f; }
.cg2-copy-field { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:8px; align-items:start; padding:8px 0; border-top:1px solid #edf1f4; }
.cg2-copy-field label { color:#607784; font-size:10px; font-weight:700; }
.cg2-copy-field p { margin:0; color:#263f50; font-size:12px; line-height:1.55; white-space:pre-wrap; max-height:78px; overflow:auto; }
.cg2-copy-field button,.cg2-copy-cards footer button { border:1px solid #bfd2dc; border-radius:7px; background:#fff; color:#0f5b83; padding:5px 8px; font-size:10px; font-weight:700; cursor:pointer; }
.cg2-copy-cards footer { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.cg2-copy-cards footer button.is-primary { border-color:#0f5b83; background:#0f5b83; color:#fff; }

.cg2-package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}
.cg2-package {
  appearance: none;
  border: 1px solid #d9e3ec;
  border-radius: 12px;
  background: #fff;
  color: #173f63;
  min-height: 138px;
  padding: 13px;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.cg2-package:hover { border-color: #0f6b93; transform: translateY(-1px); }
.cg2-package.is-selected {
  border: 2px solid #0f5b83;
  background: #eef8fc;
}
.cg2-package-title { display:flex; align-items:center; gap:7px; font-size:15px; font-weight:700; }
.cg2-package-code { min-width: 38px; padding: 3px 7px; border-radius: 6px; background:#eaf1f6; color:#315b76; font-size:11px; text-align:center; }
.cg2-package.is-selected .cg2-package-code { background:#0f5b83; color:#fff; }
.cg2-check { margin-left:auto; color:#0f5b83; opacity:0; }
.cg2-package.is-selected .cg2-check { opacity:1; }
.cg2-package-desc { margin-top:7px; color:#536879; font-size:12px; line-height:1.55; }
.cg2-package-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.cg2-package-chips span { padding:3px 7px; border-radius:999px; background:#f1f5f8; color:#5b7080; font-size:10px; }
.cg2-package-output { margin-top:7px; color:#12845a; font-size:11px; font-weight:600; }
.cg2-summary {
  margin-top: 10px;
  border-radius: 10px;
  background: #f6fbf8;
  border: 1px solid #cfe9dc;
  padding: 10px 12px;
  color: #355b49;
  font-size: 12px;
  line-height: 1.65;
}
.cg2-auto-note {
  margin-top: 9px;
  border-radius: 9px;
  background: #fff8e8;
  color: #805b16;
  padding: 9px 11px;
  font-size: 11px;
  line-height: 1.55;
}
.cg2-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0 0; padding:0; list-style:none; counter-reset:cg2-step; }
.cg2-flow li { position:relative; min-width:0; padding:10px 10px 10px 35px; border:1px solid #dce7ee; border-radius:9px; background:#fff; counter-increment:cg2-step; }
.cg2-flow li::before { content:counter(cg2-step); position:absolute; left:10px; top:10px; width:18px; height:18px; border-radius:50%; background:#0f5b83; color:#fff; font-size:10px; line-height:18px; text-align:center; }
.cg2-flow b,.cg2-flow span { display:block; }
.cg2-flow b { color:#244b65; font-size:11px; }
.cg2-flow span { margin-top:2px; color:#718492; font-size:10px; line-height:1.4; }
.cg2-hidden-legacy { display:none !important; }
.cg2-mobile-copy {
  margin-top: 8px;
  border-top: 1px solid #e5edf2;
}
.cg2-mobile-copy > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #0f5b83;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.cg2-mobile-copy > summary::-webkit-details-marker { display: none; }
.cg2-mobile-copy > summary::after { content: '展开'; margin-left: auto; color: #718492; font-size: 10px; font-weight: 600; }
.cg2-mobile-copy[open] > summary::after { content: '收起'; }
.cg2-consultation {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #dbe6ee;
  border-radius: 14px;
  background: #fff;
  color: #173f63;
}
.cg2-consultation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.cg2-consultation-head h3 { margin: 0; font-size: 17px; }
.cg2-consultation-head p { margin: 4px 0 0; color: #667b8c; font-size: 12px; }
.cg2-copy-all,
.cg2-consultation-item button {
  appearance: none;
  border: 1px solid #b8d2df;
  border-radius: 8px;
  background: #f4fbfe;
  color: #0f5b83;
  padding: 7px 11px;
  font-weight: 650;
  cursor: pointer;
}
.cg2-reply-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 9px;
}
.cg2-consultation-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px;
  border: 1px solid #e2eaf0;
  border-radius: 10px;
  background: #fbfdfe;
}
.cg2-consultation-item > span { color: #476274; font-size: 12px; font-weight: 700; }
.cg2-consultation-item > p { margin: 0; min-width: 0; color: #243d50; font-size: 13px; line-height: 1.55; }
.cg2-compliance-note {
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff8e8;
  color: #805b16;
  font-size: 11px;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .cg2-step-card { padding: 12px; margin-bottom: 10px; border-radius: 12px; }
  .cg2-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .cg2-template { min-height: 70px; padding: 9px; }
  .cg2-delivery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .cg2-package-grid { grid-template-columns: 1fr; gap: 8px; }
  .cg2-package { min-height: 0; padding: 12px; }
  .cg2-package-desc { margin-top: 5px; }
  .cg2-consultation { padding: 13px; }
  .cg2-consultation-head { align-items: center; }
  .cg2-consultation-head p { display: none; }
  .cg2-reply-grid { grid-template-columns: 1fr; }
  .cg2-consultation-item { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 7px; }
  .cg2-flow { grid-template-columns:1fr; gap:6px; }
  .cg2-flow li { padding-top:8px; padding-bottom:8px; }
  .cg2-result-hero { padding:14px; }
  .cg2-result-hero h3 { font-size:17px; }
  .cg2-result-hero p { display:none; }
  .cg2-result-actions { flex-direction:column; align-items:flex-end; gap:6px; }
  .cg2-result-actions strong { font-size:24px; }
  .cg2-delete-package { min-height:34px; padding:7px 9px; font-size:11px; }
  .cg2-result-section { padding:12px; }
  .cg2-image-packages,.cg2-copy-cards { grid-template-columns:1fr; }
  .cg2-copy-field { grid-template-columns:54px minmax(0,1fr) auto; }
  .cg2-image-strip a:nth-child(n+5) { display:none; }
  .cg2-copy-field p { max-height:55px; overflow:hidden; }
}
