body { background: #f3f4f6; }
.sidebar { background: #1f2937; min-height: calc(100vh - 56px); }
.sidebar .nav-link { color: #d1d5db; border-radius: 8px; padding: .6rem .8rem; margin-bottom: 2px; }
.sidebar .nav-link:hover { background: #374151; color: #fff; }
.sidebar .nav-link.active { background: #2563eb; color: #fff; }
.card { border: 0; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.stat .label { color: #6b7280; font-size: .85rem; }
.stat .value { font-size: 1.5rem; font-weight: 700; }
.stat i { font-size: 1.8rem; opacity: .8; }
.table > :not(caption) > * > * { vertical-align: middle; }
.page-title { font-weight: 700; margin-bottom: 1.2rem; }
.detail dt { color: #6b7280; font-weight: 500; }
.detail dd { font-weight: 600; }
.proof-img { max-width: 100%; max-height: 520px; border-radius: 8px; border: 1px solid #e5e7eb; }
.notif.unread { background: #eff6ff; }
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#111827,#1e3a8a); }
.progress { height: 10px; }
@media (max-width: 576px) { .stat .value { font-size: 1.25rem; } .table { font-size: .9rem; } }
.navbar { flex-wrap: nowrap; }
@media (max-width: 576px) { .navbar-brand { font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 55vw; } }
