body {
  background: #f7f5f2;
}
.app-navbar {
  background: #3c6e47;
}
.dog-card {
  border: none;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  overflow: hidden;
  transition: transform 0.15s ease;
  height: 100%;
}
.dog-card:hover {
  transform: translateY(-3px);
}
.dog-photo {
  height: 200px;
  object-fit: cover;
  width: 100%;
  background: #eee;
}
.badge-valid { background: #3c6e47; }
.badge-soon { background: #d68a1c; }
.badge-expired { background: #c0392b; }
.auth-card {
  max-width: 420px;
  margin: 60px auto;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
.public-profile {
  max-width: 640px;
  margin: 0 auto;
}
.public-hero {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
.card-thumb {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #ddd;
}
.stat-card {
  border: none;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  padding: 1.25rem;
  text-align: center;
}
.stat-number {
  font-size: 2rem;
  font-weight: 700;
  color: #3c6e47;
}
.region-card {
  border: none;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: transform 0.15s ease;
}
.region-card:hover {
  transform: translateY(-2px);
}
