.alert {
  margin-bottom: 0rem;
}

div.dt-buttons {
    position: relative;
    float: right;
}

.dataTables_length {
  float: left;
}

/* Make nav links violet by default */
.navbar .nav-link.text-primary {
  color: #796AEE !important;
}

/* Keep them violet on hover/focus too */
.navbar .nav-link.text-primary:hover,
.navbar .nav-link.text-primary:focus {
  color: #503ce9 !important;
}

/* Style the active pill */
.nav-pills .nav-link.active.text-primary {
  background-color: #6f42c1 !important;
  color: #fff !important;
}
/* Home page chart filters */
.bra-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.bra-filter label {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8a8d93;
  margin-bottom: 0.2rem;
}

.bra-filter .form-control {
  font-size: 0.8rem;
  border-radius: 10px;
}


@media (max-width: 575px) {
  .bra-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Menu items shown greyed out to logged-out visitors */
.login-required {
  opacity: 0.6;
}

/* Home page chart while filters are loading */
#bra-performance.htmx-request {
  opacity: 0.5;
  transition: opacity 0.2s;
}

/* Package tier colours (packages and package rounds pages): set --tier and --tier-soft */
.tier-bronze { --tier: #CD7F32; --tier-soft: #f8ece0; }
.tier-silver { --tier: #A8A9AD; --tier-soft: #f1f1f3; }
.tier-gold   { --tier: #D4AF37; --tier-soft: #fbf4dc; }
.tier-other  { --tier: #796AEE; --tier-soft: #efecfd; }

/* Bra performance category badges (round report, package rounds); !important so
   the colours survive Bootstrap's print styles */
.category-badge {
  font-size: 0.85em;
  font-weight: 600;
  padding: 0.35em 0.6em;
}
.category-high { background-color: #d4f5e2 !important; color: #146c43; }
.category-mid  { background-color: #fff0c2 !important; color: #8a6100; }
.category-low  { background-color: #e9ecef !important; color: #495057; }

/* Breadcrumbs inside the page header: drop the theme's 15px padding so these headers
   are the same height as the home page's (which has no breadcrumb) */
.page-header .breadcrumb {
  padding-top: 0;
  padding-bottom: 0;
}

/* Rounded corners on the main white boxes. 1rem matches the bra and package pages' cards */
:root {
  --box-radius: 1rem;
}
#dashboard-stats,              /* home: stats strip */
.content-inner .card,          /* cards on every page */
section.bg-white {             /* round report: section boxes */
  border-radius: var(--box-radius);
}
.content-inner .card > .card-header:first-child {
  border-radius: var(--box-radius) var(--box-radius) 0 0;
}
/* Services cards: clip the coloured status bar along the top to the rounded corners */
.content-inner .card:has(> .card-status) {
  overflow: hidden;
}

/* Side navbar: tighter spacing now there's no "Main Menu" heading */
nav.side-navbar .sidebar-header {
  padding: 20px 15px 10px;
}
nav.side-navbar ul {
  padding-top: 5px;
}

/* Top bar: leaner than the theme's 15px padding */
nav.navbar {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Home stats strip: leaner than the theme's (less padding, two-line labels).
   Labels share one width so the numbers line up in every item */
section.dashboard-counts #dashboard-stats {
  padding: 10px 15px;
}
section.dashboard-counts div[class*='col-'] .item {
  padding: 8px 0;
}
section.dashboard-counts .title {
  flex: 0 0 8.5em;
  font-size: 0.95em;
  line-height: 1.3;
  margin: 0 12px;
}
