/* Small hand-written touches Tailwind's utility classes don't cover. */

::selection {
  background: #d4a017;
  color: #1b4332;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #8dc0a5 transparent;
}
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: #8dc0a5; border-radius: 999px; }

.card {
  background: #fff;
  border: 1px solid #ecebe4;
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(27, 67, 50, 0.04);
}

.card-hover {
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.card-hover:hover {
  box-shadow: 0 8px 24px rgba(27, 67, 50, 0.08);
  transform: translateY(-1px);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  letter-spacing: 0.01em;
}
.badge-ok { background: #dcece2; color: #245a42; }
.badge-soon { background: #f9ecc4; color: #8c690c; }
.badge-overdue { background: #fde2e2; color: #a12626; }
.badge-returned { background: #e5e7eb; color: #4b5563; }

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  font-size: 0.825rem;
  padding: 0.55rem 1rem;
  border-radius: 0.6rem;
  transition: background-color 0.15s ease, transform 0.05s ease;
}
.btn:active { transform: scale(0.98); }
.btn-primary { background: #2d6a4f; color: #fdf8ea; }
.btn-primary:hover { background: #245a42; }
.btn-secondary { background: #f2f7f4; color: #1b4332; border: 1px solid #dcece2; }
.btn-secondary:hover { background: #dcece2; }
.btn-danger { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.btn-danger:hover { background: #fde2e2; }

body.sidebar-open #sidebar { transform: translateX(0); }
body.sidebar-open #sidebar-backdrop { display: block; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
