@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro-Regular.eot');
    src: url('../fonts/SourceSansPro-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro-Regular.woff2') format('woff2'),
        url('../fonts/SourceSansPro-Regular.woff') format('woff'),
        url('../fonts/SourceSansPro-Regular.svg#SourceSansPro-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ---------------- Brand Color System ---------------- */
:root {
  /* Main red palette (from slash) */
  --brand-500: #E5172C;
  --brand-600: #C61426;
  --brand-700: #A1101F;
  --brand-050: #FFF2F4;
  --brand-100: #FCE8EA;

  --text-on-brand: #ffffff;
  --text-strong: #212529;
  --text-muted: #6c757d;
}

/* ---------------- Layout & Typography ---------------- */
body {
    position: relative;
    padding-bottom: 70px;
    font-family: 'Source Sans Pro', sans-serif;
}

.big-group {
    background-color: var(--brand-050);
    padding: 1em;
    border-radius: 0.5em;
}

.small-group {
    background-color: var(--brand-100);
    padding: 0.5em;
    border-radius: 0.5em;
}

.navbar-nav li {
    margin-right: 12px;
}

.legend li span {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 5px;
}

.legend li {
    display: inline;
    list-style-type: none;
    margin-right: 10px;
}

canvas {
    width: 100%;
    height: 100%;
    display: block;
}

.nav-link {
    font-size: 12pt;
}

h1 {
    padding-top: 2em;
}
  
.form-group a {
    margin-left: 10px;
}

div .w-100 {
    margin-bottom: 1%;
}

legend {
    font-size: 13pt !important;
}

hr {
    border-top: 1px solid black;
}

/* ---------------- Navbar & Footer ---------------- */
.navbar,
footer {
    background-color: var(--brand-600) !important;
    color: var(--text-on-brand);
}

.navbar .navbar-brand,
.navbar .nav-link {
    color: rgba(255, 255, 255, 0.96) !important;
    font-weight: 600;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: #fff !important;
    text-decoration: underline;
}

/* ---------------- Buttons ---------------- */
.btn-primary {
    background-color: var(--brand-500);
    border-color: var(--brand-500);
    color: var(--text-on-brand);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-600);
    border-color: var(--brand-600);
}

.btn-outline-primary {
    color: var(--brand-600);
    border-color: var(--brand-500);
}
.btn-outline-primary:hover {
    background-color: var(--brand-050);
    color: var(--brand-700);
    border-color: var(--brand-600);
}

/* ---------------- "All" / "Clear" Links ---------------- */
#dsgeAll, #tsAll, #externalAll, #scenarioAll {
    color: var(--brand-700);
    font-weight: 600;
    margin-left: .5rem;
}
#dsgeClear, #tsClear, #externalClear, #scenarioClear {
    color: var(--text-muted);
    margin-left: .5rem;
}
#dsgeAll:hover, #tsAll:hover, #externalAll:hover, #scenarioAll:hover {
    color: var(--brand-500);
    text-decoration: underline;
}
#dsgeClear:hover, #tsClear:hover, #externalClear:hover, #scenarioClear:hover {
    color: #495057;
    text-decoration: underline;
}

/* ---------------- Tick Boxes ---------------- */
.form-check-input {
    accent-color: var(--brand-500);
}
.form-check-input:focus {
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(229, 23, 44, .25);
}

/* ---------------- Tooltips ---------------- */
.tooltip .tooltip-inner {
    background-color: var(--brand-500) !important;
    color: #fff !important;
}
.bs-tooltip-top .arrow::before,
.bs-tooltip-bottom .arrow::before,
.bs-tooltip-left .arrow::before,
.bs-tooltip-right .arrow::before {
    border-color: var(--brand-500) !important;
}
/* ---------------- Datepicker / Input / Focus / Range Fix ---------------- */

/* Make Bootstrap form elements use brand color instead of blue */
.form-control:focus,
.btn-check:focus + .btn,
.btn:focus,
.btn.active,
.btn.show {
  border-color: var(--brand-500) !important;
  box-shadow: 0 0 0 .25rem rgba(229, 23, 44, 0.25) !important;
}

/* Fix dropdown button borders (like Vintage dates) */
.btn-outline-primary,
.btn-primary,
.dropdown-toggle {
  border-color: var(--brand-500) !important;
}
.btn-outline-primary:hover,
.dropdown-toggle:hover {
  border-color: var(--brand-600) !important;
  background-color: var(--brand-050) !important;
}

/* Override Bootstrap's primary highlights (blue) */
.btn-primary:active,
.btn-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:focus {
  background-color: var(--brand-600) !important;
  border-color: var(--brand-600) !important;
}

/* Fix text color inside range/date inputs */
input[type="text"]:focus,
input[type="date"]:focus {
  border-color: var(--brand-500) !important;
  box-shadow: 0 0 0 0.2rem rgba(229, 23, 44, 0.25) !important;
}

/* Override the blue borders inside bootstrap-datepicker or flatpickr */
.flatpickr-calendar,
.bootstrap-datetimepicker-widget {
  --bs-primary: var(--brand-500) !important;
  --bs-primary-rgb: 229, 23, 44 !important;
}

/* For checked / selected items (like 'Latest', 'Add range' buttons) */
.btn-check:checked + .btn,
.btn-check:active + .btn,
.btn.active,
.btn.show {
  background-color: var(--brand-500) !important;
  border-color: var(--brand-500) !important;
  color: #fff !important;
}

/* Highlighted range or selected cells (Bootstrap datepickers) */
.table-condensed td.active,
.table-condensed td.active:hover,
.table-condensed td.range,
.table-condensed td.range:hover {
  background-color: var(--brand-500) !important;
  border-color: var(--brand-500) !important;
  color: #fff !important;
}

/* Remove any residual blue focus rings */
*:focus {
  outline-color: var(--brand-500) !important;
}
/* ---------------- Badge / Counter Fix ---------------- */

/* Replace blue badge with brand red */
.badge-primary,
.bg-primary {
  background-color: var(--brand-500) !important;
  color: var(--text-on-brand) !important;
}

/* Slightly darker on hover or active */
.badge-primary:hover,
.bg-primary:hover {
  background-color: var(--brand-600) !important;
}

/* If using Bootstrap 5's new utilities */
.text-bg-primary {
  background-color: var(--brand-500) !important;
  color: var(--text-on-brand) !important;
}
/* Tooltip styling (shared across pages) */
.tooltip .tooltip-inner {
  background-color: var(--brand-500) !important;
  color: #fff !important;
  font-size: 0.85rem;
  border-radius: 6px;
  padding: 6px 10px;
  max-width: 250px;
  text-align: left;
}
.tooltip .tooltip-inner .tt-title {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: .25rem;
  line-height: 1.1;
}
.tooltip .tooltip-inner .tt-desc { font-size: 0.85rem; opacity: .95; }
.bs-tooltip-top .arrow::before    { border-top-color: var(--brand-500) !important; }
.bs-tooltip-bottom .arrow::before { border-bottom-color: var(--brand-500) !important; }
.bs-tooltip-left .arrow::before   { border-left-color: var(--brand-500) !important; }
.bs-tooltip-right .arrow::before  { border-right-color: var(--brand-500) !important; }
