:root {
  --app-primary: #1f4e79;
  --app-primary-dark: #163a5a;
}
body { background: #f4f6f9; }

.bg-primary-app { background: var(--app-primary) !important; }
.text-primary-app { color: var(--app-primary) !important; }
.btn-primary-app { background: var(--app-primary); border-color: var(--app-primary); color: #fff; }
.btn-primary-app:hover, .btn-primary-app:focus { background: var(--app-primary-dark); border-color: var(--app-primary-dark); color: #fff; }

.card { border: 0; }
.stat-card { border-left: 4px solid var(--app-primary); }

.score-big { font-size: 3rem; font-weight: 700; line-height: 1.1; }
.score-badge { color: #fff; font-weight: 500; }

.chart-box { position: relative; height: 280px; }

.live-score { top: 1rem; z-index: 10; }

.criterion .btn-group .btn { min-width: 64px; }
.criterion-details dt { font-weight: 600; margin-top: .25rem; }
.criterion-details dd { margin-bottom: .25rem; }

.table-group td { background: #eef2f7 !important; font-size: .9rem; }

.level-scale { text-align: left; font-size: .85rem; }
.level-step { padding: 2px 8px; border-left: 4px solid var(--c); margin-bottom: 3px; opacity: .55; }
.level-step span { display: inline-block; width: 36px; color: #6c757d; }
.level-step.current { opacity: 1; font-weight: 600; background: #f1f3f5; }

@media print {
  body { background: #fff; }
  .card { box-shadow: none !important; border: 1px solid #dee2e6; }
  .chart-box { height: 240px; }
  .collapse { display: block !important; }
}
