body { background: #f4f6fb; }
.sidebar { width: 240px; min-height: 100vh; background: #1e2a44; color: #fff; flex-shrink: 0; }
.sidebar .brand { font-size: 1.25rem; font-weight: 600; padding: .25rem .5rem; }
.sidebar .nav-link { color: #c5cde0; border-radius: .5rem; padding: .45rem .75rem; }
.sidebar .nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.sidebar .nav-link.active { background: #3b82f6; color: #fff; }
.content { padding: 1.25rem; min-width: 0; }
.stat-card { border: 0; border-left: 4px solid #3b82f6; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.stat-card .value { font-size: 1.5rem; font-weight: 600; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.table th { white-space: nowrap; font-size: .8rem; text-transform: uppercase; color: #6b7280; }
.member-box { transition: box-shadow .15s, transform .15s; }
.member-box:hover { box-shadow: 0 .25rem .75rem rgba(0,0,0,.08); transform: translateY(-1px); }
/* Sticky table headers: list tables scroll inside the card so the column header stays visible */
.card > .table-responsive { max-height: calc(100vh - 140px); overflow-y: auto; }
.card > .table-responsive > .table > thead th { position: sticky; top: 0; z-index: 3; background: #fff; box-shadow: inset 0 -1px 0 #dee2e6; }
.progress { min-width: 110px; }
.progress-bar { font-size: .7rem; }
.form-section { border: 1px solid #e5e7eb; border-radius: .6rem; padding: 1rem 1rem 1.1rem; margin-bottom: 1rem; background: #fcfcfd; }
.form-section .section-title { font-weight: 600; margin-bottom: .85rem; padding-bottom: .5rem; border-bottom: 1px solid #e5e7eb; color: #1e2a44; }
.login-wrap { max-width: 400px; margin: 8vh auto; }
@media (min-width: 992px) { aside.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; } .content { padding: 1.5rem 1.75rem; } }
.offcanvas.sidebar { width: 260px; min-height: 0; }

.ts-dropdown { z-index: 2000; }   /* above Bootstrap modals (1055) */
.member-box-on { outline: 2px solid #0d6efd; background: #f0f6ff; }
