.campaign-profit-panel {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible;
}
.campaign-profit-panel .campaign-report-wrap {
  flex: 0 1 auto !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(62vh, 680px);
  overflow-x: auto !important;
  overflow-y: auto !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap {
  height: auto !important;
  min-height: 0 !important;
  max-height: min(62vh, 680px) !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table {
  width: 1720px !important;
  min-width: 1720px !important;
  max-width: none !important;
  table-layout: fixed !important;
}
.campaign-profit-table th,
.campaign-profit-table td { box-sizing: border-box !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(1),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(1) { width: 280px !important; min-width: 280px !important; max-width: 280px !important; text-align: left; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(2),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(2) { width: 160px !important; min-width: 160px !important; max-width: 160px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(3),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(3) { width: 140px !important; min-width: 140px !important; max-width: 140px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(4),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(4) { width: 140px !important; min-width: 140px !important; max-width: 140px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(5),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(5) { width: 210px !important; min-width: 210px !important; max-width: 210px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(6),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(6) { width: 130px !important; min-width: 130px !important; max-width: 130px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(7),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(7) { width: 170px !important; min-width: 170px !important; max-width: 170px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(8),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(8) { width: 170px !important; min-width: 170px !important; max-width: 170px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(9),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(9) { width: 155px !important; min-width: 155px !important; max-width: 155px !important; }
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table th:nth-child(10),
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table td:nth-child(10) { width: 165px !important; min-width: 165px !important; max-width: 165px !important; }
.campaign-profit-table th:nth-child(1),
.campaign-profit-table td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  z-index: 6;
  background: #fff !important;
  box-shadow: 8px 0 12px -12px rgba(54, 25, 19, .65);
}
.campaign-profit-table th:nth-child(10),
.campaign-profit-table td:nth-child(10) {
  position: sticky !important;
  right: 0 !important;
  z-index: 6;
  background: #fff !important;
  box-shadow: -8px 0 12px -12px rgba(54, 25, 19, .65);
}
.campaign-profit-table thead th:nth-child(1),
.campaign-profit-table thead th:nth-child(10) {
  z-index: 12;
  background: #ffe4de !important;
}
.campaign-profit-table th {
  overflow: hidden !important;
  white-space: normal !important;
  vertical-align: middle;
}
.campaign-profit-table th > button:first-child {
  min-width: 0 !important;
  white-space: normal !important;
  text-align: center;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th {
  height: 58px !important;
  padding: 0 44px 0 14px !important;
  overflow: hidden !important;
  white-space: normal !important;
  vertical-align: middle !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th > button:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  text-align: center !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th > .column-filter-button {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  z-index: 2 !important;
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th:nth-child(1) {
  padding-left: 16px !important;
  text-align: left !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th:nth-child(1) > button:first-child {
  justify-content: flex-start !important;
  text-align: left !important;
}
.campaign-profit-page .campaign-profit-panel .campaign-report-wrap .campaign-profit-table thead th:nth-child(10) {
  padding: 0 16px !important;
  text-align: center !important;
}
.campaign-profit-table td {
  height: 58px; padding: 10px 14px; font-size: 13px;
  overflow: hidden;
  font-weight: 600; vertical-align: middle;
  white-space: normal;
}
.campaign-name-link {
  display: block;
  width: 100%;
  max-width: 100%;
  appearance: none; border: 0; padding: 0; background: transparent;
  color: #ef674f; font: inherit; font-weight: 700; text-align: left;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  text-decoration: underline; cursor: pointer;
}
.campaign-profit-table td.campaign-name-cell {
  overflow: hidden !important;
  white-space: normal !important;
}
.campaign-name-link:hover { color: #c84732; }
.campaign-detail-backdrop {
  position: fixed !important; inset: 0 !important; z-index: 2147483000 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100vw !important; height: 100dvh !important;
  min-width: 100vw !important; min-height: 100dvh !important;
  margin: 0 !important; padding: 24px !important; overflow: hidden !important;
  background: rgba(20,30,36,.58);
  backdrop-filter: blur(3px);
}
.campaign-detail-modal {
  position: relative !important;
  width: min(1040px,calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  margin: 0 !important; overflow: hidden;
  border-radius: 18px; background: #fff;
  box-shadow: 0 28px 80px rgba(4,53,64,.3);
}
.campaign-detail-backdrop {
  overscroll-behavior: contain !important;
}
.campaign-detail-modal > header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 22px 26px; border-bottom: 1px solid #ffd3ca;
}
.campaign-detail-modal > header span {
  color: #ff6f58; font-size: 12px; font-weight: 800; text-transform: uppercase;
}
.campaign-detail-modal > header h3 { margin: 4px 0 0; color: #301913; font-size: 21px; }
.campaign-detail-modal > header button {
  width: 38px; height: 38px; border: 0; border-radius: 11px;
  background: #321710; color: #fff; font-size: 25px; cursor: pointer;
}
.campaign-detail-summary {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px; padding: 18px 26px;
}
.campaign-detail-summary > div {
  display: grid; gap: 5px; padding: 14px 16px;
  border: 1px solid #f5d7d0; border-radius: 12px; background: #fffaf8;
}
.campaign-detail-summary span { color: #8a7772; font-size: 12px; font-weight: 700; }
.campaign-detail-summary strong { color: #301913; font-size: 17px; }
.campaign-detail-orders { max-height: 52vh; overflow: auto; padding: 0 26px 26px; }
.campaign-detail-orders table { width: 100%; border-collapse: collapse; }
.campaign-detail-orders th,
.campaign-detail-orders td {
  padding: 11px 12px; border: 1px solid #f1dcd7;
  font-size: 12px; text-align: left;
}
.campaign-detail-orders th {
  position: sticky; top: 0; z-index: 1; background: #ffe4de; color: #41231d;
}
@media (max-width:760px) {
  .campaign-detail-backdrop { padding: 10px !important; }
  .campaign-detail-modal {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }
  .campaign-detail-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
