/* Invoice Tracker — custom styles */

body {
  font-size: .9rem;
}

.sortable-col a {
  white-space: nowrap;
}

#invoice-table thead th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6c757d;
  white-space: nowrap;
  vertical-align: middle;
}

.cursor-pointer,
.cursor-pointer td {
  cursor: pointer;
}

#invoice-table tbody tr.cursor-pointer:hover td {
  background-color: rgba(13, 110, 253, .06);
}

.font-monospace {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

/* Drop zone */
#drop-zone {
  transition: background .15s, border-color .15s;
}
#drop-zone.drag-over {
  background: rgba(13, 110, 253, .06);
  border-color: #0d6efd !important;
}

/* Stat cards */
.card .fs-4 {
  line-height: 1.2;
}

/* Filter sidebar labels */
.card-header.bg-white {
  font-size: .85rem;
}

/* Compact filter form */
#filter-form .form-control-sm,
#filter-form .form-select-sm {
  font-size: .82rem;
}

/* Badge tweaks */
.badge {
  font-weight: 500;
  font-size: .72rem;
}

/* Modal attachment rows */
#attachment-list .border {
  transition: background .1s;
}
#attachment-list .border:hover {
  background: #f8f9fa;
}

/* htmx loading indicator */
.htmx-indicator {
  display: none;
}
.htmx-request .htmx-indicator {
  display: inline-block;
}
