/* Application shell: fixed sidebar on large screens, offcanvas menu below. */
:root { --sidebar-width: 230px; }
.app-nav .nav-link { color: var(--bs-body-color); border-radius: .375rem; padding: .4rem .75rem; }
.app-nav .nav-link:hover { background: var(--bs-secondary-bg); }
.app-nav .nav-link.active { background: var(--bs-primary); color: #fff; }
.app-nav .nav-heading { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bs-secondary-color); margin: .9rem .75rem .25rem; }
@media (min-width: 992px) {
  .app-sidebar { position: fixed; top: 56px; bottom: 0; left: 0; width: var(--sidebar-width); overflow-y: auto; border-right: 1px solid var(--bs-border-color); }
  .app-main { margin-left: var(--sidebar-width); }
}
.login-card { max-width: 24rem; }
.table > :not(caption) > * > * { padding-top: .6rem; padding-bottom: .6rem; }
.min-w-0 { min-width: 0; }
.org-tree, .org-tree ul { list-style: none; padding-left: 1.25rem; border-left: 1px solid var(--bs-border-color); }
.org-tree { border-left: 0; padding-left: 0; }
.org-tree li { margin: .35rem 0; }
.stat-tile .fs-2 { line-height: 1.1; }
.map-box { width: 100%; max-width: 640px; aspect-ratio: 4 / 3; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: .5rem; }
.kiosk-wrap { max-width: 28rem; }
@media print { .app-sidebar, header.navbar, .no-print { display: none !important; } .app-main { margin: 0 !important; } }
.w-6rem { max-width: 6rem; }
.mw-40 { max-width: 40rem; }
.mw-44 { max-width: 44rem; }
.mw-48 { max-width: 48rem; }
.prog-0 { width: 0%; }
.prog-5 { width: 5%; }
.prog-10 { width: 10%; }
.prog-15 { width: 15%; }
.prog-20 { width: 20%; }
.prog-25 { width: 25%; }
.prog-30 { width: 30%; }
.prog-35 { width: 35%; }
.prog-40 { width: 40%; }
.prog-45 { width: 45%; }
.prog-50 { width: 50%; }
.prog-55 { width: 55%; }
.prog-60 { width: 60%; }
.prog-65 { width: 65%; }
.prog-70 { width: 70%; }
.prog-75 { width: 75%; }
.prog-80 { width: 80%; }
.prog-85 { width: 85%; }
.prog-90 { width: 90%; }
.prog-95 { width: 95%; }
.prog-100 { width: 100%; }
.progress-bar[class*="prog-"] { background: var(--bs-primary); }
