:root {
  --mantou-cream: #fff9ea;
  --mantou-cream-deep: #f7edcf;
  --mantou-green: #78a948;
  --mantou-green-dark: #456f2f;
  --mantou-green-soft: #eaf2d7;
  --mantou-gold: #e7b84f;
  --mantou-ink: #293526;
  --mantou-muted: #687064;
  --mantou-line: #e4ddc7;
  --mantou-surface: rgba(255, 255, 255, 0.94);
  --primary: var(--mantou-green);
  --primary-dark: var(--mantou-green-dark);
  --amber: var(--mantou-gold);
  --teal: #5d8f45;
  --bg: var(--mantou-cream);
  --surface: #fffdf8;
  --text-main: var(--mantou-ink);
  --text-muted: var(--mantou-muted);
  --border: var(--mantou-line);
  --radius: 18px;
  --shadow: 0 16px 45px rgba(87, 105, 58, 0.10);
}

html { background: var(--mantou-cream); }

body {
  color: var(--mantou-ink) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(244, 194, 92, 0.24), transparent 30rem),
    radial-gradient(circle at 92% 16%, rgba(132, 180, 72, 0.18), transparent 28rem),
    linear-gradient(180deg, #fffdf5 0%, var(--mantou-cream) 52%, #f9f1dc 100%) !important;
}

header, .header {
  background: rgba(255, 252, 241, 0.92) !important;
  border-color: var(--mantou-line) !important;
  backdrop-filter: blur(16px);
}

.mantou-brand-icon,
.brand img,
header img[alt="馒头陪伴"] {
  width: 38px !important;
  height: 38px !important;
  object-fit: cover;
  border-radius: 11px;
  box-shadow: 0 5px 14px rgba(69, 111, 47, 0.20);
  flex: 0 0 auto;
}

.bg-brand-50 { background-color: #f7faef !important; }
.bg-brand-100 { background-color: var(--mantou-green-soft) !important; }
.bg-brand-200 { background-color: #dbe9bd !important; }
.bg-brand-500 { background-color: var(--mantou-green) !important; }
.hover\:bg-brand-600:hover, .bg-brand-600 { background-color: var(--mantou-green-dark) !important; }
.text-brand-600, .text-brand-700, .text-brand-800 { color: var(--mantou-green-dark) !important; }
.border-brand-200 { border-color: #d5e5b5 !important; }
.focus\:ring-brand-500:focus { --tw-ring-color: rgba(120, 169, 72, 0.42) !important; }
.bg-\[\#FAF7F2\] { background-color: transparent !important; }

.card,
main > div.bg-white,
main .bg-white.rounded-3xl {
  background: var(--mantou-surface) !important;
  border-color: var(--mantou-line) !important;
  box-shadow: var(--shadow) !important;
}

.btn-primary,
button[type="submit"] {
  background: linear-gradient(135deg, #82b74e, #5e913d) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(87, 139, 56, 0.22);
}

.btn-primary:hover,
button[type="submit"]:hover { background: linear-gradient(135deg, #6fa03f, #456f2f) !important; }

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--mantou-green) !important;
  box-shadow: 0 0 0 3px rgba(120, 169, 72, 0.16);
}

.card-title, h1, h2 { color: var(--mantou-ink) !important; }
.step.active { background: #f1f7e6 !important; border-color: var(--mantou-green) !important; color: var(--mantou-green-dark) !important; }
.step.active .step-num { background: var(--mantou-green) !important; }
.step.completed { background: #edf7e8 !important; border-color: #83b970 !important; color: #315f2f !important; }
.step.completed .step-num { background: #6ca85b !important; }
.footer, footer { border-color: var(--mantou-line) !important; color: var(--mantou-muted) !important; }

@media (max-width: 640px) {
  .mantou-brand-icon,
  .brand img,
  header img[alt="馒头陪伴"] { width: 34px !important; height: 34px !important; }
}
