.promotion-control { color: #17202a; }
.promo-section { background: #fff; border: 1px solid #dfe3e8; border-radius: 6px; overflow: hidden; }
.promo-toolbar { display: flex; gap: 8px; padding: 12px; border-bottom: 1px solid #e7eaee; background: #f8f9fa; }
.promo-search { max-width: 420px; }
.promo-status-filter { max-width: 210px; }
.icon-btn { width: 40px; height: 38px; padding: 0; }
.promo-kpi { min-height: 78px; padding: 12px 16px; border: 1px solid #dfe3e8; border-inline-start: 4px solid #198754; border-radius: 6px; background: #fff; display: flex; flex-direction: column; justify-content: center; }
.promo-kpi span { color: #667085; font-size: .82rem; }
.promo-kpi strong { font-size: 1.45rem; line-height: 1.3; }
.promo-kpi-warning { border-inline-start-color: #dc3545; }
.promo-table thead th { background: #f3f5f7; color: #475467; font-size: .82rem; white-space: nowrap; border-bottom-width: 1px; }
.promo-section-title { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid #e7eaee; background: #f8f9fa; }
.promo-risk { display: flex; align-items: center; gap: 8px; border: 1px solid; padding: 12px; border-radius: 6px; }
.promo-risk.is-warning { color: #842029; border-color: #f1aeb5; background: #f8d7da; }
.promo-risk.is-safe { color: #0f5132; border-color: #a3cfbb; background: #d1e7dd; }
.select2-container .select2-selection--single { height: 38px; border-color: #dee2e6; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 36px; }
@media (max-width: 767px) {
  .promo-toolbar { flex-wrap: wrap; }
  .promo-search, .promo-status-filter { max-width: none; width: 100%; }
  .promo-table { min-width: 900px; }
}
