/* Modern, mobile-first admin styles */

:root {
  --app-bg: #f5f7fb;
  --card-radius: 12px;
}

body { background: var(--app-bg); }
.navbar { box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.card { border: 0; border-radius: var(--card-radius); }
.card .card-title { font-weight: 600; }

/* Mobile-friendly table: transform rows into cards */
@media (max-width: 576px) {
  .mobile-card-table thead { display: none; }
  .mobile-card-table tr { display: block; margin-bottom: .75rem; background: #fff; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
  .mobile-card-table td { display: flex; justify-content: space-between; padding: .6rem .9rem; border: 0; }
  .mobile-card-table td::before { content: attr(data-label); font-weight: 600; color: #6c757d; }
}

/* Sticky bottom action bar for primary actions on mobile */
.action-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,.95);
  border-top: 1px solid rgba(0,0,0,.06);
  padding: .75rem;
  z-index: 1030;
  backdrop-filter: saturate(120%) blur(4px);
}
@media (min-width: 768px) { .action-bar { display: none; } }

/* Floating action button for quick create */
.fab { position: fixed; right: 16px; bottom: 76px; z-index: 1031; }
.fab .btn { border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,.12); padding: .85rem 1.1rem; font-weight: 600; }
.fab .icon { display:inline-block; width:1.25rem; height:1.25rem; margin-right:.35rem; line-height:1; }
@media (min-width: 992px) { .fab { bottom: 24px; } }

/* Improve touch targets on small inputs/buttons */
@media (max-width: 576px) {
  .form-control-sm { font-size: 1rem; padding: .5rem .75rem; }
  .btn-sm { padding: .5rem .75rem; font-size: 1rem; }
}