html {
  font-size: 14px;
}

:root {
  --bs-primary: #198754;
  --bs-primary-rgb: 25, 135, 84;
  --bs-link-color: #146c43;
  --bs-link-color-rgb: 20, 108, 67;
  --bs-link-hover-color: #0f5132;
  --bs-link-hover-color-rgb: 15, 81, 50;
  --idsales-success-soft: #d1e7dd;
  --idsales-success-border: #a3cfbb;
}

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

.btn-primary {
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-outline-primary {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #146c43;
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.pagination {
  --bs-pagination-active-bg: #198754;
  --bs-pagination-active-border-color: #198754;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--idsales-success-border);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

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

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.implementation-timeline {
  display: grid;
  gap: 2rem;
}

.implementation-month {
  padding-top: 0.5rem;
  border-top: 2px solid var(--idsales-success-border);
}

.implementation-week {
  border: 1px solid var(--idsales-success-border);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.implementation-week-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: var(--idsales-success-soft);
}

.implementation-delivered td {
  background-color: #f8fbf9;
  color: #5f6f66;
}

.implementation-calendar-table {
  table-layout: fixed;
  min-width: 1040px;
}

.implementation-calendar-table th {
  white-space: nowrap;
}

.implementation-calendar-date {
  width: 110px;
}

.implementation-calendar-customer {
  width: 170px;
}

.implementation-calendar-description {
  width: auto;
}

.implementation-calendar-quantity {
  width: 92px;
}

.implementation-calendar-term {
  width: 82px;
}

.implementation-calendar-delivery {
  width: 170px;
}

.implementation-calendar-document {
  width: 190px;
}
