/* MNDC SMS — minimal custom styles */

body { font-size: 0.9rem; }

.hover-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
}
.hover-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
}

.table-sm td, .table-sm th { padding: .35rem .5rem; }

.loading-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Mobile responsiveness ──────────────────────────────────────────────── */

/* Tighten container padding on small screens */
@media (max-width: 576px) {
  main.container-fluid { padding-left: .75rem; padding-right: .75rem; }

  /* Wizard cards — reduce padding */
  .card-body { padding: .875rem; }
  .card-header { padding: .625rem .875rem; }

  /* Progress stats — smaller font on tiny screens */
  .fw-bold.fs-3 { font-size: 1.4rem !important; }

  /* Button groups in attendance mark table — compact */
  .btn-group-sm > .btn { padding: .2rem .45rem; font-size: .75rem; }

  /* Navbar brand — slightly smaller */
  .navbar-brand { font-size: .95rem; }

  /* History table — hide less critical columns on XS */
  .history-hide-xs { display: none !important; }
}

/* Sticky top header in attendance table only when not on mobile
   (sticky-top breaks horizontal scroll on iOS Safari) */
@media (max-width: 767px) {
  #contactsTable thead.sticky-top th {
    position: static;
  }
}

/* Prevent long template/message text breaking layouts */
.text-break-word { word-break: break-word; }

/* Input group labels — truncate gracefully */
.input-group-text { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
