/* Minimal project styles */
:root{
  --primary: #0d6efd;
  --muted: #6c757d;
}
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background-color: #fbfbfb;
  color: #222;
}
.lead.text-muted{
  color: var(--muted) !important;
}

/* Layout spacing */
.container { max-width: 1100px; }
main.container { padding-top: 3rem; padding-bottom: 3rem; }

/* Navbar */
.navbar-brand { font-weight: 600; letter-spacing: 0.2px; }
.nav-link { color: #333 !important; padding: .5rem 0.75rem; }
.nav-link:hover { color: var(--primary) !important; }

/* Buttons */
.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: #0b5ed7; border-color: #0a58ca; }
.btn { border-radius: 6px; padding: .5rem .9rem; }
.btn-outline-primary { border-radius: 6px; }
.btn-sm { padding: .35rem .6rem; }

/* Cards */
.card { border-radius: 10px; transition: transform .15s ease, box-shadow .15s ease; }
.card:hover { transform: translateY(-6px); box-shadow: 0 8px 24px rgba(33,37,41,0.08); }
.card .card-title { font-size: 1rem; font-weight:600; }

/* Product grid */
.card-img-top { border-top-left-radius: 10px; border-top-right-radius: 10px; object-fit: cover; height: 180px; width:100%; }
.product-card { overflow: hidden; display:flex; flex-direction:column; }
.product-card .card-body { padding: 1rem; }
.product-card .price { color: var(--primary); font-weight:700; }
.product-card:hover img { transform: scale(1.04); transition: transform .25s ease; }

/* Tables */
.table th, .table td { vertical-align: middle; padding: .75rem .9rem; }
.table thead th { background: #f8f9fa; border-bottom: 2px solid #e9ecef; }

/* Dashboard cards */
.card.text-bg-light h5.card-title { font-size: .95rem; margin-bottom: .5rem; color:#444; }
.card .display-6 { font-weight:700; font-size:1.6rem; }
.dashboard-actions a { margin-right:.5rem; }

/* Spinner overlay */
.loading-overlay { position: fixed; inset:0; background: rgba(255,255,255,0.7); display:flex; align-items:center; justify-content:center; z-index:1050; display:none; }
.spinner-border-lg { width:3.5rem; height:3.5rem; border-width:.35rem; }

/* Toasts */
.toast-container { position: fixed; top: 1rem; right: 1rem; z-index: 1100; }
.toast { min-width: 220px; }

/* Responsive tweaks */
@media (max-width: 768px) {
  .card .display-6 { font-size: 1.25rem; }
  .navbar-brand { font-size:1.05rem; }
  main.container { padding-left: 1rem; padding-right: 1rem; }
}


