body { background: #f4f6f9; }
.card-stat { border: none; border-left: 4px solid var(--bs-primary); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.card-stat .value { font-size: 1.8rem; font-weight: 700; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #6c757d; }
.badge-tahapan { font-size: .75rem; }
.login-wrapper { min-height: 100vh; background: linear-gradient(135deg,#0d3b66,#1d70a2); }
.login-card { border: none; border-radius: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.timeline { list-style: none; padding-left: 0; }
.timeline li { padding-left: 1.2rem; border-left: 2px solid #dee2e6; position: relative; padding-bottom: 1rem; }
.timeline li::before { content: ''; position: absolute; left: -6px; top: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--bs-primary); }
