body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; }
#wrapper { min-height: 100vh; }
.sidebar { width: 250px; min-height: 100vh; transition: margin .25s; flex-shrink: 0; }
.sidebar .nav-item-link { border-radius: .5rem; margin: 2px 0; }
.sidebar .nav-item-link:hover { background: rgba(255,255,255,.1); }
.sidebar-toggled .sidebar { margin-left: -250px; }
@media (max-width: 767.98px) {
    .sidebar { margin-left: -250px; }
    .sidebar-toggled .sidebar { margin-left: 0; }
}
.stat-card { border: none; border-radius: 1rem; color: #fff; box-shadow: 0 .25rem 1rem rgba(0,0,0,.08); }
.stat-card i { font-size: 2rem; opacity: .85; }
.table thead th { background: #f8f9fa; white-space: nowrap; }
.card { border-radius: 1rem; }
.btn { border-radius: .5rem; }
.badge { font-size: .75rem; }
@media print {
    .sidebar, nav.navbar, .no-print, .btn, form { display: none !important; }
    #content { margin: 0 !important; padding: 0 !important; }
    body { background: #fff !important; }
    .card { border: none !important; box-shadow: none !important; }
}

/* --- PWA extras --- */
#offlineBadge {
    position: sticky;
    top: 0;
    z-index: 1050;
    border-radius: 0;
}
.app-offline .btn[type="submit"] { opacity: .9; }
.pwa-install-card { border: 2px dashed #dee2e6; }
.pwa-qr { max-width: 180px; }