:root {
  --sr-navy: #102a43;
  --sr-blue: #1769aa;
  --sr-teal: #0b7a75;
  --sr-surface: #f5f7fa;
}
body { background: var(--sr-surface); color: #243b53; min-height: 100vh; }
.sr-navbar { background: linear-gradient(110deg, var(--sr-navy), #174e7a); box-shadow: 0 3px 18px rgba(16,42,67,.18); }
.sr-eyebrow { color: var(--sr-blue); font-size: .74rem; font-weight: 800; letter-spacing: .13em; }
.card { border: 0; border-radius: .5rem; box-shadow: 0 8px 28px rgba(16,42,67,.08); }
.card-header { background: transparent; border-bottom-color: #e8eef4; font-weight: 700; }
.form-control,.form-select { border-color: #bcccdc; border-radius: .25rem; }
.form-control:not(.form-control-sm),.form-select:not(.form-select-sm) { min-height: 2.75rem; }
.form-control:focus,.form-select:focus { border-color: var(--sr-blue); box-shadow: 0 0 0 .2rem rgba(23,105,170,.13); }
.btn-primary { background: var(--sr-blue); border-color: var(--sr-blue); }

.sr-fraud-reason-picker-menu {
  max-height: min(24rem, calc(100vh - 10rem));
  overflow-y: auto;
}
.sr-fraud-reason-choice {
  padding: .55rem .75rem;
  white-space: normal;
}
.sr-fraud-reason-choice:active .text-secondary { color: rgba(255,255,255,.85) !important; }
.sr-fraud-reason-choice + .sr-fraud-reason-choice { border-top: 1px solid #e8eef4; }
.sr-fraud-reason-picker-toggle { min-height: 2rem; }
.sr-fraud-reason-remove {
  position: absolute;
  right: .65rem;
  top: .65rem;
}

.status-yes { color: #075e54; background: #d7f3ed; font-weight: 700; }
.status-no { color: #7a1f1f; background: #fde4e4; font-weight: 700; }
.status-not_evaluated {  }
.sr-status { display: inline-block; border-radius: 99px; font-size: .78rem; padding: .3rem .65rem; }

.table > :not(caption) > * > * { padding: .85rem .75rem; vertical-align: middle; }
.sr-review-report .table-sm > :not(caption) > * > * { padding: .35rem .45rem; font-size: .875rem; }
.sr-report-history .table-sm > :not(caption) > * > * { padding: .35rem .45rem; font-size: .875rem; }
.sr-batch-failure-report .table-sm > :not(caption) > * > * { padding: .35rem .45rem; font-size: .875rem; }
.sr-batch-list .table-sm > :not(caption) > * > * { padding: .4rem .5rem; font-size: .875rem; }
.sr-review-report th { white-space: nowrap; }
.sr-review-report abbr { cursor: help; text-decoration-style: dotted; text-underline-offset: .15rem; }

.sr-answer-cell { min-width: 3.25rem; }
.sr-answer-cell[data-details-url] { cursor: help; }
.sr-answer-cell:focus { outline: 2px solid rgba(23,105,170,.35); outline-offset: -2px; }
.sr-answer-yes { font-weight: 700; color: #075e54 !important; text-decoration-line: underline;  text-decoration-style: dotted; text-underline-offset: .15rem; }
.sr-answer-no { font-weight: 700; color: #7a1f1f !important; }
.sr-answer-suspected { color: var(--bs-warning) !important; text-decoration-line: underline; text-decoration-style: dotted; text-underline-offset: .15rem; }
.sr-answer-confirmed { color: #b42318 !important; text-decoration-line: underline; text-decoration-style: dotted; text-underline-offset: .15rem; }

.sr-question-divider { border-left: 2px solid #829ab1 !important; }
.sr-question-legend { max-width: 52rem; font-size: .7rem; line-height: 1.2; }
.sr-question-legend-grid { display: inline-grid; grid-template-columns: repeat(3, auto); gap: .2rem .65rem; }
.sr-question-legend-item { display: flex; gap: .3rem; padding: .12rem .3rem; border-left: 2px solid #bcccdc; background: #f8fafc; white-space: nowrap; }

.sr-match-legend { display: inline-flex; gap: .75rem; font-size: .8rem; } 
.sr-match-list { display: flex; flex-direction: column; gap: .25rem; }
.sr-match-report { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .65rem; align-items: start; }
.sr-match-date { white-space: nowrap; font-weight: 600; }
.sr-match-reasons { min-width: 0; overflow-wrap: anywhere; }
.sr-match-reason { font-weight: 400; }
.sr-match-popover { --bs-popover-max-width: 32rem; }
.login-shell { max-width: 520px; margin: 8vh auto; }
@media (max-width: 991px) { .sr-question-legend-grid { grid-template-columns: repeat(2, auto); } }
@media (max-width: 767px) { .table-responsive { border-radius: .75rem; } }
@media (max-width: 575px) { .sr-question-legend-grid { grid-template-columns: auto; } }
