:root {
  --bs-primary: #e23d2b;
  --bs-primary-rgb: 226, 61, 43;
  --bs-body-bg: #f5f6f8;
  --bs-body-color: #1f2933;
  --bs-body-font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --bs-border-color: #e6e8ec;
  --bs-link-color: #1d4ed8;
  --bs-link-hover-color: #1e40af;
  --ink: #1f2933;
  --muted: #5c6b7a;
  --line: #e6e8ec;
  --card: #ffffff;
  --accent: #e23d2b;
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 10px 28px rgba(16, 24, 40, 0.05);
}

body {
  background: var(--bs-body-bg);
  color: var(--ink);
}

.btn-primary {
  --bs-btn-bg: #e23d2b;
  --bs-btn-border-color: #e23d2b;
  --bs-btn-hover-bg: #c43222;
  --bs-btn-hover-border-color: #c43222;
  --bs-btn-active-bg: #a8281c;
  --bs-btn-active-border-color: #a8281c;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-bg: #e23d2b;
  --bs-btn-disabled-border-color: #e23d2b;
}

.btn-outline-primary {
  --bs-btn-color: #c43222;
  --bs-btn-border-color: #e7b2aa;
  --bs-btn-hover-bg: #fff1ef;
  --bs-btn-hover-border-color: #e23d2b;
  --bs-btn-hover-color: #a8281c;
  --bs-btn-active-bg: #e23d2b;
  --bs-btn-active-border-color: #e23d2b;
}

.card {
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  background: var(--card);
}

.form-control,
.form-select {
  border-color: #d9dee7;
  border-radius: 10px;
}

.form-control:focus,
.form-select:focus {
  border-color: #e7a79f;
  box-shadow: 0 0 0 0.2rem rgba(226, 61, 43, 0.12);
}

.section-label {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.75rem;
}
