/* ============================================================
   ebike-compliance-check.css
   电动自行车新国标自查 · 参数检测台风格
   草绿 / 石墨灰主色 + 限值红线强调（深主题墨绿底）
   Design tokens（浅主题默认，深主题覆盖在文末）
   ============================================================ */

.ebcc {
  --ebcc-grass: #3f9d5a;
  --ebcc-grass-deep: #267a44;
  --ebcc-grass-soft: #e6f4ea;
  --ebcc-graphite: #4a554e;
  --ebcc-graphite-deep: #262e29;
  --ebcc-red: #e04b3a;
  --ebcc-red-soft: #fdeae6;
  --ebcc-amber: #c48a18;
  --ebcc-amber-soft: #f6ecd2;
  --ebcc-plate-green: #1e9e4a;
  --ebcc-plate-blue: #2f6fb0;
  --ebcc-plate-yellow: #d99400;
  --ebcc-plate-gray: #6b7770;
  --ebcc-ink: #212924;
  --ebcc-ink-soft: #5c6a61;
  --ebcc-line: #d9e4dc;
  --ebcc-bg: #f2f6f3;
  --ebcc-card: #ffffff;
  --ebcc-shadow: 0 2px 10px rgba(38, 122, 68, 0.07), 0 1px 3px rgba(38, 122, 68, 0.05);
  --ebcc-shadow-lg: 0 16px 38px rgba(38, 122, 68, 0.14), 0 4px 12px rgba(38, 122, 68, 0.08);
  --ebcc-radius: 14px;
  --ebcc-radius-sm: 10px;
}

.ebcc {
  max-width: 1160px;
  margin: 0 auto;
  padding: 28px 20px 40px;
  color: var(--ebcc-ink);
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  background: var(--ebcc-bg);
  font-size: 14.5px;
  line-height: 1.75;
}

.ebcc-wrap { position: relative; z-index: 1; }

/* ========== Hero：居中 + 顶部刻度带 ========== */
.ebcc-hero {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  padding: 44px 46px 36px;
  margin-bottom: 26px;
  background:
    radial-gradient(120% 140% at 50% 0%, #d9efe0 0%, transparent 55%),
    radial-gradient(100% 130% at 50% 100%, #eef6f0 0%, transparent 58%),
    linear-gradient(180deg, #f6fbf8 0%, #f2f6f3 100%);
  border: 1px solid #cfe3d5;
  text-align: center;
}
.ebcc-hero::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: repeating-linear-gradient(-45deg, var(--ebcc-grass) 0 14px, var(--ebcc-graphite-deep) 14px 28px);
  opacity: .85;
}

/* 顶部五项刻度带 */
.ebcc-strip {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 10px;
  margin-bottom: 22px;
}
.ebcc-strip-mark {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px;
  font-size: 12.5px; font-weight: 700;
  color: var(--ebcc-grass-deep);
  background: #fff;
  border: 1px solid #cfe3d5;
  border-radius: 999px;
  letter-spacing: .3px;
  box-shadow: 0 2px 6px rgba(38, 122, 68, .06);
  position: relative;
}
.ebcc-strip-mark::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--ebcc-grass);
  box-shadow: 0 0 0 3px rgba(63, 157, 90, .18);
}
.ebcc-strip-req { color: var(--ebcc-amber); border-color: #ead6a1; background: #fbf3df; }
.ebcc-strip-req::before { background: var(--ebcc-amber); box-shadow: 0 0 0 3px rgba(196, 138, 24, .18); }

.ebcc-badge {
  display: inline-block;
  padding: 5px 14px;
  font-size: 12px;
  color: var(--ebcc-grass-deep);
  background: var(--ebcc-grass-soft);
  border: 1px solid #c6e1cf;
  border-radius: 999px;
  letter-spacing: .4px;
  margin-bottom: 14px;
  font-weight: 600;
}

.ebcc-hero h1 {
  font-size: 32px;
  line-height: 1.3;
  margin: 0 0 14px;
  font-weight: 800;
  letter-spacing: .5px;
  color: var(--ebcc-graphite-deep);
}
.ebcc-hero h1 i {
  font-style: normal;
  background: linear-gradient(90deg, var(--ebcc-grass-deep) 0%, var(--ebcc-amber) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ebcc-hero p {
  margin: 0 auto;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--ebcc-ink-soft);
  max-width: 760px;
}
.ebcc-hero p em {
  font-style: normal;
  font-weight: 600;
  color: var(--ebcc-grass-deep);
}

/* ========== 卡片通用 ========== */
.ebcc-card {
  background: var(--ebcc-card);
  border: 1px solid var(--ebcc-line);
  border-radius: var(--ebcc-radius);
  padding: 24px 26px 22px;
  box-shadow: var(--ebcc-shadow);
  margin-bottom: 24px;
}
.ebcc-card h2 {
  margin: 0 0 18px;
  font-size: 17px; font-weight: 700;
  color: var(--ebcc-ink);
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--ebcc-line);
}
.ebcc-card h2 span {
  font-size: 12px; font-weight: 500;
  color: var(--ebcc-grass-deep);
  background: var(--ebcc-grass-soft);
  padding: 2px 10px; border-radius: 999px;
  margin-left: 8px;
}

/* ========== 输入区：参数仪表 ========== */
.ebcc-instruments {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ebcc-field {
  display: flex; flex-direction: column; gap: 5px;
  min-width: 0;
}
.ebcc-field-lab {
  font-size: 12.5px; font-weight: 700;
  color: var(--ebcc-ink);
}
.ebcc-inbox {
  position: relative;
  display: flex; align-items: center;
}
.ebcc-num {
  width: 100%;
  padding: 10px 52px 10px 12px;
  border: 1px solid var(--ebcc-line);
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: var(--ebcc-ink);
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.ebcc-num:focus {
  outline: none;
  border-color: var(--ebcc-grass);
  box-shadow: 0 0 0 3px rgba(63, 157, 90, .14);
}
.ebcc-unit {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  font-size: 11.5px; font-weight: 700;
  color: var(--ebcc-grass-deep);
  background: var(--ebcc-grass-soft);
  padding: 2px 7px; border-radius: 6px;
  pointer-events: none;
}
.ebcc-limitline {
  font-size: 11.5px; color: var(--ebcc-ink-soft);
  letter-spacing: .2px;
}

/* ========== 标志位：分段按钮 ========== */
.ebcc-flags {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 16px;
}
.ebcc-flag { display: flex; flex-direction: column; gap: 6px; }
.ebcc-lab {
  font-size: 12.5px; font-weight: 700;
  color: var(--ebcc-ink);
}
.ebcc-lab .ebcc-hint {
  font-size: 11px; font-weight: 500;
  color: var(--ebcc-ink-soft);
  margin-left: 4px;
}
.ebcc-seg {
  display: inline-flex;
  border: 1px solid var(--ebcc-line);
  border-radius: 10px;
  background: #f7faf8;
  overflow: hidden;
  width: fit-content;
}
.ebcc-seg-btn {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 7px 11px;
  font-size: 12.5px; font-weight: 600;
  color: var(--ebcc-ink-soft);
  cursor: pointer;
  user-select: none;
  border-right: 1px solid var(--ebcc-line);
  transition: all .15s;
  white-space: nowrap;
}
.ebcc-seg-btn:last-child { border-right: none; }
.ebcc-seg-btn input {
  position: absolute; opacity: 0; pointer-events: none;
}
.ebcc-seg-btn:hover { color: var(--ebcc-grass-deep); }
.ebcc-seg-btn:has(input:checked) {
  background: var(--ebcc-grass);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.ebcc-cccno {
  margin-top: 2px;
  padding-right: 12px !important;
}
.ebcc-city {
  padding: 9px 12px;
  cursor: pointer;
}

/* ========== 充电假设行 ========== */
.ebcc-assume {
  display: flex; flex-wrap: wrap; align-items: flex-end;
  gap: 10px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px dashed #cfe3d5;
  border-radius: 12px;
  background: #f7fbf8;
}
.ebcc-assume-lab {
  font-size: 13px; font-weight: 700;
  color: var(--ebcc-graphite-deep);
  margin-right: 6px;
}
.ebcc-field-sm {
  display: flex; flex-direction: column; gap: 4px;
  min-width: 110px;
}
.ebcc-field-sm label {
  font-size: 11.5px; font-weight: 600;
  color: var(--ebcc-ink-soft);
}
.ebcc-field-sm input {
  padding: 7px 10px;
  border: 1px solid var(--ebcc-line);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: var(--ebcc-ink);
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.ebcc-field-sm input:focus {
  outline: none;
  border-color: var(--ebcc-grass);
  box-shadow: 0 0 0 3px rgba(63, 157, 90, .14);
}

/* ========== 按钮 ========== */
.ebcc-row {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--ebcc-line);
}
.ebcc-btn {
  padding: 11px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all .18s;
  font-family: inherit;
}
.ebcc-btn-go {
  background: linear-gradient(90deg, var(--ebcc-grass) 0%, var(--ebcc-grass-deep) 100%);
  color: #fff; border: none;
  box-shadow: 0 4px 10px rgba(63, 157, 90, .3);
}
.ebcc-btn-go:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(63, 157, 90, .4);
}
.ebcc-btn-ghost {
  background: #fff;
  border: 1px solid var(--ebcc-line);
  color: var(--ebcc-ink-soft);
}
.ebcc-btn-ghost:hover {
  border-color: var(--ebcc-grass);
  color: var(--ebcc-grass-deep);
}

/* ========== 结果区 ========== */
.ebcc-summary-ph {
  text-align: center;
  padding: 36px 16px;
  color: var(--ebcc-ink-soft);
}
.ebcc-summary-ph p { margin: 10px auto 0; font-size: 13.5px; line-height: 1.75; max-width: 720px; }
.ebcc-ph-icon { font-size: 40px; margin-bottom: 8px; }

.ebcc-result { margin-top: 4px; }

/* ========== 认定横幅 + 车牌 ========== */
.ebcc-banner {
  display: flex; align-items: center; gap: 20px;
  padding: 22px 24px;
  border-radius: 14px;
  margin-bottom: 22px;
  border: 1px solid var(--ebcc-line);
  background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%);
  border-left: 5px solid var(--ebcc-grass);
}
.ebcc-plate {
  flex-shrink: 0;
  min-width: 120px;
  padding: 14px 16px 12px;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.28), 0 6px 14px rgba(0,0,0,.12);
  font-family: "Helvetica Neue", "PingFang SC", system-ui, sans-serif;
  letter-spacing: .5px;
}
.ebcc-plate-top {
  display: block;
  font-size: 10.5px; font-weight: 600;
  opacity: .9;
  margin-bottom: 4px;
}
.ebcc-plate-main {
  display: block;
  font-size: 18px; font-weight: 800;
  letter-spacing: 1px;
  line-height: 1.2;
}
.ebcc-plate-green { background: linear-gradient(160deg, #1e9e4a 0%, #157a38 100%); }
.ebcc-plate-blue { background: linear-gradient(160deg, #2f6fb0 0%, #22557f 100%); }
.ebcc-plate-yellow { background: linear-gradient(160deg, #e0a012 0%, #b57d00 100%); color: #3a2a00; }
.ebcc-plate-gray { background: linear-gradient(160deg, #6b7770 0%, #4a554e 100%); }
.ebcc-plate-stripe {
  display: block;
  margin-top: 6px;
  font-size: 9.5px; font-weight: 700;
  opacity: .85;
  letter-spacing: 2px;
}

.ebcc-banner-txt { flex: 1; min-width: 0; }
.ebcc-verdict {
  font-size: 26px; font-weight: 800;
  color: var(--ebcc-graphite-deep);
  line-height: 1.25;
  margin: 0 0 6px;
}
.ebcc-verdict-sub {
  display: inline-block;
  font-size: 12px; font-weight: 700;
  padding: 2px 10px; border-radius: 999px;
  margin-left: 6px;
  vertical-align: 2px;
}
.ebcc-verdict-sub-green { background: var(--ebcc-grass-soft); color: var(--ebcc-grass-deep); border: 1px solid #c6e1cf; }
.ebcc-verdict-sub-blue { background: #e4f0f9; color: #1e4a78; border: 1px solid #bcd4ea; }
.ebcc-verdict-sub-yellow { background: var(--ebcc-amber-soft); color: #7a5400; border: 1px solid #ead6a1; }
.ebcc-verdict-sub-gray { background: #eceff0; color: #5c6a61; border: 1px solid #d5dce0; }
.ebcc-banner-desc {
  font-size: 13.5px;
  color: var(--ebcc-ink-soft);
  line-height: 1.75;
  margin: 4px 0 0;
}
.ebcc-banner-desc b { color: var(--ebcc-graphite-deep); }

.ebcc-banner.ebcc-banner-warn { border-left-color: var(--ebcc-amber); background: linear-gradient(180deg, #fbf3df 0%, #ffffff 100%); }
.ebcc-banner.ebcc-banner-warn .ebcc-verdict { color: #7a5400; }
.ebcc-banner.ebcc-banner-risk { border-left-color: var(--ebcc-red); background: linear-gradient(180deg, #fdeae6 0%, #ffffff 100%); }
.ebcc-banner.ebcc-banner-risk .ebcc-verdict { color: #8c2b2b; }

/* ========== 参数对照仪表盘 ========== */
.ebcc-section { margin-bottom: 24px; }
.ebcc-section h3 {
  font-size: 14px; font-weight: 700;
  color: var(--ebcc-ink);
  margin: 0 0 14px;
  padding-left: 10px;
  border-left: 3px solid var(--ebcc-grass);
}
.ebcc-section h3 .ebcc-hint {
  font-size: 12px; font-weight: 500;
  color: var(--ebcc-ink-soft);
  margin-left: 8px;
}

.ebcc-gauges { display: flex; flex-direction: column; gap: 18px; }
.ebcc-gauge {
  display: grid;
  grid-template-columns: 140px 1fr 90px;
  gap: 14px;
  align-items: center;
}
.ebcc-g-name {
  font-size: 13px; font-weight: 700;
  color: var(--ebcc-ink);
}
.ebcc-g-name small {
  display: block;
  font-size: 11px; font-weight: 500;
  color: var(--ebcc-ink-soft);
  margin-top: 2px;
}
.ebcc-g-track {
  position: relative;
  height: 18px;
  background: #eef2ef;
  border-radius: 999px;
  overflow: visible;
  margin-top: 24px;
}
.ebcc-g-green {
  position: absolute; top: 0; left: 0; height: 100%;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(90deg, #bfe5cf 0%, #86cf9e 100%);
}
.ebcc-g-red {
  position: absolute; top: 0; height: 100%; right: 0;
  border-radius: 0 999px 999px 0;
  background: repeating-linear-gradient(45deg, #f6d0ca 0 6px, #f0b0a6 6px 12px);
}
.ebcc-g-tick {
  position: absolute; top: -18px;
  width: 2px; height: calc(100% + 36px);
  background: var(--ebcc-red);
  transform: translateX(-50%);
  z-index: 3;
}
.ebcc-g-tick::before {
  content: attr(data-label);
  position: absolute; top: -20px; left: 50%; transform: translateX(-50%);
  font-size: 10.5px; font-weight: 700;
  color: var(--ebcc-red);
  background: #fff;
  padding: 1px 6px; border-radius: 4px;
  border: 1px solid #f0b0a6;
  white-space: nowrap;
}
.ebcc-g-pointer {
  position: absolute; top: -30px;
  transform: translateX(-50%);
  z-index: 4;
  pointer-events: none;
}
.ebcc-g-cap {
  display: inline-block;
  padding: 3px 8px;
  font-size: 11.5px; font-weight: 800;
  color: #fff;
  background: var(--ebcc-graphite-deep);
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,.22);
  font-variant-numeric: tabular-nums;
  letter-spacing: .3px;
  position: relative;
}
.ebcc-g-cap::after {
  content: "";
  position: absolute; left: 50%; bottom: -5px;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: var(--ebcc-graphite-deep);
}
.ebcc-g-cap.ebcc-cap-ok { background: var(--ebcc-grass-deep); }
.ebcc-g-cap.ebcc-cap-ok::after { border-top-color: var(--ebcc-grass-deep); }
.ebcc-g-cap.ebcc-cap-bad { background: var(--ebcc-red); }
.ebcc-g-cap.ebcc-cap-bad::after { border-top-color: var(--ebcc-red); }
.ebcc-g-cap em {
  font-style: normal;
  margin-left: 4px;
  color: #ffd9d2;
  font-weight: 700;
}
.ebcc-g-cap.ebcc-cap-ok em { color: #d4f0dc; }

/* 状态灯 */
.ebcc-g-lamp {
  display: flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700;
}
.ebcc-lamp {
  display: inline-block;
  width: 12px; height: 12px; border-radius: 50%;
  background: #c9d3cc;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.ebcc-lamp-on {
  background: var(--ebcc-grass);
  box-shadow: 0 0 0 3px rgba(63, 157, 90, .2), inset 0 0 0 1px rgba(255,255,255,.3);
  color: var(--ebcc-grass-deep);
}
.ebcc-lamp-bad {
  background: var(--ebcc-red);
  box-shadow: 0 0 0 3px rgba(224, 75, 58, .2), inset 0 0 0 1px rgba(255,255,255,.3);
}
.ebcc-lamp-warn {
  background: var(--ebcc-amber);
  box-shadow: 0 0 0 3px rgba(196, 138, 24, .2), inset 0 0 0 1px rgba(255,255,255,.3);
}

/* 脚踏特殊条 */
.ebcc-g-track-pedal {
  position: relative;
  height: 18px;
  border-radius: 999px;
  overflow: visible;
  margin-top: 24px;
  display: grid; grid-template-columns: 1fr 1fr;
}
.ebcc-g-pedal-half {
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
  color: #fff;
  letter-spacing: .3px;
}
.ebcc-g-pedal-ok { background: linear-gradient(90deg, #2e9e6b 0%, #3f9d5a 100%); border-radius: 999px 0 0 999px; }
.ebcc-g-pedal-bad { background: linear-gradient(90deg, #d64545 0%, #e04b3a 100%); border-radius: 0 999px 999px 0; }

/* ========== 属性对照表 ========== */
.ebcc-tablewrap { overflow-x: auto; border: 1px solid var(--ebcc-line); border-radius: 12px; }
.ebcc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 560px;
}
.ebcc-table th {
  background: var(--ebcc-graphite-deep);
  color: #fff;
  font-weight: 600;
  text-align: left;
  padding: 10px 14px;
  white-space: nowrap;
}
.ebcc-table th.ebcc-th-active {
  background: var(--ebcc-grass-deep);
  position: relative;
}
.ebcc-table th.ebcc-th-active::after {
  content: "← 本次";
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  font-size: 10.5px; font-weight: 700;
  color: #fff;
  background: rgba(255,255,255,.2);
  padding: 2px 8px; border-radius: 999px;
}
.ebcc-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--ebcc-line);
  color: var(--ebcc-ink);
  vertical-align: top;
  line-height: 1.7;
}
.ebcc-table tr:last-child td { border-bottom: none; }
.ebcc-table tbody tr:nth-child(even) td { background: #f7faf8; }
.ebcc-table td.ebcc-td-active {
  background: var(--ebcc-grass-soft) !important;
  font-weight: 700;
  color: var(--ebcc-grass-deep);
}
.ebcc-table td.ebcc-td-row { font-weight: 700; color: var(--ebcc-graphite-deep); white-space: nowrap; }

/* ========== 成本测算 ========== */
.ebcc-cost {
  border: 1px solid var(--ebcc-line);
  border-radius: 12px;
  padding: 18px 20px 16px;
  background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%);
}
.ebcc-stack {
  display: flex;
  height: 28px;
  border-radius: 8px;
  overflow: hidden;
  background: #eef2ef;
  margin-bottom: 14px;
}
.ebcc-stack-seg {
  height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11.5px; font-weight: 700;
  color: #fff;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
  transition: width .4s ease;
}
.ebcc-seg-plate { background: var(--ebcc-graphite); }
.ebcc-seg-license { background: #2f6fb0; }
.ebcc-seg-ins { background: var(--ebcc-amber); color: #3a2a00; }
.ebcc-seg-charge { background: var(--ebcc-grass); }
.ebcc-seg-helmet { background: #a65a2e; }

.ebcc-cost-legend {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.ebcc-cost-item {
  display: flex; flex-direction: column; gap: 2px;
  padding: 8px 10px;
  border: 1px solid var(--ebcc-line);
  border-radius: 8px;
  background: #fff;
}
.ebcc-cost-dot {
  display: inline-block;
  width: 10px; height: 10px; border-radius: 3px;
  margin-right: 6px;
  vertical-align: -1px;
}
.ebcc-cost-name {
  font-size: 11.5px; font-weight: 600;
  color: var(--ebcc-ink-soft);
}
.ebcc-cost-amt {
  font-size: 16px; font-weight: 800;
  color: var(--ebcc-graphite-deep);
  font-variant-numeric: tabular-nums;
}
.ebcc-cost-foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px;
  padding-top: 12px;
  border-top: 1px dashed var(--ebcc-line);
}
.ebcc-cost-total {
  display: flex; flex-direction: column; gap: 2px;
}
.ebcc-cost-total-lab {
  font-size: 11.5px; font-weight: 600;
  color: var(--ebcc-ink-soft);
}
.ebcc-cost-total-amt {
  font-size: 22px; font-weight: 800;
  color: var(--ebcc-grass-deep);
  font-variant-numeric: tabular-nums;
}
.ebcc-cost-note {
  font-size: 12px; color: var(--ebcc-ink-soft);
  line-height: 1.7;
}
.ebcc-cost-note b { color: var(--ebcc-graphite-deep); }

/* ========== 材料清单 ========== */
.ebcc-docs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.ebcc-doc {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--ebcc-line);
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  line-height: 1.6;
}
.ebcc-doc-icon {
  font-size: 16px; flex-shrink: 0;
  line-height: 1.4;
}
.ebcc-doc b { color: var(--ebcc-graphite-deep); }
.ebcc-doc-ok { border-color: #c6e1cf; background: var(--ebcc-grass-soft); }
.ebcc-doc-bad { border-color: #f0b0a6; background: var(--ebcc-red-soft); }
.ebcc-doc-bad b { color: var(--ebcc-red); }
.ebcc-doc-warn { border-color: #ead6a1; background: var(--ebcc-amber-soft); }
.ebcc-doc-warn b { color: #7a5400; }

/* ========== 处理建议 ========== */
.ebcc-advice {
  display: flex; flex-direction: column; gap: 10px;
}
.ebcc-advice-item {
  display: flex; gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--ebcc-line);
  border-radius: 10px;
  background: #fff;
  font-size: 13.5px;
  line-height: 1.75;
}
.ebcc-advice-icon {
  font-size: 18px; flex-shrink: 0;
  line-height: 1.4;
}
.ebcc-advice-item b { color: var(--ebcc-graphite-deep); }
.ebcc-advice-warn { border-color: #ead6a1; background: var(--ebcc-amber-soft); }
.ebcc-advice-warn b { color: #7a5400; }
.ebcc-advice-risk { border-color: #f0b0a6; background: var(--ebcc-red-soft); }
.ebcc-advice-risk b { color: var(--ebcc-red); }
.ebcc-advice-ok { border-color: #c6e1cf; background: var(--ebcc-grass-soft); }
.ebcc-advice-ok b { color: var(--ebcc-grass-deep); }

/* ========== 风险提示 ========== */
.ebcc-disclaimer {
  padding: 14px 18px;
  background: #f7fbf8;
  border: 1px dashed #cfe3d5;
  border-radius: 12px;
  text-align: center;
}
.ebcc-disclaimer p {
  margin: 0; font-size: 13px;
  color: var(--ebcc-ink-soft); line-height: 1.8;
}
.ebcc-disclaimer b { color: var(--ebcc-grass-deep); }

/* ========== 响应式 ========== */
@media (max-width: 960px) {
  .ebcc-hero { padding: 30px 22px; }
  .ebcc-hero h1 { font-size: 26px; }
  .ebcc-instruments { grid-template-columns: 1fr 1fr; }
  .ebcc-flags { grid-template-columns: 1fr 1fr; }
  .ebcc-gauge { grid-template-columns: 120px 1fr 80px; }
  .ebcc-cost-legend { grid-template-columns: repeat(3, 1fr); }
  .ebcc-docs { grid-template-columns: 1fr 1fr; }
  .ebcc-banner { flex-direction: column; align-items: stretch; gap: 14px; }
  .ebcc-plate { min-width: 0; }
}
@media (max-width: 640px) {
  .ebcc-instruments { grid-template-columns: 1fr; }
  .ebcc-flags { grid-template-columns: 1fr; }
  .ebcc-gauge { grid-template-columns: 96px 1fr 72px; gap: 10px; }
  .ebcc-g-name { font-size: 12px; }
  .ebcc-g-name small { font-size: 10px; }
  .ebcc-g-tick::before { font-size: 9.5px; }
  .ebcc-g-cap { font-size: 10.5px; padding: 2px 6px; }
  .ebcc-cost-legend { grid-template-columns: 1fr 1fr; }
  .ebcc-docs { grid-template-columns: 1fr; }
  .ebcc-verdict { font-size: 22px; }
}
@media (max-width: 480px) {
  .ebcc { padding: 16px 12px 24px; }
  .ebcc-card { padding: 16px 16px 14px; }
  .ebcc-btn { padding: 9px 16px; font-size: 13px; }
  .ebcc-gauge { grid-template-columns: 84px 1fr 68px; }
  .ebcc-assume { flex-direction: column; align-items: stretch; }
  .ebcc-field-sm { min-width: 0; }
}

/* ========== 深主题覆盖 ========== */
:root[data-theme="dark"] .ebcc {
  --ebcc-grass: #4cb98a;
  --ebcc-grass-deep: #8fd9b3;
  --ebcc-grass-soft: #12332a;
  --ebcc-graphite: #7d90a4;
  --ebcc-graphite-deep: #c6d5e2;
  --ebcc-red: #ef7b7b;
  --ebcc-red-soft: #3a1c1e;
  --ebcc-amber: #e8b33c;
  --ebcc-amber-soft: #33290f;
  --ebcc-plate-green: #2e9e6b;
  --ebcc-plate-blue: #5b93c4;
  --ebcc-plate-yellow: #e0a012;
  --ebcc-plate-gray: #7d90a4;
  --ebcc-ink: #e6eef5;
  --ebcc-ink-soft: #93a5b6;
  --ebcc-line: #2a3948;
  --ebcc-bg: #0d1712;
  --ebcc-card: #18222e;
  --ebcc-shadow: 0 2px 8px rgba(0, 0, 0, .32);
  --ebcc-shadow-lg: 0 16px 38px rgba(0, 0, 0, .5);
}
:root[data-theme="dark"] .ebcc-hero {
  background:
    radial-gradient(120% 140% at 50% 0%, #143a22 0%, transparent 55%),
    radial-gradient(100% 130% at 50% 100%, #1a2f22 0%, transparent 58%),
    linear-gradient(180deg, #131c17 0%, #0d1712 100%);
  border-color: #24422f;
}
:root[data-theme="dark"] .ebcc-hero h1 { color: #dce8f3; }
:root[data-theme="dark"] .ebcc-badge { color: #8fd9b3; border-color: #24422f; background: #12332a; }
:root[data-theme="dark"] .ebcc-strip-mark { color: #8fd9b3; background: #18222e; border-color: #24422f; }
:root[data-theme="dark"] .ebcc-strip-req { color: #f5cf6e; background: #33290f; border-color: #4d3d10; }
:root[data-theme="dark"] .ebcc-card { background: #18222e; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-card h2 span { color: #8fd9b3; background: #12332a; border-color: #24422f; }
:root[data-theme="dark"] .ebcc-num,
:root[data-theme="dark"] .ebcc-seg,
:root[data-theme="dark"] .ebcc-btn-ghost,
:root[data-theme="dark"] .ebcc-field-sm input {
  background: #131c17; border-color: #2a3948; color: var(--ebcc-ink);
}
:root[data-theme="dark"] .ebcc-num { color: var(--ebcc-ink); }
:root[data-theme="dark"] .ebcc-unit { color: #8fd9b3; background: #12332a; }
:root[data-theme="dark"] .ebcc-seg-btn:has(input:checked) { background: var(--ebcc-grass); color: #0d141c; }
:root[data-theme="dark"] .ebcc-assume { background: #131c17; border-color: #24422f; }
:root[data-theme="dark"] .ebcc-banner { background: linear-gradient(180deg, #131c17 0%, #18222e 100%); border-color: #2a3948; border-left-color: var(--ebcc-grass); }
:root[data-theme="dark"] .ebcc-banner.ebcc-banner-warn { background: linear-gradient(180deg, #23200a 0%, #18222e 100%); border-left-color: var(--ebcc-amber); }
:root[data-theme="dark"] .ebcc-banner.ebcc-banner-risk { background: linear-gradient(180deg, #3a1c1e 0%, #18222e 100%); border-left-color: var(--ebcc-red); }
:root[data-theme="dark"] .ebcc-verdict { color: #dce8f3; }
:root[data-theme="dark"] .ebcc-banner.ebcc-banner-warn .ebcc-verdict { color: #f5cf6e; }
:root[data-theme="dark"] .ebcc-banner.ebcc-banner-risk .ebcc-verdict { color: #ef7b7b; }
:root[data-theme="dark"] .ebcc-verdict-sub-green { color: #8fd9b3; background: #12332a; border-color: #1d5038; }
:root[data-theme="dark"] .ebcc-verdict-sub-blue { color: #8fc0e8; background: #16283a; border-color: #24425f; }
:root[data-theme="dark"] .ebcc-verdict-sub-yellow { color: #f5cf6e; background: #33290f; border-color: #4d3d10; }
:root[data-theme="dark"] .ebcc-verdict-sub-gray { color: #93a5b6; background: #1c2836; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-banner-desc { color: #93a5b6; }
:root[data-theme="dark"] .ebcc-banner-desc b { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-g-track { background: #0d141c; }
:root[data-theme="dark"] .ebcc-g-green { background: linear-gradient(90deg, #1d5038 0%, #2e9e6b 100%); }
:root[data-theme="dark"] .ebcc-g-red { background: repeating-linear-gradient(45deg, #3a1c1e 0 6px, #4a2a2e 6px 12px); }
:root[data-theme="dark"] .ebcc-g-tick::before { background: #18222e; border-color: #4a2a2e; color: #ef7b7b; }
:root[data-theme="dark"] .ebcc-g-cap { background: #2a3948; }
:root[data-theme="dark"] .ebcc-g-cap::after { border-top-color: #2a3948; }
:root[data-theme="dark"] .ebcc-g-cap.ebcc-cap-ok { background: var(--ebcc-grass); color: #0d141c; }
:root[data-theme="dark"] .ebcc-g-cap.ebcc-cap-ok::after { border-top-color: var(--ebcc-grass); }
:root[data-theme="dark"] .ebcc-g-cap.ebcc-cap-bad { background: var(--ebcc-red); color: #fff; }
:root[data-theme="dark"] .ebcc-g-cap.ebcc-cap-bad::after { border-top-color: var(--ebcc-red); }
:root[data-theme="dark"] .ebcc-table th { background: #0d141c; color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-table th.ebcc-th-active { background: #1d5038; color: #8fd9b3; }
:root[data-theme="dark"] .ebcc-table td { color: var(--ebcc-ink); border-bottom-color: #2a3948; }
:root[data-theme="dark"] .ebcc-table tbody tr:nth-child(even) td { background: #131c17; }
:root[data-theme="dark"] .ebcc-table td.ebcc-td-active { background: #12332a !important; color: #8fd9b3; }
:root[data-theme="dark"] .ebcc-table td.ebcc-td-row { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-cost { background: #18222e; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-stack { background: #0d141c; }
:root[data-theme="dark"] .ebcc-cost-item { background: #131c17; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-cost-amt { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-cost-total-amt { color: #8fd9b3; }
:root[data-theme="dark"] .ebcc-cost-note b { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-doc { background: #131c17; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-doc-ok { background: #12332a; border-color: #1d5038; }
:root[data-theme="dark"] .ebcc-doc-bad { background: #3a1c1e; border-color: #4a2a2e; }
:root[data-theme="dark"] .ebcc-doc-warn { background: #33290f; border-color: #4d3d10; }
:root[data-theme="dark"] .ebcc-doc b { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-doc-bad b { color: #ef7b7b; }
:root[data-theme="dark"] .ebcc-doc-warn b { color: #f5cf6e; }
:root[data-theme="dark"] .ebcc-advice-item { background: #131c17; border-color: #2a3948; }
:root[data-theme="dark"] .ebcc-advice-item b { color: #c6d5e2; }
:root[data-theme="dark"] .ebcc-advice-ok { background: #12332a; border-color: #1d5038; }
:root[data-theme="dark"] .ebcc-advice-ok b { color: #8fd9b3; }
:root[data-theme="dark"] .ebcc-advice-warn { background: #33290f; border-color: #4d3d10; }
:root[data-theme="dark"] .ebcc-advice-warn b { color: #f5cf6e; }
:root[data-theme="dark"] .ebcc-advice-risk { background: #3a1c1e; border-color: #4a2a2e; }
:root[data-theme="dark"] .ebcc-advice-risk b { color: #ef7b7b; }
:root[data-theme="dark"] .ebcc-disclaimer { background: #131c17; border-color: #24422f; }
:root[data-theme="dark"] .ebcc-disclaimer b { color: #8fd9b3; }
