:root {
  --bs-primary: #ee235c;
  --bs-primary-rgb: 238, 35, 92;
  --bs-primary-bg-subtle: #fde6ec;
  --bs-primary-border-subtle: #f9b7c7;
  --bs-primary-text-emphasis: #c4144a;

  --bs-secondary: #6b7280;
  --bs-secondary-rgb: 107, 114, 128;
  --bs-secondary-bg-subtle: #eef0f2;
  --bs-secondary-border-subtle: #d5d9de;
  --bs-secondary-text-emphasis: #4b515c;

  --bs-success: #17a06a;
  --bs-success-rgb: 23, 160, 106;
  --bs-success-bg-subtle: #e3f6ed;
  --bs-success-border-subtle: #a9e4c8;
  --bs-success-text-emphasis: #0f7a50;

  --bs-info: #17bdd4;
  --bs-info-rgb: 23, 189, 212;
  --bs-info-bg-subtle: #e0f7fb;
  --bs-info-border-subtle: #a5e8f2;
  --bs-info-text-emphasis: #0b7684;

  --bs-warning: #ffb020;
  --bs-warning-rgb: 255, 176, 32;
  --bs-warning-bg-subtle: #fff3d9;
  --bs-warning-border-subtle: #ffdd9e;
  --bs-warning-text-emphasis: #9a6a00;

  --bs-danger: #d438e5;
  --bs-danger-rgb: 212, 56, 229;
  --bs-danger-bg-subtle: #fde9e9;
  --bs-danger-border-subtle: #f5b5b6;
  --bs-danger-text-emphasis: #b02494;

  --bs-link-color: var(--bs-primary-text-emphasis);
  --bs-link-color-rgb: 196, 20, 74;
  --bs-link-hover-color: var(--bs-primary);
  --bs-link-hover-color-rgb: var(--bs-primary-rgb);
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
  --bs-btn-bg: var(--lb-tinta);
  --bs-btn-border-color: var(--lb-tinta);
  --bs-btn-hover-bg: var(--lb-tinta-scura);
  --bs-btn-hover-border-color: var(--lb-tinta-scura);
  --bs-btn-active-bg: var(--lb-tinta-scura);
  --bs-btn-active-border-color: var(--lb-tinta-scura);
  --bs-btn-disabled-bg: var(--lb-tinta);
  --bs-btn-disabled-border-color: var(--lb-tinta);
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger {
  --bs-btn-color: var(--lb-tinta-scura);
  --bs-btn-border-color: var(--lb-tinta);
  --bs-btn-hover-bg: var(--lb-tinta);
  --bs-btn-hover-border-color: var(--lb-tinta);
  --bs-btn-active-bg: var(--lb-tinta-scura);
  --bs-btn-active-border-color: var(--lb-tinta-scura);
  --bs-btn-disabled-color: var(--lb-tinta);
  --bs-btn-disabled-border-color: var(--lb-tinta);
}

.btn-primary,
.btn-outline-primary {
  --lb-tinta: var(--bs-primary);
  --lb-tinta-scura: var(--bs-primary-text-emphasis);
}

.btn-secondary,
.btn-outline-secondary {
  --lb-tinta: var(--bs-secondary);
  --lb-tinta-scura: var(--bs-secondary-text-emphasis);
}

.btn-success,
.btn-outline-success {
  --lb-tinta: var(--bs-success);
  --lb-tinta-scura: var(--bs-success-text-emphasis);
}

.btn-info,
.btn-outline-info {
  --lb-tinta: var(--bs-info);
  --lb-tinta-scura: var(--bs-info-text-emphasis);
}

.btn-warning,
.btn-outline-warning {
  --lb-tinta: var(--bs-warning);
  --lb-tinta-scura: var(--bs-warning-text-emphasis);
}

.btn-danger,
.btn-outline-danger {
  --lb-tinta: var(--bs-danger);
  --lb-tinta-scura: var(--bs-danger-text-emphasis);
}

.nav-pills {
  --bs-nav-pills-link-active-bg: var(--bs-primary);
}

.nav-underline {
  --bs-nav-underline-link-active-color: var(--bs-primary);
}

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

.form-check-input:focus,
.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary-border-subtle);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.btn:focus-visible,
.btn-check:focus-visible + .btn {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

body {
  min-height: 100vh;
  padding-top: 4.5rem;
}

main {
  flex: 1 0 auto;
}

.page-header {
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.page-actions:empty {
  display: none;
}

.navbar-brand {
  font-weight: 600;
}

.footer {
  flex-shrink: 0;
}

.nav-link.giorno-assente {
  color: var(--bs-secondary-color);
  font-style: italic;
}

.nav-link.giorno-assente:hover,
.nav-link.giorno-assente:focus {
  color: var(--bs-body-color);
}

.nav-pills .nav-link.giorno-assente.active {
  color: var(--bs-body-color);
  background-color: var(--bs-secondary-bg);
}

@media (max-width: 767.98px) {
  body {
    padding-top: 3.5rem;
  }
}
