/* ===== 商业可行性测评 ===== */

.assess-hero {
  background: linear-gradient(160deg, #2a0c00 0%, #8b2500 35%, #6b1a00 65%, #3a0e00 100%);
  color: #fff; padding: 80px 24px 60px; text-align: center; position: relative; overflow: hidden;
}
.assess-hero::before {
  content: ""; position: absolute; top: -40%; right: -15%; width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(200,151,58,.15) 0%, transparent 70%); pointer-events: none;
}
.assess-hero h1 { font-size: 42px; letter-spacing: 6px; margin-bottom: 16px; font-weight: 700; }
.assess-hero .subtitle { font-size: 18px; opacity: .85; letter-spacing: 3px; margin-bottom: 12px; }
.assess-hero .desc { font-size: 14px; opacity: .6; max-width: 800px; margin: 0 auto; line-height: 1.8; white-space: nowrap; }

/* 输入区 */
.assess-input-section {
  max-width: 800px; margin: -30px auto 0; padding: 0 20px; position: relative; z-index: 2;
}
.assess-input-card {
  background: #fff; border-radius: 20px; padding: 36px 32px; box-shadow: 0 8px 40px rgba(0,0,0,.08);
  border: 1px solid rgba(232,220,200,.5);
}
.assess-input-card h2 {
  font-size: 20px; color: #333; margin-bottom: 6px; font-weight: 600;
}
.assess-input-card .hint {
  font-size: 13px; color: #999; margin-bottom: 20px; line-height: 1.6;
}
.assess-form-fields {
  display: flex; flex-direction: column; gap: 18px;
}
.assess-field {}
.assess-field-label {
  display: block; font-size: 14px; color: #444; margin-bottom: 6px; font-weight: 600;
}
.assess-field-label .required { color: #c0392b; margin-left: 2px; }
.assess-field-input,
.assess-field-select,
.assess-field-textarea {
  width: 100%; padding: 12px 16px; border: 1.5px solid #e8dcc8; border-radius: 10px;
  font-size: 14px; font-family: inherit; color: #333; background: #faf8f4; transition: border-color .3s;
}
.assess-field-input:focus,
.assess-field-select:focus,
.assess-field-textarea:focus { border-color: #c8973a; outline: none; background: #fff; }
.assess-field-input::placeholder,
.assess-field-textarea::placeholder { color: #bbb; }
.assess-field-select { cursor: pointer; appearance: auto; }
.assess-field-textarea { min-height: 80px; resize: vertical; line-height: 1.7; }
.assess-char-count {
  text-align: right; font-size: 12px; color: #999; margin-top: 6px;
}
.assess-submit-row {
  display: flex; justify-content: space-between; align-items: center; margin-top: 20px; gap: 16px;
}
.assess-submit-btn {
  padding: 14px 48px; background: linear-gradient(135deg, #8b2500, #c8973a); color: #fff;
  border: none; border-radius: 50px; font-size: 16px; font-weight: 600; letter-spacing: 2px;
  cursor: pointer; transition: all .3s; box-shadow: 0 4px 16px rgba(200,151,58,.3);
}
.assess-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(200,151,58,.4); }
.assess-submit-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.assess-remain { font-size: 13px; color: #999; }

/* Loading */
.assess-loading {
  display: none; text-align: center; padding: 60px 20px;
}
.assess-loading.active { display: block; }
.assess-loading-spinner {
  width: 56px; height: 56px; border: 4px solid #e8dcc8; border-top-color: #c8973a;
  border-radius: 50%; animation: assess-spin 1s linear infinite; margin: 0 auto 24px;
}
@keyframes assess-spin { to { transform: rotate(360deg); } }
.assess-loading h3 { font-size: 20px; color: #333; margin-bottom: 8px; }
.assess-loading p { font-size: 14px; color: #999; }
.assess-loading-steps {
  display: flex; justify-content: center; gap: 24px; margin-top: 24px; flex-wrap: wrap;
}
.assess-loading-step {
  display: flex; align-items: center; gap: 8px; font-size: 13px; color: #bbb;
  transition: color .4s;
}
.assess-loading-step.active { color: #c8973a; font-weight: 600; }
.assess-loading-step.done { color: #27ae60; }
.assess-step-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #ddd; transition: background .4s;
}
.assess-loading-step.active .assess-step-dot { background: #c8973a; }
.assess-loading-step.done .assess-step-dot { background: #27ae60; }

/* 结果区 */
.assess-result {
  display: none; max-width: 900px; margin: 0 auto; padding: 0 20px 40px;
}
.assess-result.active { display: block; }

/* 评级卡片 */
.assess-grade-card {
  background: #fff; border-radius: 20px; padding: 40px; text-align: center;
  box-shadow: 0 8px 40px rgba(0,0,0,.06); border: 1px solid rgba(232,220,200,.4);
  margin-bottom: 32px; position: relative; overflow: hidden;
}
.assess-grade-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #8b2500, #c8973a, #daa84d);
}
.assess-grade-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 80px; height: 80px; border-radius: 50%; font-size: 36px; font-weight: 700;
  color: #fff; margin-bottom: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.grade-S { background: linear-gradient(135deg, #27ae60, #2ecc71); }
.grade-A { background: linear-gradient(135deg, #2980b9, #3498db); }
.grade-B { background: linear-gradient(135deg, #c8973a, #daa84d); }
.grade-C { background: linear-gradient(135deg, #e67e22, #f39c12); }
.grade-D { background: linear-gradient(135deg, #c0392b, #e74c3c); }
.assess-grade-score {
  font-size: 48px; font-weight: 700; color: #333; margin-bottom: 4px;
}
.assess-grade-score span { font-size: 20px; color: #999; font-weight: 400; }
.assess-grade-label {
  font-size: 16px; color: #666; margin-bottom: 16px;
}
.assess-grade-summary {
  font-size: 15px; color: #555; line-height: 1.8; max-width: 600px; margin: 0 auto;
  padding: 16px 24px; background: #faf8f4; border-radius: 12px;
}

/* 雷达图区 */
.assess-radar-section {
  background: #fff; border-radius: 20px; padding: 32px; margin-bottom: 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04); border: 1px solid rgba(232,220,200,.3);
}
.assess-radar-section h3 {
  font-size: 18px; color: #333; margin-bottom: 20px; text-align: center;
}
.assess-radar-wrap {
  display: flex; justify-content: center; align-items: center; gap: 32px; flex-wrap: wrap;
}
#assessRadarCanvas {
  max-width: 420px; width: 100%; height: auto;
}
.assess-radar-legend {
  display: flex; flex-direction: column; gap: 10px;
}
.assess-legend-item {
  display: flex; align-items: center; gap: 8px; font-size: 13px; color: #666;
}
.assess-legend-dot {
  width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0;
}

/* 维度详情 */
.assess-dims-section {
  margin-bottom: 32px;
}
.assess-dim-group {
  background: #fff; border-radius: 16px; padding: 28px; margin-bottom: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,.03); border: 1px solid rgba(232,220,200,.3);
}
.assess-dim-group-title {
  font-size: 16px; font-weight: 600; color: #333; margin-bottom: 20px;
  padding-bottom: 12px; border-bottom: 1px solid #f0ebe3;
  display: flex; align-items: center; gap: 8px;
}
.assess-dim-group-dot {
  width: 6px; height: 20px; border-radius: 3px;
}
.assess-dim-item {
  display: flex; align-items: flex-start; gap: 16px; padding: 14px 0;
  border-bottom: 1px solid #f8f4ee;
}
.assess-dim-item:last-child { border-bottom: none; }
.assess-dim-score-circle {
  width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: 16px; font-weight: 700; flex-shrink: 0;
  color: #fff;
}
.score-high { background: linear-gradient(135deg, #27ae60, #2ecc71); }
.score-mid { background: linear-gradient(135deg, #c8973a, #daa84d); }
.score-low { background: linear-gradient(135deg, #e74c3c, #c0392b); }
.assess-dim-info { flex: 1; min-width: 0; }
.assess-dim-name {
  font-size: 15px; font-weight: 600; color: #333; margin-bottom: 4px;
}
.assess-dim-comment {
  font-size: 13px; color: #777; line-height: 1.6;
}
.assess-dim-bar-wrap {
  height: 6px; background: #f0ebe3; border-radius: 3px; margin-top: 8px; overflow: hidden;
}
.assess-dim-bar {
  height: 100%; border-radius: 3px; transition: width .8s ease;
}

/* 风险与建议 */
.assess-cards-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 32px;
}
.assess-risk-card, .assess-suggest-card {
  background: #fff; border-radius: 16px; padding: 24px; border: 1px solid rgba(232,220,200,.3);
  box-shadow: 0 4px 16px rgba(0,0,0,.03);
}
.assess-risk-card h3 { color: #c0392b; font-size: 16px; margin-bottom: 16px; }
.assess-suggest-card h3 { color: #27ae60; font-size: 16px; margin-bottom: 16px; }
.assess-list {
  list-style: none; padding: 0;
}
.assess-list li {
  padding: 10px 0; border-bottom: 1px solid #f8f4ee; font-size: 14px;
  color: #555; line-height: 1.6; display: flex; gap: 10px; align-items: flex-start;
}
.assess-list li:last-child { border-bottom: none; }
.assess-list-icon {
  width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; font-size: 12px; flex-shrink: 0; color: #fff; margin-top: 1px;
}
.icon-risk { background: #e74c3c; }
.icon-suggest { background: #27ae60; }

/* 推荐服务 */
.assess-services {
  background: #fff; border-radius: 16px; padding: 24px; margin-bottom: 32px;
  border: 1px solid rgba(232,220,200,.3); box-shadow: 0 4px 16px rgba(0,0,0,.03);
}
.assess-services h3 { font-size: 16px; color: #8b2500; margin-bottom: 16px; }
.assess-service-tags {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.assess-service-tag {
  padding: 8px 18px; background: linear-gradient(135deg, rgba(139,37,0,.06), rgba(200,151,58,.08));
  border: 1px solid rgba(200,151,58,.25); border-radius: 20px;
  font-size: 14px; color: #8b2500; font-weight: 500;
}

/* 咨询表单 CTA */
.assess-cta {
  background: linear-gradient(135deg, #fff9f0, #fff);
  border: 2px solid #c8973a; border-radius: 20px; padding: 36px 32px; margin-bottom: 32px;
  text-align: center;
}
.assess-cta h3 {
  font-size: 22px; color: #333; margin-bottom: 8px;
}
.assess-cta .cta-desc {
  font-size: 14px; color: #888; margin-bottom: 24px;
}
.assess-cta-form {
  max-width: 500px; margin: 0 auto; text-align: left;
}
.assess-form-group {
  margin-bottom: 16px;
}
.assess-form-group label {
  display: block; font-size: 14px; color: #555; margin-bottom: 6px; font-weight: 500;
}
.assess-form-group label .required {
  color: #c0392b; margin-left: 2px;
}
.assess-form-input {
  width: 100%; padding: 12px 16px; border: 1.5px solid #e8dcc8; border-radius: 10px;
  font-size: 14px; font-family: inherit; color: #333; background: #fff; transition: border-color .3s;
}
.assess-form-input:focus { border-color: #c8973a; outline: none; }
.assess-form-textarea {
  width: 100%; padding: 12px 16px; border: 1.5px solid #e8dcc8; border-radius: 10px;
  font-size: 14px; font-family: inherit; color: #333; min-height: 80px; resize: vertical;
  background: #fff; transition: border-color .3s;
}
.assess-form-textarea:focus { border-color: #c8973a; outline: none; }
.assess-consult-btn {
  width: 100%; padding: 14px; background: linear-gradient(135deg, #c8973a, #daa84d);
  color: #fff; border: none; border-radius: 50px; font-size: 16px; font-weight: 600;
  letter-spacing: 2px; cursor: pointer; transition: all .3s;
  box-shadow: 0 4px 16px rgba(200,151,58,.3);
}
.assess-consult-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(200,151,58,.4); }
.assess-consult-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.assess-cta-success {
  display: none; text-align: center; padding: 24px;
}
.assess-cta-success.active { display: block; }
.assess-cta-success h4 { color: #27ae60; font-size: 20px; margin-bottom: 8px; }
.assess-cta-success p { color: #666; font-size: 14px; }

/* 免责 */
.assess-disclaimer {
  text-align: center; font-size: 12px; color: #bbb; padding: 20px; line-height: 1.8;
}

/* 再测一次 */
.assess-retry-btn {
  display: inline-block; padding: 12px 36px; background: transparent; color: #8b2500;
  border: 2px solid #8b2500; border-radius: 50px; font-size: 15px; font-weight: 600;
  letter-spacing: 2px; cursor: pointer; transition: all .3s; margin-top: 16px;
}
.assess-retry-btn:hover { background: #8b2500; color: #fff; }

/* 错误提示 */
.assess-error {
  display: none; text-align: center; padding: 40px 20px;
}
.assess-error.active { display: block; }
.assess-error h3 { color: #c0392b; font-size: 18px; margin-bottom: 8px; }
.assess-error p { color: #888; font-size: 14px; }

/* 响应式 */
@media(max-width:768px) {
  .assess-hero { padding: 60px 16px 40px; }
  .assess-hero h1 { font-size: 28px; letter-spacing: 3px; }
  .assess-hero .subtitle { font-size: 15px; letter-spacing: 2px; }
  .assess-hero .desc { white-space: normal; font-size: 13px; }
  .assess-input-section { margin-top: -20px; padding: 0 12px; }
  .assess-input-card { padding: 24px 16px; }
  .assess-submit-row { flex-direction: column; }
  .assess-submit-btn { width: 100%; }
  .assess-grade-card { padding: 28px 20px; }
  .assess-grade-score { font-size: 40px; }
  .assess-cards-row { grid-template-columns: 1fr; }
  .assess-radar-wrap { flex-direction: column; }
  .assess-radar-legend { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .assess-cta { padding: 28px 20px; }
  .assess-dim-item { flex-direction: column; gap: 10px; }
}
