
/* Mobile-first enhancements */
:root{
  --brand:#1e40af; /* blue-800 */
  --brand-600:#2563eb;
}

/* Make tables scrollable on small screens */
.table-wrap{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-wrap table{
  min-width: 640px; /* prevent cramping */
}

/* Mobile bottom nav (hidden ≥ md) */
.mobile-bottom-nav{
  position: fixed;
  left:0; right:0; bottom:0;
  z-index:40;
  background:#ffffff;
  border-top:1px solid #e5e7eb;
}

/* Offcanvas sidebar */
.sidebar{
  transition: transform .25s ease;
}
.sidebar.closed{
  transform: translateX(-100%);
}
@media (min-width: 768px){
  .sidebar.closed{
    transform: translateX(0);
  }
}

/* Improve tap targets */
button, a, [role="button"]{
  -webkit-tap-highlight-color: transparent;
}

/* Cards subtle shadow */
.card{
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
}

/* Utility for safe area on iOS bottom */
.pb-safe{
  padding-bottom: calc(env(safe-area-inset-bottom) + 0.75rem);
}


/* --- Desktop scrollbar override --- */
@media (min-width:1100px){
  .table-wrap{ overflow-x: visible !important; }
  .table-wrap table{ min-width: 0 !important; }
  div[style*="overflow-x:auto"]{ overflow-x: visible !important; }
  .table{ table-layout: auto; width: 100%; }
}

@media (min-width:1100px){
  .table-wrap{ overflow-x: visible !important; }
  .table-wrap table{ min-width: 0 !important; }
}
