:root {
  --brand: #146c94;
  --brand-contrast: #ffffff;
}

.navbar-brand { color: var(--brand); }
.nav-tabs .nav-link.active {
  background-color: var(--brand);
  color: var(--brand-contrast);
}
.form-section {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  padding: 1rem;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}
.section-title {
  font-size: 1rem;
  font-weight: 600;
  color: #374151;
  margin-bottom: .5rem;
}
table.table td, table.table th { vertical-align: middle; }


.provision-support-rows {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.provision-row {
  display: grid;
  grid-template-columns: minmax(70px, 110px) minmax(380px, 1fr) repeat(3, minmax(80px, 110px));
  gap: 0.5rem;
  align-items: start;
  padding: 0.75rem;
  border-radius: 0.75rem;
}

.provision-row-label {
  font-weight: 700;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  height: 100%;
}

.provision-row-notes textarea {
  min-height: 90px;
}

.provision-row-minutes-group {
  display: contents;
}

.provision-minute {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.provision-minute label {
  font-weight: 600;
  font-size: 0.8rem;
  margin-bottom: 0;
}

.provision-minute input {
  text-align: center;
  padding: 0.3rem 0.4rem;
  max-width: 110px;
}

.provision-row.category-ci { background-color: #fff7b0; }
.provision-row.category-semh { background-color: #d5ebff; }
.provision-row.category-cl { background-color: #dff9d8; }
.provision-row.category-pn { background-color: #ffe5d5; }
.provision-row.category-movement { background-color: #f1f1f1; }
.provision-row.category-other { background-color: #f9ddf9; }

@media (max-width: 992px) {
  .provision-row {
    grid-template-columns: minmax(70px, 90px) 1fr;
  }
  .provision-row-minutes-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(60px, 1fr));
    gap: 0.5rem;
    grid-column: 1 / -1;
  }
  .provision-minute {
    align-items: stretch;
  }
}

.provision-minute-breakdown {
  min-width: 160px;
}

.provision-minute-breakdown .d-flex span.text-muted {
  font-size: 0.8rem;
}

.provision-minute-breakdown .fw-semibold {
  font-size: 0.85rem;
}
