:root {
  --primary: #007bff;
  --bg: #f8f9fa;
  --text: #222;
  --radius: 5px;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: Arial, sans-serif;
}

.container { max-width: 900px; }

.navbar-brand {
  font-weight: bold;
  font-size: 1.3rem;
}

.card, .friend-card, .post-map, .post-image-container {
  border-radius: var(--radius);
  border: 1px solid #e0e0e0;
  background: #fff;
  margin-bottom: 16px;
  box-shadow: none;
}

.card-header {
  background: #f5f5f5;
  border-bottom: 1px solid #eee;
  padding: 10px 16px;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

.card-body { padding: 16px; }
.card-title { font-weight: 600; color: var(--text); }

.post-card:hover, .friend-card:hover, .stats-card:hover {
  background: #f0f4fa;
  transform: none;
  box-shadow: none;
}

.post-image-container { overflow: hidden; max-height: 250px; }
.post-image-container img { width: 100%; object-fit: cover; }
.post-map { overflow: hidden; }

.rounded-circle {
  object-fit: cover;
  border: 1px solid #eee;
  border-radius: 50%;
}

.message-bubble {
  max-width: 80%;
  padding: 8px 12px;
  border-radius: var(--radius);
  margin-bottom: 8px;
  background: #f1f1f1;
}

.message-sent {
  background: var(--primary);
  color: #fff;
  margin-left: auto;
}

.message-received { background: #f1f1f1; }

.conversation-item {
  cursor: pointer;
  background: none;
  border-left: 3px solid transparent;
  padding: 8px 12px;
}
.conversation-item:hover, .conversation-item.active {
  background: #eaf3ff;
  border-left: 3px solid var(--primary);
}

.btn, .form-control, .form-select {
  border-radius: var(--radius);
  border: 1px solid #ccc;
}

.btn {
  background: var(--primary);
  color: #fff;
  padding: 6px 14px;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s;
}
.btn:hover, .btn:focus { background: #0056b3; }

.btn-sm { padding: 4px 8px; font-size: 0.9rem; }

.form-control, .form-select {
  padding: 8px 12px;
  font-size: 1rem;
}

.form-control:focus, .form-select:focus {
  border-color: var(--primary);
  outline: none;
}

.sidebar {
  min-height: 200px;
  background: #f5f5f5;
  border-right: 1px solid #e0e0e0;
}

.stats-card {
  border-left: 3px solid var(--primary);
  background: #fff;
  padding: 12px;
}

@media (max-width: 768px) {
  .container { max-width: 100%; }
  .card-body { padding: 10px; }
  .message-bubble { max-width: 95%; }
  .post-image-container { max-height: 180px; }
}

.text-small { font-size: 0.9rem; }
.cursor-pointer { cursor: pointer; }
