html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.navbar-brand img { height: 28px; width: auto; }

/* While a POST is in flight its submit buttons gray out (site.js adds this;
   pointer-events blocks extra clicks without the disabled attribute, which
   could drop the button from the form data mid-submit). */
.btn-posting { pointer-events: none; opacity: .55; }

/* Clickable list rows (packages, quotes, parts). */
tr.row-link { cursor: pointer; }

/* Part editor: rows of inline-edit inputs in a table. */
.item-table td { vertical-align: middle; }
.item-table .form-control, .item-table .form-select { min-width: 6rem; }
.item-table td:first-child .form-control { min-width: 16rem; }
.item-table .item-actions { white-space: nowrap; width: 1%; }
.item-table tr.item-new { --bs-table-bg: var(--bs-secondary-bg-subtle); }

/* Aux components sit under their aux equipment row. */
.aux-components { border-left: 3px solid var(--bs-border-color); padding-left: .75rem; margin: .25rem 0 1rem 1rem; }

/* Package change log. */
.log-list { max-height: 22rem; overflow-y: auto; }
.log-list .log-when { font-size: .8rem; color: var(--bs-secondary-color); white-space: nowrap; }

/* The formula a value feeds, shown above its input. */
.formula { font-size: .72rem; line-height: 1.2; color: var(--bs-secondary-color); font-family: var(--bs-font-monospace); margin-bottom: .2rem; }
.formula:empty { display: none; }

/* Cost tab: labels left with their formula under them, numbers right. */
.cost-table th { font-weight: 500; }
.cost-table td { white-space: nowrap; vertical-align: top; }

/* Quote summary: labels stay put while the parts scroll sideways. */
.summary-table .sticky-col { position: sticky; left: 0; background: var(--bs-body-bg); z-index: 1; min-width: 14rem; }
.summary-table td, .summary-table thead th { min-width: 8.5rem; }
.summary-table .section-row { font-weight: 700; color: var(--bs-emphasis-color); background: var(--bs-tertiary-bg); }
.summary-table .total-col { background: var(--bs-tertiary-bg); }

/* Meaning of an acronym, beside it (Glossary.Label). */
.acr { font-size: .75em; font-weight: 400; color: var(--bs-secondary-color); white-space: nowrap; }
