/* =====================================================================
   Calibration Portal — styles (mobile-first, responsive)
   ===================================================================== */

:root {
  --vc-accent: #14439b;
  --vc-accent-dark: #0d2f6b;
}

body {
  background: #f6f7f9;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  /* Allow long URLs/emails to wrap on phones */
  overflow-wrap: anywhere;
  word-wrap: break-word;
}

/* --- Navbar ----------------------------------------------------------- */
.navbar-brand i { color: #ffc107; }
.navbar .nav-link { padding-top: .65rem; padding-bottom: .65rem; }
.navbar .badge { font-size: .65rem; vertical-align: middle; }

/* On phones, give the collapsed menu items more breathing room for tapping */
@media (max-width: 991.98px) {
  .navbar-collapse .nav-link {
    padding-top: .9rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
}

/* --- Main container --------------------------------------------------- */
main.container-fluid { max-width: 1400px; }

@media (max-width: 575.98px) {
  main.container-fluid { padding-left: .75rem; padding-right: .75rem; }
  h1.h3 { font-size: 1.3rem; }
}

/* --- Instrument cards ------------------------------------------------- */
.card-instrument {
  border-left: 4px solid var(--bs-secondary);
  transition: transform .15s, box-shadow .15s;
}
.card-instrument:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
}
.card-instrument.border-danger  { border-left-color: var(--bs-danger); }
.card-instrument.border-warning { border-left-color: var(--bs-warning); }
.card-instrument.border-info    { border-left-color: var(--bs-info); }
.card-instrument.border-success { border-left-color: var(--bs-success); }

.card-instrument .card-title {
  font-size: 1rem;
  line-height: 1.25;
  min-height: 2.5em;
}

@media (max-width: 575.98px) {
  .card-instrument .card-title { min-height: 0; font-size: 1.05rem; }
  .card-instrument .card-body { padding: .9rem; }
  .card-instrument .card-footer { padding: .5rem; }
}

/* Touch-friendly action buttons on the card footer */
.card-instrument .card-footer .btn { padding: .35rem .55rem; }
.card-instrument .card-footer form { margin: 0; }

/* --- Filter tabs ----------------------------------------------------- */
.btn-group.flex-wrap { gap: .25rem; }
.btn-group.flex-wrap .btn { border-radius: .375rem !important; }

@media (max-width: 575.98px) {
  .btn-group.flex-wrap { display: flex; }
  .btn-group.flex-wrap .btn {
    flex: 1 0 calc(50% - .25rem);
    text-align: center;
  }
}

/* --- Tables ---------------------------------------------------------- */
.table-responsive { -webkit-overflow-scrolling: touch; }

@media (max-width: 575.98px) {
  .table { font-size: .85rem; }
  .table td, .table th { padding: .4rem; }
}

/* --- Forms ----------------------------------------------------------- */
.form-control, .form-select { font-size: 1rem; }
@media (max-width: 575.98px) {
  .card-body.row.g-3 { gap: .5rem 0; }
}

/* --- Misc ------------------------------------------------------------ */
code {
  color: var(--vc-accent);
  font-size: .9em;
  word-break: break-all;
}
.table-sm code { font-size: .85em; }

footer { font-size: .85rem; }

/* Print-friendly */
@media print {
  nav, footer, .btn, form { display: none !important; }
  body { background: #fff; }
}
