:root {
  --brand-grass: #43a047;
  --brand-grass-dark: #2e7d32;
  --brand-tomato: #ff6347;
  --bs-primary: var(--brand-grass);
  --bs-primary-rgb: 67, 160, 71;
  --bs-success: var(--brand-grass);
  --bs-success-rgb: 67, 160, 71;
  --bs-danger: var(--brand-tomato);
  --bs-danger-rgb: 255, 99, 71;
  --bs-link-color: var(--brand-grass-dark);
  --bs-link-hover-color: #1b5e20;
}

body {
  min-height: 100vh;
}

.brand-navbar {
  background: linear-gradient(110deg, var(--brand-grass-dark), var(--brand-grass));
  border-bottom: 3px solid var(--brand-tomato);
}

.brand-logo {
  width: 42px;
  height: 34px;
  object-fit: contain;
  border-radius: 4px;
  background: #fff;
}

.btn-primary {
  --bs-btn-bg: var(--brand-grass);
  --bs-btn-border-color: var(--brand-grass);
  --bs-btn-hover-bg: var(--brand-grass-dark);
  --bs-btn-hover-border-color: var(--brand-grass-dark);
  --bs-btn-active-bg: var(--brand-grass-dark);
  --bs-btn-active-border-color: var(--brand-grass-dark);
}

.btn-danger {
  --bs-btn-bg: var(--brand-tomato);
  --bs-btn-border-color: var(--brand-tomato);
  --bs-btn-hover-bg: #e5533d;
  --bs-btn-hover-border-color: #e5533d;
}

.hero-panel {
  background: linear-gradient(135deg, #fff 0%, #edf7ee 75%, #fff0ed 100%);
  border-top: 4px solid var(--brand-grass);
}

.feature-card {
  background: #fff;
  border: 1px solid rgba(67, 160, 71, 0.2);
  border-bottom: 3px solid var(--brand-tomato);
}

.profile-avatar {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
}

.profile-avatar-placeholder {
  display: grid;
  place-items: center;
  background: #e8f5e9;
  color: var(--brand-grass-dark);
  font-size: 2rem;
  font-weight: 700;
}
