body { background: #f5f7f8; }
.card-soft { border: 0; border-radius: 18px; box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.kpi { border-left: 5px solid #198754; }
.report-title { font-weight: 800; letter-spacing: .3px; }
.section-bar { background: #0d5b1f; color: #fff; font-weight: 700; padding: 8px 12px; margin-top: 18px; }
.report-box { border: 1px solid #9ca3af; padding: 10px 12px; background: #fff; min-height: 56px; }
label.form-label { font-weight: 600; }
.table-sm td, .table-sm th { vertical-align: middle; }
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
