:root {
  --bs-primary: #2d6a4f;
  --bs-primary-rgb: 45, 106, 79;
  --bs-link-color: #2d6a4f;
  --bs-link-hover-color: #1b4332;
}

body {
  min-height: 100vh;
}

.pb-safe {
  padding-bottom: calc(1.5rem + env(safe-area-inset-bottom)) !important;
}

.navbar-brand {
  font-size: 1.05rem;
}

.deal-link-card {
  transition: box-shadow 0.15s ease, transform 0.1s ease;
}

.deal-link-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}

.deal-link-card:active {
  transform: scale(0.99);
}

.kanban-board {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.kanban-column {
  flex: 0 0 min(85vw, 300px);
  scroll-snap-align: start;
}

.kanban-column .card-header {
  font-size: 0.9rem;
}

.notes-block {
  white-space: pre-wrap;
  word-break: break-word;
}

.pin-input {
  font-size: 1.25rem;
  letter-spacing: 0.25em;
  text-align: center;
}

.journal-entry::before {
  content: "– ";
  color: var(--bs-secondary-color);
}

.journal-list {
  border-left: 2px solid var(--bs-border-color);
  padding-left: 0.75rem;
}

.stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}
