:root {
  --brand: #0f5c6e;
  --brand-2: #e9f3f5;
}
body { background: #f5f7f9; }
.bg-brand { background: var(--brand) !important; }
.btn-brand { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-brand:hover { background: #0b4755; color: #fff; }
.card { border: 0; box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1); }
.kpi .v { font-size: 1.75rem; font-weight: 600; line-height: 1.1; }
.kpi .l { color: #6c757d; font-size: .85rem; }
.kpi .v.good { color: #198754; }
.kpi .v.warn { color: #b8860b; }
.kpi .v.bad { color: #dc3545; }
.table-sm td, .table-sm th { vertical-align: middle; }
.small-muted { font-size: .8rem; color: #6c757d; }
.chart-box { position: relative; height: 240px; }
.chart-box.tall { height: 300px; }
.status-pending { background: #eef1f4; color: #495057; }
.status-no_answer, .status-unreachable { background: #fff3cd; color: #7a5b00; }
.status-wrong_number, .status-declined { background: #f8d7da; color: #842029; }
.status-callback { background: #cfe2ff; color: #084298; }
.status-booked { background: #d1e7dd; color: #0f5132; }
.badge-status { font-weight: 500; }
.log-form select, .log-form input { min-width: 0; }
.login-wrap { max-width: 380px; margin: 8vh auto; }
@media print {
  nav, footer, .no-print { display: none !important; }
}
