body { min-height: 100vh; }
.badge-priority-normal { background-color: #6c757d; }
.badge-priority-attention { background-color: #0d6efd; }
.badge-priority-high { background-color: #fd7e14; }
.badge-priority-critical { background-color: #dc3545; }
.recon-grid td { vertical-align: middle; }
.recon-cell { cursor: pointer; }
@media (max-width: 576px) {
    .table-responsive-stack thead { display: none; }
    .table-responsive-stack tr { display: block; margin-bottom: 0.75rem; border: 1px solid #dee2e6; border-radius: 0.375rem; padding: 0.5rem; }
    .table-responsive-stack td { display: flex; justify-content: space-between; border: none; padding: 0.25rem 0.25rem; }
    .table-responsive-stack td::before { content: attr(data-label); font-weight: 600; margin-right: 1rem; color: #6c757d; }
}
.navbar.bg-dark { background-color: #4695a4 !important; }
.btn-primary { background-color: #4695a4; border-color: #4695a4; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background-color: #3b7f8b; border-color: #3b7f8b; }
main h3, main h3 i { color: #4695a4; }
/* Financial accounts grid: an unselected entry-select would otherwise size
   itself to its widest option (e.g. "Account defaulted"); half that width
   is plenty once a narrow value is chosen or nothing is selected yet. */
.entry-select { width: 5.5em; }
/* Light zebra striping across just the 12 month columns (Status, Login, and
   Account, the first three columns, are left plain) so it's easy to track a
   month across many account rows. */
.financial-accounts-table thead th:nth-child(n+4):nth-child(even),
.financial-accounts-table tbody > tr > td:nth-child(n+4):nth-child(even) {
    background-color: #f2f2f2;
}
.edit-entry-btn i { color: #4695a4; }
.form-check-input:checked { background-color: #4695a4; border-color: #4695a4; }
/* /admin/settings 3-handle threshold sliders (priority score, unanswered
   email business days): 3 draggable handles over a track whose background
   gradient is recomputed in JS on every drag — gray (normal) / green
   (attention) / yellow (high) / red (critical). */
.threshold-slider { position: relative; height: 2rem; margin: 0.5rem 0 0.25rem; }
.threshold-slider-track {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 8px;
    transform: translateY(-50%);
    border-radius: 4px;
    background: #6c757d;
}
.threshold-slider-handle {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-left: -9px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #fff;
    border: 2px solid #4695a4;
    cursor: grab;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
.threshold-slider-handle:active { cursor: grabbing; }
.threshold-slider-handle:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(70, 149, 164, 0.4);
}
