:root {
  --lp-primary: #b84b4f;
  --lp-primary-dark: #92373b;
  --lp-primary-soft: #f8e9ea;
  --lp-secondary: #5d2629;
  --lp-dark: #2a1617;
  --lp-muted: #7a6668;
  --lp-border: rgba(93, 38, 41, .12);
  --lp-shadow: 0 18px 42px rgba(42, 22, 23, .10);
}

html,
body,
body.bg-light {
  color: var(--lp-dark);
  background:
    radial-gradient(circle at top left, rgba(184, 75, 79, .10), transparent 26%),
    radial-gradient(circle at bottom right, rgba(146, 55, 59, .08), transparent 30%),
    linear-gradient(180deg, #fffdfd 0%, #fff7f7 100%) !important;
}

.brand-bar {
  background: rgba(255, 255, 255, .94) !important;
  color: var(--lp-dark) !important;
  border-bottom: 1px solid var(--lp-border) !important;
  box-shadow: 0 10px 28px rgba(42, 22, 23, .07);
  backdrop-filter: blur(10px);
}

.brand-bar .container {
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}

.brand-logo {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(42, 22, 23, .08);
  padding: .18rem;
}

.brand-title {
  color: var(--lp-secondary) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 850 !important;
}

.brand-bar .btn-outline-light {
  color: var(--lp-primary-dark) !important;
  background: #fff !important;
  border: 1px solid rgba(146, 55, 59, .22) !important;
  border-radius: 8px;
  font-weight: 700;
}

.brand-bar .btn-outline-light:hover,
.brand-bar .btn-outline-light:focus {
  background: var(--lp-primary-soft) !important;
  color: var(--lp-secondary) !important;
}

.section-title,
h4.mb-1 {
  color: var(--lp-secondary);
  font-weight: 850;
}

.text-muted {
  color: var(--lp-muted) !important;
}

.card,
.cat-card,
.phase-card {
  border: 1px solid var(--lp-border) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: var(--lp-shadow) !important;
}

.cat-card .card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.btn-primary,
.btn.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--lp-primary), var(--lp-primary-dark)) !important;
  border-color: var(--lp-primary-dark) !important;
  border-radius: 8px;
  font-weight: 750;
  box-shadow: 0 10px 22px rgba(184, 75, 79, .18);
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, var(--lp-primary-dark), #7f2e31) !important;
  border-color: #7f2e31 !important;
}

.badge.bg-secondary,
.badge.bg-secondary-subtle,
.badge.text-bg-secondary {
  color: var(--lp-primary-dark) !important;
  background: var(--lp-primary-soft) !important;
}

.badge.bg-info {
  color: var(--lp-secondary) !important;
  background: #f4d8da !important;
}

.badge.bg-light {
  color: var(--lp-secondary) !important;
  background: #fff6f6 !important;
  border: 1px solid var(--lp-border);
}

.table {
  color: var(--lp-dark);
}

.table-dark,
.table-dark th {
  --bs-table-bg: var(--lp-secondary);
  --bs-table-color: #fff;
  background: var(--lp-secondary) !important;
  color: #fff !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-bg-type: #fff8f8;
}

.table-hover > tbody > tr:hover > * {
  --bs-table-bg-state: #fff0f1;
}

.table-success {
  --bs-table-bg: #f3faf4;
  --bs-table-color: var(--lp-dark);
}

.table-danger {
  --bs-table-bg: #fff3f3;
  --bs-table-color: var(--lp-dark);
}

.badge.bg-primary {
  background: var(--lp-primary-dark) !important;
}

.logo-equipo {
  border: 1px solid rgba(93, 38, 41, .16);
  background: #fff;
}

.pen-chip {
  background: #fff4d6 !important;
  color: #8a6200 !important;
}

footer.public-footer,
.public-footer {
  border-top: 1px solid var(--lp-border) !important;
}

@media (max-width: 576px) {
  .brand-logo {
    width: 40px !important;
    height: 40px !important;
  }

  .brand-title {
    font-size: .95rem !important;
  }
}
