.ads-amazon-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

:root {
  --ads-amazon-z-sticky-header: 30;
  --ads-amazon-z-sticky-column: 40;
  --ads-amazon-z-sticky-intersection: 50;
  --ads-amazon-z-floating-overlay: 1100;
  --ads-amazon-z-floating: 1110;
}

.amazon-ads-dashboard,
.ads-form-shell {
  position: relative;
}

.ads-module-loading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.7);
  z-index: 4;
}

.ads-module-loading[hidden] {
  display: none;
}

.ads-loading-spinner {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 4px solid #e5e0e0;
  border-top-color: #c7a9a9;
  animation: ads-spin 0.8s linear infinite;
}

.ads-loading-text {
  font-weight: 600;
  color: #5c5c5c;
}

.period-content-loading {
  position: relative;
}

.period-content-loading > :not(.period-content-loading-overlay) {
  filter: blur(2px);
  opacity: 0.45;
  pointer-events: none;
}

.period-content-loading-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(1px);
  z-index: 8;
}

.period-content-loading-spinner {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid rgba(63, 99, 220, 0.2);
  border-top-color: #3f63dc;
  animation: ads-spin 0.8s linear infinite;
}

.period-content-loading-text {
  font-size: 14px;
  font-weight: 600;
  color: #3d2f50;
}

@keyframes ads-spin {
  to {
    transform: rotate(360deg);
  }
}

.amazon-ads-dashboard.is-loading,
.ads-form-shell.is-loading {
  pointer-events: none;
}

.loading-disabled {
  pointer-events: none;
  opacity: 0.6;
}

.ads-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.breadcrumb-title {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.ads-header-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.ads-controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  flex: 1 1 640px;
  padding: 10px 12px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
}

.ads-controls-left,
.ads-controls-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.ads-controls-left {
  min-width: 260px;
  flex: 1 1 280px;
}

.ads-controls-right {
  justify-content: flex-end;
  flex: 2 1 360px;
}

.dashboard-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  min-width: 0;
}

.dashboard-title-row h2 {
  margin: 0;
  white-space: nowrap;
}

.account-selector {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.ads-source-label {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 400;
  color: #666;
  line-height: 1.4;
  margin-right: 14px;
  white-space: nowrap;
}

.account-selector-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.account-selector label,
.account-selector-row label {
  font-weight: 600;
  white-space: nowrap;
}

.account-selector-row select {
  min-width: 220px;
  padding: 6px 8px;
  flex: 0 1 240px;
}

@media (max-width: 720px) {
  .dashboard-title-row {
    flex-wrap: wrap;
  }

  .account-selector,
  .account-selector-row {
    flex-wrap: wrap;
  }

  .ads-source-label {
    margin-right: 10px;
  }
}

@media (max-width: 480px) {
  .ads-source-label {
    display: none;
  }
}

.manage-accounts-btn {
  display: inline-flex;
  align-items: center;
  height: 32px;
}

.ads-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-actions-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.settings-trigger {
  height: 34px;
  align-self: center;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: #555;
  font-size: 18px;
  line-height: 1;
}

.settings-trigger:hover {
  color: #333;
}

.settings-trigger:focus-visible {
  outline: 2px solid oklch(0.72 0.06 15);
  outline-offset: 2px;
}

.ads-filters {
  margin: 0;
}

.ads-filters-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.ads-filters label {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  gap: 2px;
  margin: 0;
}

.filter-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ads-filters select,
.ads-filters input[type="text"],
.ads-filters input[type="number"],
.ads-filters textarea {
  padding: 6px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.period-filter {
  position: relative;
}

.period-filter-trigger {
  max-width: min(100%, 360px);
}

.period-trigger-label-text {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

.period-filter-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: max-content;
  max-width: min(860px, calc(100vw - 24px));
  max-height: min(620px, calc(100vh - 24px));
  overflow: hidden;
  background: #fff;
  border: 1px solid #e6dede;
  border-radius: 12px;
  box-shadow: 0 16px 32px rgba(45, 36, 36, 0.15);
  padding: 12px;
  z-index: var(--ads-amazon-z-floating);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.period-popover-header {
  display: none;
}

.period-popover-body {
  min-height: 0;
}

.period-filter-popover[data-period-portal="true"] {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  isolation: isolate;
}

.period-filter-popover[hidden] {
  display: none !important;
}

.period-popover-content {
  display: grid;
  grid-template-columns: minmax(168px, 184px) max-content;
  justify-content: start;
  align-items: start;
  gap: 12px;
  min-height: 0;
}

.period-filter-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: min(490px, calc(100vh - 170px));
  overflow-y: auto;
  padding: 2px 6px 2px 2px;
  scrollbar-gutter: stable;
}

.period-option {
  border: 1px solid #eadfdf;
  background: #fff;
  border-radius: 9px;
  padding: 8px 10px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  color: #2f2323;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.period-option:hover,
.period-option.active {
  background: #f7efef;
  border-color: oklch(0.72 0.06 15);
  color: #2f2323;
}

.period-option:focus-visible {
  outline: 2px solid oklch(0.72 0.06 15);
  outline-offset: 1px;
}

.period-custom-fields {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 10px;
  position: relative;
  margin-top: 0;
  padding: 10px;
  border: 1px solid #e8dfdf;
  border-radius: 10px;
  background: #fff;
  width: max-content;
  max-width: 100%;
  height: fit-content;
}

.period-date-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.period-custom-fields label {
  font-size: 11px;
  font-weight: 600;
  color: #463636;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.period-custom-fields input[type="date"] {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #d9caca;
  border-radius: 8px;
  min-width: 0;
  box-sizing: border-box;
  font-size: 12px;
  background: #fff;
}

.period-range-picker-input {
  position: absolute;
  left: -9999px;
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.period-custom-fields .flatpickr-calendar.inline {
  box-shadow: none;
  border: 1px solid #e8dede;
  border-radius: 10px;
  background: #fff;
  width: max-content;
  max-width: 100%;
  padding: 6px 8px 8px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-rContainer {
  width: max-content;
  min-width: 544px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-days {
  display: flex;
  gap: 14px;
  width: max-content;
}

.period-custom-fields .flatpickr-calendar.inline .dayContainer {
  min-width: 272px;
  width: 272px;
  max-width: 272px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-months .flatpickr-month {
  border-bottom: 1px solid #f0e5e5;
  display: flex;
  align-items: center;
  min-height: 42px;
  line-height: 1.2;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-months,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month .flatpickr-monthDropdown-months,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month input.cur-year {
  display: flex;
  align-items: center;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-months {
  align-items: stretch;
  position: relative;
  padding: 0 34px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month {
  justify-content: center;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 0;
  line-height: 1.2;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month .flatpickr-monthDropdown-months,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-current-month input.cur-year {
  height: auto;
  line-height: 1.2;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month {
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  padding: 6px;
  border-radius: 999px;
  color: #5f4a4a;
  background: #f7eeee;
  opacity: 1;
  z-index: 2;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month {
  left: 4px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month {
  right: 4px;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month svg,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month svg {
  width: 13px;
  height: 13px;
  fill: currentColor;
  pointer-events: none;
}

.period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month:hover,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month:hover,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month:focus-visible,
.period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month:focus-visible {
  background: #e8d3d3;
  color: #473535;
}

.period-custom-fields .flatpickr-day {
  max-width: 38px;
  height: 34px;
  line-height: 34px;
}

.period-popover-actions {
  width: 100%;
  margin-top: 2px;
  padding-top: 6px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.period-apply-btn {
  justify-self: auto;
  background: #c7a9a9;
  border-color: #c7a9a9;
  color: #fff;
}

.period-apply-btn:hover,
.period-apply-btn:focus-visible {
  filter: brightness(0.92);
}

@media (max-height: 760px) {
  .period-filter-popover {
    max-height: calc(100dvh - 16px);
  }

  .period-filter-options {
    max-height: min(440px, calc(100dvh - 190px));
  }
}

@media (max-width: 768px) {
  body.period-picker-modal-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .period-filter-popover {
    position: fixed;
    left: 50% !important;
    right: auto;
    top: 8px !important;
    bottom: auto;
    transform: translateX(-50%);
    width: calc(100vw - 16px);
    max-width: 100%;
    max-height: calc(100dvh - 16px);
    margin: 8px auto;
    border-radius: 16px;
    padding: 8px;
    gap: 8px;
    overflow: hidden;
    overflow-x: hidden;
  }

  .period-popover-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 4px 6px;
    border-bottom: 1px solid #f1e7e7;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
  }

  .period-popover-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #2f2323;
  }

  .period-popover-close {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 0;
    background: #f3eded;
    color: #5b4b4b;
    cursor: pointer;
  }

  .period-popover-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 4px;
  }

  .period-popover-content {
    grid-template-columns: 1fr;
    justify-content: stretch;
    min-height: 0;
    gap: 8px;
  }

  .period-custom-fields {
    width: 100%;
    justify-items: stretch;
    padding: 8px;
    gap: 8px;
  }

  .period-custom-fields .flatpickr-calendar.inline {
    width: 100%;
    padding: 4px 4px 6px;
  }

  .period-custom-fields .flatpickr-calendar.inline .flatpickr-rContainer {
    width: 100%;
    min-width: 0;
  }

  .period-custom-fields .flatpickr-calendar.inline .flatpickr-days {
    gap: 0;
    width: 100%;
  }

  .period-custom-fields .flatpickr-calendar.inline .dayContainer {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .period-custom-fields .flatpickr-calendar.inline .flatpickr-months {
    padding: 0 26px;
  }

  .period-custom-fields .flatpickr-calendar.inline .flatpickr-prev-month,
  .period-custom-fields .flatpickr-calendar.inline .flatpickr-next-month {
    width: 24px;
    height: 24px;
    padding: 4px;
  }

  .period-custom-fields .flatpickr-day {
    height: 30px;
    line-height: 30px;
    max-width: 100%;
    font-size: 12px;
  }

  .period-custom-fields .flatpickr-weekday {
    font-size: 11px;
  }

  .period-date-inputs {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .period-filter-options {
    max-height: none;
    padding-right: 2px;
    overflow-y: visible;
  }

  .period-popover-actions {
    margin-top: 0;
    padding: 8px 4px calc(8px + env(safe-area-inset-bottom));
    border-top: 1px solid #f1e7e7;
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: #fff;
    justify-content: stretch;
  }

  .period-popover-actions .subnav-btn {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (min-width: 981px) {
  .period-filter-popover[data-period-portal="true"] {
    min-width: 760px;
  }

  .period-filter-popover[data-period-portal="true"] .period-custom-fields {
    min-width: 560px;
    max-width: none;
  }

  .period-filter-popover[data-period-portal="true"] .period-custom-fields .flatpickr-calendar.inline {
    max-width: none;
  }
}

.roas-mode-toggle {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.radio-inline {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-top: 4px;
}

.checkbox-inline {
  flex-direction: row !important;
  align-items: center;
  gap: 6px;
}

.table-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 0;
}

.table-actions-right {
  display: flex;
  gap: 8px;
}

.table-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  margin: 10px 0;
}

.table-toolbar .toolbar-search {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.table-toolbar .toolbar-search label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.table-toolbar .toolbar-search input {
  width: 260px;
}

.ads-amazon-table-wrapper {
  overflow-x: auto;
}

.campaign-section {
  margin-top: 16px;
}

.campaign-section + .campaign-section {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e2e2e2;
}

.campaign-section-title {
  margin: 0 0 8px;
}

.campaign-section #campaign-adgroups-summary-table_wrapper,
.campaign-section #campaign-monthly-table_wrapper {
  width: 100%;
}

.campaign-section #campaign-adgroups-summary-table,
.campaign-section #campaign-monthly-table {
  table-layout: auto;
}

.campaign-section #campaign-adgroups-summary-table th,
.campaign-section #campaign-adgroups-summary-table td,
.campaign-section #campaign-monthly-table th,
.campaign-section #campaign-monthly-table td {
  white-space: nowrap;
}

.campaign-section #campaign-adgroups-summary-table th:nth-child(1),
.campaign-section #campaign-adgroups-summary-table td:nth-child(1) {
  min-width: 280px;
  width: 42%;
  text-align: left;
  white-space: normal;
  word-break: break-word;
}

.campaign-section #campaign-adgroups-summary-table th:nth-child(6),
.campaign-section #campaign-adgroups-summary-table td:nth-child(6),
.campaign-section #campaign-adgroups-summary-table th:nth-child(7),
.campaign-section #campaign-adgroups-summary-table td:nth-child(7) {
  width: 76px;
  min-width: 76px;
}

.campaign-section #campaign-adgroups-summary-table th:nth-child(8),
.campaign-section #campaign-adgroups-summary-table td:nth-child(8) {
  width: 120px;
  min-width: 120px;
  white-space: nowrap;
}

.campaign-section .dataTables_wrapper {
  margin-bottom: 12px;
  width: 100%;
}

.campaign-section:last-child .dataTables_wrapper {
  margin-bottom: 0;
}

.campaign-toolbar-layout .st-compact-filters {
  flex: 0 1 360px;
  max-width: 360px;
}

.campaign-toolbar-layout .st-summary-panel {
  min-width: 0;
}

.subnav-period-form {
  margin: 0;
}

.subnav-period-form .period-filter-trigger {
  min-height: 32px;
  height: 32px;
}

.campaign-detail-page .campaign-detail-header {
  margin-bottom: 0;
  width: fit-content;
  max-width: 100%;
  flex: 0 0 auto;
}

.campaign-detail-page .campaign-summary-panel {
  margin: 0;
  width: clamp(720px, 62vw, 980px);
  min-width: 720px;
  max-width: 980px;
  flex: 0 0 auto;
  flex-shrink: 0;
}

.campaign-detail-page .campaign-summary-panel .st-kpi-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.campaign-detail-page .campaign-summary-panel .st-kpi-value {
  white-space: nowrap;
}

.campaign-detail-page .campaign-section {
  margin-top: 8px;
}

.campaign-detail-page .campaign-detail-content-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.month-filter.is-disabled {
  opacity: 0.6;
}

.amazon-ads-dashboard .ads-amazon-table-wrapper,
.amazon-ads-dashboard .dataTables_wrapper,
.amazon-ads-dashboard .dataTables_wrapper .dataTables_scroll,
.amazon-ads-dashboard .dataTables_wrapper .dataTables_scrollBody {
  box-shadow: none !important;
  background: transparent !important;
}

.amazon-ads-dashboard .ads-amazon-table-wrapper::after,
.amazon-ads-dashboard .dataTables_wrapper .dataTables_scrollBody::after {
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

.ads-amazon-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
  table-layout: fixed;
}

.ads-amazon-table-wrapper.amazon-table-scroll {
  overflow-x: auto;
  overflow-y: visible;
  position: relative;
}

.dashboard-table .table-scroll,
.ads-amazon-table-wrapper.amazon-table-scroll {
  overflow-x: auto;
  position: relative;
}

.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table {
  min-width: max-content;
  border-collapse: separate;
  border-spacing: 0;
}

.dashboard-table table,
.dashboard-table .ads-amazon-table {
  border-collapse: separate;
  border-spacing: 0;
}

.ads-amazon-table th,
.ads-amazon-table td {
  padding: 6px 8px;
  border: 1px solid #e2e2e2;
  text-align: right;
  background: #fff;
  line-height: 1.15;
  font-size: 14px;
}

.ads-amazon-table th {
  background: #f6f6f6;
  text-align: center;
  font-weight: 600;
}


.ads-amazon-table th.col-star,
.ads-amazon-table td.col-star {
  min-width: 30px;
  max-width: 30px;
  padding: 4px 2px;
  text-align: center;
}

.ads-amazon-table td.col-star {
  vertical-align: middle;
}


.ads-amazon-table th.col-term,
.ads-amazon-table td.col-term {
  text-align: left;
}


.ads-amazon-table td.col-term,
.ads-amazon-table td.col-term .st-drilldown-trigger,
.ads-amazon-table td.col-term a {
  text-align: left;
}

.ads-amazon-table td.col-term {
  vertical-align: top;
}

.ads-amazon-table td.col-term .st-drilldown-trigger,
.ads-amazon-table td.col-term a {
  display: block;
  width: 100%;
  white-space: normal;
  word-break: break-word;
  line-height: 1.3;
}

.ads-amazon-table th.col-impr,
.ads-amazon-table td.col-impr {
  width: 68px;
  min-width: 68px;
  max-width: 68px;
  padding-left: 6px;
  padding-right: 6px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.ads-amazon-table th.col-clicks,
.ads-amazon-table td.col-clicks {
  width: 84px;
  min-width: 84px;
  max-width: 84px;
  padding-left: 6px;
  padding-right: 6px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.col-orders,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table td.col-orders {
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  white-space: nowrap;
}

.ads-amazon-table .campaign-col {
  text-align: left;
  min-width: 240px;
  width: 240px;
}

.ads-amazon-table thead th {
  position: sticky;
  top: var(--ads-amazon-sticky-header-top, 0px);
  z-index: var(--ads-amazon-z-sticky-header);
  background: #f6f6f6;
  background-clip: padding-box;
  box-shadow: inset 0 -1px 0 #dddddd;
}



table.dataTable.ads-amazon-table thead > tr > th,
table.dataTable.ads-amazon-table thead > tr > td {
  position: sticky;
  top: var(--ads-amazon-sticky-header-top, 0px);
  z-index: var(--ads-amazon-z-sticky-header);
  background: #f6f6f6;
  background-clip: padding-box;
}
.dashboard-table th.campaign-col,
.dashboard-table td.campaign-col,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.campaign-col,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table td.campaign-col {
  position: sticky;
  left: 0;
  z-index: var(--ads-amazon-z-sticky-column);
  background: #fff !important;
  background-clip: padding-box;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 8px 0 0 rgba(0, 0, 0, 0.03);
}

.dashboard-table thead th.campaign-col,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.campaign-col {
  z-index: var(--ads-amazon-z-sticky-intersection);
}

.dashboard-table tbody tr:nth-child(even) td.campaign-col {
  background: #fafafa !important;
}

.dashboard-table tbody tr:hover td.campaign-col,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table tr:hover td.campaign-col {
  background: #faf6f6 !important;
}

.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table .high-impact-row td.campaign-col {
  background-color: rgba(255, 99, 71, 0.08);
}

.ads-amazon-table .campaign-col .campaign-name {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ads-amazon-table tr:hover td {
  background: #faf6f6;
}

.high-impact-row td {
  background-color: rgba(255, 99, 71, 0.08);
}

.dashboard-table tbody td {
  position: relative;
  z-index: 1;
}


/* Compact base metric columns in all-time mode */
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.col-spent,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table td.col-spent {
  width: 92px;
  min-width: 92px;
  max-width: 92px;
  white-space: nowrap;
}

.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.col-revenue,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table td.col-revenue {
  width: 98px;
  min-width: 98px;
  max-width: 98px;
  white-space: nowrap;
}

.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table th.col-roas,
.ads-amazon-table-wrapper.amazon-table-scroll .ads-amazon-table td.col-roas {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
  white-space: nowrap;
}

.ads-amazon-table th.col-month,
.ads-amazon-table td.col-month {
  width: 44px !important;
  max-width: 44px;
  min-width: 0;
  padding: 4px 4px;
  font-size: 13px;
  line-height: 1.05;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.amazon-ads-dashboard .ads-amazon-table th.col-month,
.amazon-ads-dashboard .ads-amazon-table td.col-month {
  border-left-color: rgba(0, 0, 0, 0.14);
  border-right-color: rgba(0, 0, 0, 0.14);
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.amazon-ads-dashboard .ads-amazon-table th,
.amazon-ads-dashboard .ads-amazon-table td {
  border-color: rgba(0, 0, 0, 0.12);
}

.campaign-name a {
  color: #333;
  font-weight: 600;
  text-decoration: none;
}

.campaign-name a:hover {
  text-decoration: underline;
}

.campaign-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  font-size: 12px;
  color: #666;
}

.meta-tag {
  background: #f0f0f0;
  padding: 2px 6px;
  border-radius: 4px;
}

.badge {
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
}

.badge.active {
  background: #4caf50;
}

.badge.inactive {
  background: #d9534f;
}

.roas-cell {
  text-align: center;
  font-weight: 600;
}
.roas-below-baseline {
  color: #d9534f;
}
.roas-above-baseline {
  color: #28a745;
}
.roas-at-baseline {
  color: inherit;
}

.roas-bad {
  background-color: #ffe6e6;
  color: #b30000;
}

.roas-mid {
  background-color: #fff3cd;
  color: #8a6d3b;
}

.roas-good {
  background-color: #e1f4e7;
  color: #1b6d3a;
}

.roas-great {
  background-color: #ede1ff;
  color: #5a2ea6;
}

.totals-card {
  border: 1px solid #e0e0e0;
  padding: 10px 12px;
  border-radius: 6px;
  background: #fffaf7;
  min-width: 200px;
}

.totals-card .totals-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}

.totals-card .totals-row + .totals-row {
  margin-top: 6px;
}

.totals-row strong {
  font-size: 15px;
}

.totals-row.totals {
  background: #f6f6f6;
}

.baseline-row {
  border-top: 1px solid #e0e0e0;
  padding-top: 4px;
  margin-top: 4px;
}

.empty-hint {
  margin-top: 12px;
  color: #666;
}

.ads-subnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.ads-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.ads-breadcrumb a {
  color: #333;
  text-decoration: none;
}

.ads-breadcrumb a:hover {
  text-decoration: underline;
}

.crumb-current {
  font-weight: 600;
}

.subnav-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.nav-actions .subnav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  min-height: 32px;
  height: 32px;
  padding: 6px 10px;
  line-height: 1;
  border-radius: 4px;
  position: relative;
  top: auto;
  background: #f1f1f1;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  border: 1px solid #dcdcdc;
}

.subnav-btn {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  padding: 6px 10px;
  line-height: 1;
  border-radius: 4px;
  position: relative;
  background: #f1f1f1;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  border: 1px solid #dcdcdc;
}

.subnav-btn.primary {
  background: #c7a9a9;
  border-color: #c7a9a9;
  color: #fff;
}

.subnav-btn.primary:hover {
  filter: brightness(0.92);
}

.subnav-btn.secondary {
  background: #fff;
}

.analysis-pad-trigger {
  position: relative;
}

.analysis-pad-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b88f8f;
  border: 1px solid #fff;
}

.ads-subnav-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e4e4e4;
}

.subnav-tab {
  padding: 8px 10px;
  text-decoration: none;
  color: #555;
  border-bottom: 2px solid transparent;
  font-weight: 600;
}

.subnav-tab.active {
  color: #333;
  border-color: oklch(0.72 0.06 15);
}

@media (max-width: 767px) {
  .ads-subnav {
    margin-bottom: 6px;
  }

  .ads-breadcrumb {
    display: none;
  }

  .subnav-actions {
    width: 100%;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .subnav-actions .subnav-btn {
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 999px;
    flex: 0 0 auto;
  }

  .ads-subnav-tabs {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 8px;
    padding-bottom: 4px;
  }

  .subnav-tab {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 10px 14px;
  }

  .ads-filters-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
  }

  .ads-filters-bar .account-selector,
  .ads-filters-bar .period-filter,
  .ads-filters-bar .filter-field {
    flex: 0 0 auto;
  }

  .ads-filters-bar select,
  .ads-filters-bar .period-filter-trigger {
    min-height: 40px;
    border-radius: 999px;
    padding: 8px 12px;
  }
}

.ads-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.kpi-card {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 6px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kpi-label {
  font-size: 12px;
  color: #666;
}

.kpi-value {
  font-size: 18px;
  color: #222;
}

.kpi-subtext {
  font-size: 12px;
  color: #888;
}

.muted-col {
  color: #666;
  white-space: nowrap;
}

.campaign-detail-header,
.campaign-form {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.amazon-ads-page-title {
  font-weight: 700;
  line-height: 1.2;
}

.campaign-actions {
  display: flex;
  gap: 8px;
}

.ad-group-sibling-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  max-width: 100%;
  flex-wrap: wrap;
}

.ad-group-sibling-nav-label {
  font-size: 12px;
  color: #666;
}

.ad-group-sibling-nav-select {
  min-width: 170px;
  max-width: 240px;
  padding: 6px 8px;
  font-size: 12px;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  background: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ad-group-sibling-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 220px;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.3;
  text-decoration: none;
  color: #555;
  background: #f0f0f0;
}

.ad-group-sibling-nav-link:hover,
.ad-group-sibling-nav-link:focus-visible {
  background: #e4e4e4;
  color: #333;
}

.ad-group-sibling-nav-link-label {
  flex: 0 0 auto;
}

.ad-group-sibling-nav-name {
  display: inline-block;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.summary-card {
  border: 1px solid #e0e0e0;
  padding: 10px;
  border-radius: 6px;
  background: #fff;
}

.summary-card span {
  display: block;
  color: #666;
  margin-bottom: 4px;
}

.summary-card strong {
  font-size: 18px;
}

.ads-form {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: 820px;
}

.ads-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 14px;
}

.ads-form input,
.ads-form textarea,
.ads-form select {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.form-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ads-form-shell {
  max-width: 860px;
  margin: 0 auto;
}

.form-card {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 8px;
  padding: 16px;
}

.campaign-edit-form {
  width: 100%;
}

.form-hint {
  color: #666;
  margin: 4px 0 10px;
  font-size: 14px;
}

.field-with-action {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.inline-link {
  color: #555;
  text-decoration: none;
  font-size: 14px;
}

.inline-link:hover {
  text-decoration: underline;
}

.inline-link.muted {
  color: #999;
  pointer-events: none;
  cursor: default;
}

@media (max-width: 767px) {
  .ads-form-shell {
    max-width: 100%;
    margin: 0;
  }

  .form-card,
  .campaign-edit-form {
    padding: 12px;
    border-radius: 6px;
  }

  .campaign-edit-form h2,
  .form-card h2 {
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.25;
  }

  .ads-form {
    gap: 8px;
    max-width: 100%;
  }

  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .form-actions .notes-button {
    width: 100%;
    text-align: center;
  }
}

.underperforming-banner {
  margin: 10px 0 4px;
}

.underperforming-link,
.underperforming-active,
.underperforming-ok {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  min-height: 44px;
  line-height: 1.25;
  border-radius: 6px;
  border: 1px solid #f0d9b3;
  background: #fff7e8;
  color: #333;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.underperforming-active {
  background: #f5f5f5;
  border-color: #dcdcdc;
}

.under-clear {
  color: #c0392b;
  font-weight: 600;
  text-decoration: none;
}

.under-clear:hover,
.underperforming-link:hover {
  text-decoration: underline;
}

.amz-strong {
  font-weight: 700;
}

.view-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

.view-toggle .label-inline {
  font-size: 12px;
  color: #555;
}

.toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  color: #444;
  font-size: 13px;
}

.toggle-pill input {
  position: static;
  opacity: 1;
  pointer-events: auto;
  margin: 0;
}

.toggle-pill.active {
  color: #b65d5d;
  font-weight: 700;
}

.settings-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: none;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 14px;
  z-index: 1200;
}

.settings-modal-backdrop.visible {
  display: flex;
}

.settings-modal {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e2e2e2;
  padding: 14px;
  width: 320px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  max-height: 85vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.settings-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.manage-accounts-modal .settings-modal-header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
  padding-bottom: 6px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e5dede;
}

.settings-modal-body {
  display: grid;
  gap: 10px;
}

.st-drilldown-modal {
  width: min(1280px, 94vw);
  max-height: calc(100vh - 28px);
}

.st-drilldown-modal .settings-modal-header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
  padding-bottom: 6px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e5dede;
}

.st-drilldown-modal .settings-modal-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
}

.st-drilldown-tabs .subnav-tab {
  background: none;
  border: none;
  cursor: pointer;
}

.st-drilldown-status {
  min-height: 16px;
}

.st-drilldown-trigger {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: #2b6cb0;
  text-decoration: underline;
  cursor: pointer;
}

.st-drilldown-trigger:hover {
  color: #1f4f82;
}

.manage-accounts-modal .settings-modal-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.settings-modal label {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settings-modal select,
.settings-modal input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.account-access-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
}

.account-access-panel {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.access-seats-info {
  margin: 0;
  font-size: 12px;
  color: #6b7280;
}

.access-people-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.access-people-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: #f9f9fb;
  border: 1px solid #eee;
  border-radius: 6px;
  font-size: 13px;
}

.access-people-item--pending {
  color: #6b7280;
  font-style: italic;
}

.access-person-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-role-select {
  padding: 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 12px;
}

.access-role-tag {
  font-size: 11px;
  color: #6b7280;
  text-transform: uppercase;
}

.access-invite-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.access-invite-row select,
.access-invite-row input {
  flex: 1;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 13px;
}

.access-status-text {
  margin: 0;
  font-size: 12px;
  color: #6b7280;
}

.access-status-text.is-error {
  color: #8b1f1f;
}

.analysis-pad-modal {
  width: min(1180px, 96vw);
  max-height: 85vh;
  height: 84vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow-x: hidden;
  background: #fff;
  border-radius: 8px;
}

.analysis-pad-body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  overflow-x: hidden;
  background: #fff;
}

.analysis-pad-header-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 4;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.analysis-pad-campaign {
  font-weight: 600;
  color: #333;
  font-size: 15px;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.analysis-pad-controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  justify-content: flex-end;
  flex: 0 0 auto;
  margin-left: auto;
}

.analysis-pad-session-controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.analysis-pad-session {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #555;
  position: relative;
}

.analysis-pad-session.analysis-pad-session-loading::after {
  content: '';
  position: absolute;
  right: 10px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #d9d9d9;
  border-top-color: #8f7b7b;
  animation: analysis-pad-spin 0.8s linear infinite;
  pointer-events: none;
}

.analysis-pad-session select {
  min-width: 0;
  width: 100%;
  height: 36px;
  line-height: normal;
}

.analysis-pad-session.analysis-pad-session-loading select {
  padding-right: 30px;
  opacity: 0.8;
}

.analysis-pad-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  padding: 10px 16px 0;
  background: #fff;
  border-bottom: 1px solid #ececec;
  position: sticky;
  top: 48px;
  z-index: 3;
}

.analysis-pad-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}

.analysis-pad-filter {
  display: grid;
  gap: 4px;
  font-size: 11px;
  color: #555;
  min-width: 140px;
}

.analysis-pad-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #555;
}

.analysis-pad-filter-input,
.analysis-pad-filter-select {
  width: 100%;
  height: 32px;
  padding: 6px 8px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  font-size: 12px;
  background: #fff;
  box-sizing: border-box;
}

.analysis-pad-filter-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  position: relative;
}

.analysis-pad-bulk-popover {
  position: fixed;
  right: auto;
  top: auto;
  left: 0;
  width: 260px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 8px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  z-index: var(--ads-amazon-z-floating);
  pointer-events: auto;
}

.analysis-pad-bulk-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--ads-amazon-z-floating-overlay);
  background: transparent;
  pointer-events: auto;
}

.analysis-pad-bulk-header {
  font-weight: 600;
  font-size: 13px;
  color: #4a3a3a;
}

.analysis-pad-bulk-field {
  display: grid;
  gap: 4px;
  font-size: 11px;
  color: #555;
}

.analysis-pad-bulk-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.analysis-pad-bid-popover {
  position: fixed;
  left: 0;
  top: 0;
  width: 240px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 8px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  z-index: var(--ads-amazon-z-floating);
}

.analysis-pad-bid-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--ads-amazon-z-floating-overlay);
  background: transparent;
}

.analysis-pad-bid-field {
  display: grid;
  gap: 4px;
  font-size: 11px;
  color: #555;
}

.analysis-pad-bid-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.analysis-pad-bid-direction-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.analysis-pad-bid-direction-btn {
  border: 1px solid #d6d6d6;
  background: #fff;
  color: #4a3a3a;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12px;
  cursor: pointer;
}

.analysis-pad-bid-direction-btn.active {
  border-color: oklch(0.72 0.06 15);
  background: #f7ecec;
  color: #6b4a4a;
}

.analysis-pad-bid-direction-btn:focus-visible {
  outline: 2px solid rgba(184, 143, 143, 0.45);
  outline-offset: 1px;
}

.analysis-pad-grid {
  flex: 1 1 auto;
  min-height: 0;
  padding: 12px 16px 16px;
  min-width: 0;
  overflow: hidden;
}

.analysis-pad-grid-table {
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  overflow-x: hidden;
  width: 100%;
  min-width: 0;
}

.analysis-pad-grid-head,
.analysis-pad-grid-row {
  display: grid;
  grid-template-columns: var(--analysis-pad-columns, 2.2fr 2.4fr);
  gap: 8px;
  align-items: stretch;
  padding: 8px 10px;
  font-size: 12px;
  min-width: 0;
}

.analysis-pad-grid-head > *,
.analysis-pad-grid-row > * {
  min-width: 0;
}

.analysis-pad-grid-head {
  background: #faf7f7;
  border-bottom: 1px solid #e2e2e2;
  font-weight: 600;
  color: #4a3a3a;
  position: sticky;
  top: 0;
  z-index: 3;
}

.analysis-pad-grid-head-cell {
  padding: 6px 8px;
  border-radius: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.analysis-pad-grid-head-cell-ad-group {
  background: #f4e4a8;
  color: #4a3a3a;
}

.analysis-pad-grid-head-cell-action {
  text-align: center;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
}

.analysis-pad-grid-body {
  overflow-y: auto;
  flex: 1 1 auto;
  overflow-x: hidden;
  min-width: 0;
}

.analysis-pad-grid-row {
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
}

.analysis-pad-grid-row-highlight {
  animation: analysis-pad-highlight 1.8s ease-out;
}

.analysis-pad-grid-row:last-child {
  border-bottom: none;
}

@keyframes analysis-pad-highlight {
  0% {
    background-color: rgba(200, 169, 169, 0.35);
  }
  100% {
    background-color: transparent;
  }
}

.analysis-pad-grid-input,
.analysis-pad-grid-select {
  width: 100%;
  height: 36px;
  padding: 6px 8px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  line-height: normal;
}

.analysis-pad-grid-input.invalid {
  border-color: #d14343;
  box-shadow: 0 0 0 1px rgba(209, 67, 67, 0.2);
}

.analysis-pad-grid-cell {
  display: grid;
  gap: 8px;
  min-width: 0;
  align-content: center;
}

.analysis-pad-grid-toggle {
  width: 16px;
  height: 16px;
  accent-color: #c7a9a9;
}

.analysis-pad-grid-comment-cell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.analysis-pad-grid-comment-cell .analysis-pad-grid-input {
  min-width: 0;
}

.analysis-pad-grid-remove-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
}

.analysis-pad-grid-remove {
  border: none;
  background: none;
  color: #aa4d4d;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 2px;
}

.analysis-pad-grid-remove:disabled {
  color: #c9b4b4;
  cursor: default;
}

.analysis-pad-grid-remove:not(:disabled):hover {
  color: #8f3838;
}

.analysis-pad-status {
  min-width: 70px;
  text-align: right;
}

.analysis-pad-header-status {
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
}

.analysis-pad-modal .modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: #6b7280;
  font-size: 18px;
  line-height: 1;
  border: none;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.analysis-pad-modal .modal-close:hover,
.analysis-pad-modal .modal-close:focus-visible {
  color: #374151;
  background: #f3f4f6;
  box-shadow: none;
  transform: none;
}

.analysis-pad-modal .modal-close:focus-visible {
  outline: 2px solid rgba(55, 65, 81, 0.25);
  outline-offset: 1px;
}

@keyframes analysis-pad-spin {
  to {
    transform: rotate(360deg);
  }
}

.analysis-pad-toast {
  position: absolute;
  right: 16px;
  bottom: 16px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  padding: 10px 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  z-index: 5;
  font-size: 13px;
}

.analysis-pad-context-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.analysis-pad-context-actions-secondary {
  opacity: 0.78;
}

.analysis-pad-context-pill {
  display: inline-flex;
  background: #f5efef;
  color: #5f4a4a;
  border: 1px solid #e5d4d4;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 12px;
}

.analysis-pad-editor {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding-right: 6px;
}

.analysis-pad-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  background: #fff;
  border-bottom: 1px solid #efefef;
}

.analysis-pad-header-main {
  display: grid;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
}

.analysis-pad-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.analysis-pad-primary-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.analysis-pad-import {
  position: relative;
}

.analysis-pad-import-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  display: grid;
  gap: 6px;
  padding: 6px;
  margin: 0;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  z-index: var(--ads-amazon-z-floating);
  box-shadow: 0 6px 12px rgba(15, 15, 15, 0.08);
}

.analysis-pad-import-panel {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 10px;
  background: #fff;
  display: grid;
  gap: 8px;
}

.analysis-pad-sessions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}

.analysis-pad-filters {
  display: grid;
  gap: 8px;
}

.analysis-pad-list {
  display: grid;
  gap: 8px;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
  padding-right: 4px;
}

.analysis-pad-card {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 8px 10px;
  display: grid;
  gap: 4px;
  cursor: pointer;
  background: #fff;
  text-align: left;
  font: inherit;
}

.analysis-pad-card.active {
  border-color: oklch(0.72 0.06 15);
  box-shadow: 0 0 0 1px rgba(199, 169, 169, 0.35);
}

.analysis-pad-card-title {
  font-weight: 600;
  font-size: 14px;
}

.analysis-pad-card-meta {
  font-size: 12px;
  color: #666;
}

.analysis-pad-card-preview {
  font-size: 12px;
  color: #555;
}

.analysis-pad-editor textarea {
  resize: vertical;
  min-height: 100px;
}

.analysis-pad-editor-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}

.analysis-pad-session-tools {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 8px 10px;
  background: #fafafa;
  display: grid;
  gap: 10px;
}

.analysis-pad-session-tools summary {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 6px;
}

.analysis-pad-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
}

.analysis-pad-rows > .empty-hint {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fafafa;
  padding: 10px;
  display: grid;
  gap: 4px;
  color: #555;
}

.analysis-pad-rows-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.analysis-pad-paste-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.analysis-pad-rows-table {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.analysis-pad-rows-head,
.analysis-pad-rows-row {
  display: grid;
  grid-template-columns: 110px minmax(180px, 1.4fr) repeat(3, 84px) minmax(180px, 1fr) 56px;
  gap: 8px;
  align-items: center;
}

.analysis-pad-rows-head {
  background: #f7f7f7;
  font-weight: 600;
  font-size: 12px;
  padding: 8px 10px;
  border-bottom: 1px solid #e2e2e2;
}

.analysis-pad-rows-body {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.analysis-pad-rows-row {
  font-size: 13px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}

.analysis-pad-rows-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.analysis-pad-row-type {
  font-size: 12px;
  text-transform: capitalize;
}

.analysis-pad-row-input {
  width: 100%;
}

.analysis-pad-row-actions {
  display: inline-flex;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  overflow: hidden;
  background: #fafafa;
}

.analysis-pad-row-actions button {
  border: none;
  background: transparent;
  padding: 2px 6px;
  font-size: 11px;
  cursor: pointer;
  color: #555;
}

.analysis-pad-row-actions button.active {
  background: #c7a9a9;
  color: #fff;
}

.analysis-pad-row-actions button:hover {
  background: #e8e0e0;
}

.analysis-pad-row-actions button.active:hover {
  filter: brightness(0.92);
}

.analysis-pad-row-comment {
  width: 100%;
  min-height: 30px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.analysis-pad-row-metrics {
  font-size: 12px;
  color: #666;
  display: grid;
  gap: 4px;
  line-height: 1.4;
}

.analysis-pad-row-remove {
  background: none;
  border: none;
  color: #aa4d4d;
  cursor: pointer;
  padding: 0;
  font-size: 12px;
  justify-self: center;
}

.analysis-pad-row-remove:hover {
  text-decoration: underline;
}

.analysis-pad-row-actions-cell {
  display: inline-flex;
  gap: 6px;
  justify-self: center;
}

.analysis-pad-draft-toggle {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.analysis-pad-draft-toggle input {
  margin: 0;
}

.analysis-pad-editor-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.analysis-pad-status {
  font-size: 12px;
  color: #666;
}

.analysis-pad-drawer {
  position: absolute;
  top: 0;
  right: 0;
  width: min(320px, calc(100% - 24px));
  height: 100%;
  background: #fff;
  border-left: 1px solid #e5e5e5;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transform: translateX(102%);
  transition: transform 0.2s ease;
  z-index: 4;
}

.analysis-pad-drawer.open {
  transform: translateX(0);
}

.analysis-pad-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.analysis-pad-drawer-header h4 {
  margin: 0;
}

.analysis-pad-drawer-scrim {
  position: absolute;
  inset: 0;
  border: none;
  background: rgba(15, 15, 15, 0.2);
  z-index: 3;
  pointer-events: auto;
}

.analysis-pad-drawer-scrim[hidden] {
  pointer-events: none;
}

@media (max-width: 900px) {
  .analysis-pad-modal {
    width: min(98vw, 1080px);
  }

  .analysis-pad-header {
    align-items: stretch;
    flex-direction: column;
  }

  .analysis-pad-header-actions {
    justify-content: flex-start;
  }

}

.manage-accounts-modal {
  width: min(720px, 94vw);
  padding: 18px 20px;
  max-height: 85vh;
  gap: 12px;
}

.manage-accounts-body {
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

.accounts-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.accounts-section h4 {
  margin: 0;
}

.account-external-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  margin-bottom: 8px;
}

.account-meta-label {
  color: #555;
  font-weight: 600;
}

.account-meta-value {
  color: #222;
  word-break: break-word;
}

.accounts-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.accounts-list-item {
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 12px 12px 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.07);
}

.account-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.account-name-text {
  font-weight: 600;
}

.manage-accounts-body label {
  font-weight: 600;
  color: #3d2f2f;
  font-size: 0.92rem;
}

.manage-accounts-body input[type="text"],
.manage-accounts-body input[type="number"],
.manage-accounts-body select,
.manage-accounts-body textarea {
  width: 100%;
  border: 1px solid #d7c8c8;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 14px;
  box-sizing: border-box;
  background: #fff;
}

.manage-accounts-body input::placeholder {
  color: #9a8f8f;
}

.manage-accounts-body .create-actions,
.manage-accounts-body .rename-actions {
  gap: 8px;
}

.accounts-section h4 {
  font-size: 16px;
  margin-bottom: 2px;
  color: #2f2f2f;
}

.account-role-tag {
  background: #eef3ff;
  color: #3b5cb8;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

.rename-account-form label.rename-label {
  font-size: 12px;
  color: #666;
}

.rename-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.rename-actions {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.rename-row,
.create-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.rename-row input,
.create-row input {
  flex: 1;
  padding: 6px 8px;
}

.rename-btn {
  padding: 6px 10px;
}

.create-account-form label {
  font-size: 13px;
}

.create-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.create-actions {
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
}

.delete-account-btn {
  background: #fbe4e2;
  color: #8b1c1c;
}

.delete-account-btn:hover {
  background: #f2cdca;
  color: #5f0f0f;
}

.modal-close {
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.task-modal-close {
  appearance: none;
  border: none;
  background: rgba(226, 232, 240, 0.6);
  color: #475569;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 500;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.task-modal-close:hover,
.task-modal-close:focus-visible {
  background: rgba(226, 232, 240, 0.95);
  color: #1e293b;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.18);
}

body.modal-open {
  overflow: hidden;
}

.target-settings {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.target-settings-row {
  display: flex;
  gap: 6px;
}

.target-settings-row input {
  flex: 1;
}

.target-state {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}


#copy-amazon-report-token:active {
  transform: translateY(1px);
}

#copy-amazon-report-token.is-copied {
  background: oklch(0.64 0.06 15);
  color: #fff;
  border-color: oklch(0.64 0.06 15);
}

#copy-amazon-report-token-status {
  min-height: 16px;
}

#copy-amazon-report-token-status.is-success {
  color: #2f855a;
}

#copy-amazon-report-token-status.is-error {
  color: #c53030;
}

.target-roas-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
}

.target-roas-value {
  text-align: right;
  white-space: nowrap;
}

.mode-toggle {
  display: flex;
  gap: 8px;
  margin: 8px 0;
}

.mode-section {
  border: 1px solid #e6e6e6;
  padding: 12px;
  border-radius: 6px;
  background: #fff;
}

.upload-placeholder {
  margin-top: 16px;
  padding: 12px;
  border: 1px dashed #ccc;
  border-radius: 6px;
  background: #fdfaf7;
}

.ads-tabs {
  display: flex;
  gap: 10px;
  margin: 12px 0;
  border-bottom: 1px solid #e0e0e0;
}

.ads-tabs .tab {
  padding: 8px 12px;
  border-radius: 6px 6px 0 0;
  text-decoration: none;
  color: #333;
  background: #f7f7f7;
}

.ads-tabs .tab.active,
.ads-tabs .tab:hover {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-bottom: 1px solid #fff;
}

.breadcrumbs {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
}

.notes-button.danger-button {
  background: #fbe4e2;
  color: #8b1c1c;
}

.notes-button.danger-button:hover {
  background: #f2cdca;
  color: #5f0f0f;
}

.breadcrumbs a {
  color: #666;
  text-decoration: none;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.adgroup-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.adgroup-table-actions button {
  border: none;
  background: transparent;
  color: #b30000;
  cursor: pointer;
}

.upload-modal {
  border: 1px solid #e0e0e0;
  padding: 12px;
  border-radius: 6px;
  background: #fff;
  margin-top: 12px;
}

.upload-grid {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}

.upload-grid th,
.upload-grid td {
  border: 1px solid #e0e0e0;
  padding: 6px;
}

.upload-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.amazon-job-snail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 10px;
  color: #6a6a6a;
  font-size: 13px;
}

.amazon-job-snail-emoji {
  font-size: 16px;
}

.amazon-job-snail-track {
  position: relative;
  width: 120px;
  height: 6px;
  background: #f0e6e6;
  border-radius: 999px;
  overflow: hidden;
}

.amazon-job-snail-dot {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 6px;
  background: #c7a9a9;
  border-radius: 999px;
  animation: amazon-snail-move 2s linear infinite;
}

.amazon-job-snail-text {
  font-weight: 600;
}

.amazon-job-connection {
  margin-left: 6px;
  color: #a07a7a;
  font-weight: 600;
}

@keyframes amazon-snail-move {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100px);
  }
}

.decision-star {
  border: none;
  background: transparent;
  color: #b88f8f;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  width: 20px;
  height: 20px;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border-radius: 50%;
}

.decision-star:hover {
  background: rgba(184, 143, 143, 0.15);
}

.ads-amazon-table td.col-star .decision-star,
#zero-orders-targets-table td.zero-star-col .decision-star {
  margin: 0 auto;
}

.decision-star:focus-visible {
  outline: 2px solid #2b6cb0;
  outline-offset: 1px;
  border-radius: 4px;
}

.decision-star.is-saved {
  color: #8c6b6b;
}

.decision-modal .decision-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 12px 0;
}

.decision-modal .decision-readonly {
  background: #f6f4f4;
  border: 1px solid #e6dddd;
  padding: 10px;
  border-radius: 8px;
  white-space: pre-wrap;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 12px;
}

.decision-modal .decision-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 10px;
}

.decision-modal .decision-status {
  color: #666;
  font-size: 13px;
}

.decision-json {
  margin: 0;
  white-space: pre-wrap;
  font-size: 12px;
}

.ads-filters .ads-filter-actions {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.ads-filters .ads-export-csv-button {
  background: #c7a9a9;
}

.ads-filters .ads-export-csv-button:hover:not(:disabled) {
  filter: brightness(0.92);
}

.st-toolbar-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: 6px 0 10px;
}

.st-compact-filters {
  width: 100%;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 0 0 420px;
}

.st-compact-filters label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ads-filters .st-compact-input {
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 10px;
}

.st-compact-input:focus {
  outline: none;
  border-color: #8aa3ff;
  box-shadow: 0 0 0 3px rgba(138, 163, 255, 0.25);
}

.st-compact-filters .ads-filter-actions {
  margin-top: 2px;
}

.st-summary-panel {
  flex: 1;
  min-width: 320px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  padding: 12px 14px;
}

.st-summary-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.st-summary-panel h3 {
  margin: 0;
  font-size: 15px;
}

.st-summary-scope {
  position: relative;
  min-width: 0;
}

.st-summary-scope-trigger {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  max-width: 100%;
}

.st-summary-scope-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  border-bottom: 1px solid rgba(47, 37, 63, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 320px;
}

.st-summary-scope-chevron {
  font-size: 12px;
  color: rgba(47, 37, 63, 0.7);
}

.st-summary-scope-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 260px;
  max-width: min(420px, 90vw);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  z-index: 1200;
  padding: 6px;
}

.st-summary-scope-option {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  color: #2f253f;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.st-summary-scope-option:hover,
.st-summary-scope-option:focus-visible,
.st-summary-scope-option.is-active {
  background: rgba(199, 169, 169, 0.18);
}

.st-summary-sub {
  font-size: 12px;
  color: #7a7487;
  text-align: right;
}

.st-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.st-kpi {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  padding: 10px 12px;
}

.st-kpi-label {
  font-size: 12px;
  color: #7a7487;
}

.st-kpi-value {
  margin-top: 3px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  color: #2f253f;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 0.3ch;
}

.st-kpi-value.roas-below-baseline {
  color: #d9534f;
}

.st-kpi-value.roas-above-baseline {
  color: #28a745;
}

.st-kpi-value.roas-at-baseline {
  color: #2f253f;
}

.st-kpi-secondary {
  font-size: inherit;
  font-weight: inherit;
  color: rgba(122, 116, 135, 0.9);
}

.st-inline-po {
  display: inline;
  white-space: nowrap;
  font-size: 0.92em;
  color: rgba(122, 116, 135, 0.95);
}

.st-inline-po.po-better {
  color: #2f8a4c;
}

.st-inline-po.po-worse {
  color: #b54848;
}

.st-inline-po.po-neutral {
  color: rgba(122, 116, 135, 0.95);
}

@media (max-width: 1100px) {
  .campaign-detail-page .campaign-detail-content-row {
    flex-direction: column;
  }

  .campaign-detail-page .campaign-summary-panel {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .st-kpi-grid,
  .campaign-detail-page .campaign-summary-panel .st-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .st-toolbar-layout {
    flex-direction: column;
  }

  .st-compact-filters {
    max-width: 100%;
    flex-basis: auto;
  }

  .st-summary-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .st-summary-sub {
    text-align: left;
  }

  .st-kpi-grid,
  .campaign-detail-page .campaign-summary-panel .st-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Waste Patterns — layout row ────────────────────────────────────────────── */
.st-summary-wp-row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  align-items: start;
  margin-bottom: 10px;
}

/* ── Waste Patterns — preview card ─────────────────────────────────────────── */
.st-wp-preview {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
  padding: 12px 14px;
  cursor: pointer;
  transition: box-shadow .15s, border-color .15s;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.st-wp-preview:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.09);
  border-color: rgba(0,0,0,0.12);
}

.st-wp-preview-head {
  display: flex;
  align-items: center;
  gap: 6px;
}
.st-wp-preview-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--w4-fg, #1e293b);
  flex: 1;
}
.st-wp-preview-arrow {
  font-size: 13px;
  color: #94a3b8;
}

.st-wp-preview-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.st-wp-preview-loading {
  font-size: 12px;
  color: #94a3b8;
}
.st-wp-preview-empty {
  font-size: 12px;
  color: #94a3b8;
  font-style: italic;
}

.st-wp-preview-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 4px;
}

.st-wp-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.st-wp-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.st-wp-pill-core {
  background: #f1f5f9;
  color: #475569;
}
.st-wp-pill-waste {
  background: #fff1f2;
  color: #be123c;
}

/* ── Waste Patterns — modal backdrop ──────────────────────────────────────── */
.st-wp-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.45);
  z-index: 2000;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 16px 24px;
  overflow-y: auto;
}
.st-wp-backdrop.is-open {
  display: flex;
}

.st-wp-modal {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0,0,0,.2);
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* header */
.st-wp-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 14px;
  border-bottom: 1px solid #f1f5f9;
}
.st-wp-modal-title {
  font-size: 17px;
  font-weight: 800;
  color: #1e293b;
  margin: 0 0 4px;
}
.st-wp-modal-subtitle {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 8px;
  line-height: 1.5;
}
.st-wp-modal-ctx {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.st-wp-ctx-pill {
  background: #f1f5f9;
  color: #64748b;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
}
.st-wp-modal-header > div:first-child { flex: 1; min-width: 0; }
.st-wp-modal-close {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: #f1f5f9;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .12s;
}
.st-wp-modal-close:hover { background: #e2e8f0; color: #1e293b; }

/* summary strip */
.st-wp-modal-strip {
  background: #fef2f2;
  border-bottom: 1px solid #fecaca;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 600;
  color: #991b1b;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
}
.st-wp-strip-stat { white-space: nowrap; }

/* body */
.st-wp-modal-body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  max-height: calc(100vh - 320px);
}

.st-wp-section { display: flex; flex-direction: column; gap: 8px; }
.st-wp-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #94a3b8;
  margin: 0;
}

.st-wp-core-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.st-wp-core-pill {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 600;
}

.st-wp-microcopy {
  font-size: 12px;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* driver cards */
.st-wp-driver {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}
.st-wp-driver-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
}
.st-wp-driver-head:hover { background: #f8fafc; }
.st-wp-driver-word {
  font-size: 14px;
  font-weight: 700;
  color: #be123c;
  min-width: 0;
  flex-shrink: 0;
}
.st-wp-driver-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}
.st-wp-driver-reason { font-size: 12px; color: #64748b; }
.st-wp-driver-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #1e293b;
}
.st-wp-driver-stat-bad { color: #b91c1c; }

.st-wp-driver-expand {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  white-space: nowrap;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color .12s;
}
.st-wp-driver-expand:hover { color: #1e293b; }

.st-wp-driver-examples {
  padding: 0 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  border-top: 1px solid #f1f5f9;
}
.st-wp-driver-example {
  font-size: 12px;
  color: #475569;
  padding: 4px 0;
  display: flex;
  gap: 8px;
  align-items: baseline;
  border-bottom: 1px solid #f8fafc;
}
.st-wp-driver-example:last-child { border-bottom: none; }
.st-wp-example-term { flex: 1; min-width: 0; word-break: break-word; }
.st-wp-example-stat { color: #94a3b8; white-space: nowrap; }

/* footer */
.st-wp-modal-footer {
  border-top: 1px solid #e2e8f0;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.st-wp-footer-note {
  flex: 1;
  font-size: 12px;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}
.st-wp-btn-close {
  flex-shrink: 0;
  background: #f1f5f9;
  border: none;
  border-radius: 8px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
  transition: background .12s;
}
.st-wp-btn-close:hover { background: #e2e8f0; color: #1e293b; }

/* ── Responsive overrides ─────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .st-summary-wp-row { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .st-wp-modal-body { max-height: none; }
  .st-wp-backdrop { padding: 16px 8px; }
}

.amazon-export-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  background: #2d2d2d;
  color: #fff;
  padding: 10px 12px;
  border-radius: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 9999;
}

.amazon-export-toast.is-visible {
  opacity: 1;
}

.amzDashAlerts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  width:100%;
  margin: 10px 0 8px;
}
@media (max-width: 900px){
  .amzDashAlerts{ grid-template-columns:1fr; }
}

.amzDashAlert{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:44px;
  padding:10px 12px;
  border-radius:6px;
  border:1px solid #e6cfa5;
  background:#fbf3e3;

  display:flex;
  align-items:center;
  gap:8px;

  font-size:13px;
  line-height:1;
  font-weight:600;
}

.amzDashAlert__icon{
  width:16px;
  flex:0 0 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.9;
}
.amzDashAlert__icon--spacer{ visibility:hidden; }

.amzDashAlert__main{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:8px;
}

.amzDashAlert__text{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.amzDashAlert__textLink{
  color:inherit;
  text-decoration:none;
}

.amzDashAlert__clear{
  flex:0 0 auto;
  color:inherit;
  text-decoration:underline;
  font-size:12px;
  line-height:1;
}

.amzDashAlert__button {
  box-sizing:border-box;
  flex:1 1 auto;
  min-width:0;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  align-items:center;
  text-align:left;
  font:inherit;
}

.zero-orders-targets-block:disabled {
  cursor: default;
  opacity: 0.6;
}

.zero-orders-benchmark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.zero-orders-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  margin-right: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 100%;
}

.zero-orders-period {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.zero-orders-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zero-orders-search-wrap {
  display: inline-flex;
  align-items: center;
  position: relative;
  min-width: 0;
  flex: 1 1 240px;
}

.zero-orders-search-input {
  width: 250px;
  max-width: min(28vw, 100%);
  padding: 6px 26px 6px 8px;
}

.zero-orders-search-clear {
  position: absolute;
  right: 6px;
  border: 0;
  background: transparent;
  color: #666;
  cursor: pointer;
  padding: 2px;
  line-height: 1;
}

.zero-orders-filters {
  position: relative;
}

.zero-orders-filters-toggle {
  min-width: 96px;
}

.zero-orders-filters-popover {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--ads-amazon-z-floating);
  width: 280px;
  max-width: calc(100vw - 40px);
  padding: 12px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
  overflow: hidden;
}

.zero-orders-filters-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

.zero-orders-filters-grid input[type="number"],
.zero-orders-filters-grid select,
.zero-orders-filters-actions .btn {
  width: 100%;
  box-sizing: border-box;
}

.zero-orders-filters-actions {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
}

#zero-orders-targets-table {
  width: 100%;
  min-width: 100%;
  table-layout: fixed;
  margin-top: 0;
}

.zero-orders-table-scroll {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

#zero-orders-targets-table th.zero-star-head,
#zero-orders-targets-table td.zero-star-col {
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

#zero-orders-targets-table col.zero-col-star {
  width: 36px;
  min-width: 36px;
  max-width: 36px;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-campaign {
  width: 14%;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-ad-group {
  width: 14%;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-target {
  width: auto;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-spent {
  width: 15%;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-clicks {
  width: 11%;
}

#zero-orders-targets-table.is-zero-orders col.zero-col-impressions {
  width: 14%;
}

#zero-orders-targets-table.is-under-roas col.zero-col-campaign,
#zero-orders-targets-table.is-under-roas col.zero-col-ad-group {
  width: 12%;
}

#zero-orders-targets-table.is-under-roas col.zero-col-target {
  width: auto;
}

#zero-orders-targets-table.is-under-roas col.zero-col-spent {
  width: 13%;
}

#zero-orders-targets-table.is-under-roas col.zero-col-revenue,
#zero-orders-targets-table.is-under-roas col.zero-col-roas,
#zero-orders-targets-table.is-under-roas col.zero-col-orders,
#zero-orders-targets-table.is-under-roas col.zero-col-clicks,
#zero-orders-targets-table.is-under-roas col.zero-col-impressions {
  width: 9%;
}

#zero-orders-targets-table th:nth-child(1),
#zero-orders-targets-table td:nth-child(1),
#zero-orders-targets-table th:nth-child(2),
#zero-orders-targets-table td:nth-child(2),
#zero-orders-targets-table th:nth-child(3),
#zero-orders-targets-table td:nth-child(3) {
  text-align: left;
}

#zero-orders-targets-table .zero-orders-row-trigger {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  max-width: 100%;
}

#zero-orders-targets-table td.zero-spent-col {
  white-space: nowrap;
  vertical-align: middle;
}

#zero-orders-targets-table td.zero-clicks-col,
#zero-orders-targets-table td:nth-child(9) {
  white-space: nowrap;
  vertical-align: middle;
}

#zero-orders-targets-table td.zero-spent-col .zero-orders-po,
#zero-orders-targets-table td.zero-clicks-col .zero-orders-po,
#zero-orders-targets-table td.zero-impressions-col .zero-orders-po {
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
}

#zero-orders-targets-table td.zero-spent-col,
#zero-orders-targets-table td.zero-clicks-col,
#zero-orders-targets-table td.zero-impressions-col {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
}

.st-drilldown-modal .modal-close {
  appearance: none;
  border: none;
  background: rgba(226, 232, 240, 0.6);
  color: #475569;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 500;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.st-drilldown-modal .modal-close:hover,
.st-drilldown-modal .modal-close:focus-visible {
  background: rgba(226, 232, 240, 0.95);
  color: #1e293b;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.18);
}

.zero-orders-dataset-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid #d7c8c8;
  border-radius: 999px;
  background: #f7eeee;
  margin-right: 8px;
}

.zero-orders-dataset-option {
  border: 0;
  background: transparent;
  color: #5a4747;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.zero-orders-dataset-option.is-active {
  background: #c7a9a9;
  color: #2f1f1f;
}

.zero-orders-dataset-option:hover,
.zero-orders-dataset-option:focus-visible {
  filter: brightness(0.92);
  color: #fff;
  outline: none;
}

.zero-orders-link {
  color: #2b6cb0;
  text-decoration: underline;
}

.zero-orders-link:hover {
  color: #1f4f82;
}

.zero-orders-po {
  color: #666;
}

.zero-orders-detail {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  background: #fafafa;
}

.zero-orders-metrics {
  display: grid;
  gap: 6px;
}

@media (max-width: 1200px) {
  .zero-orders-controls {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }

  .zero-orders-period,
  .zero-orders-benchmark,
  .zero-orders-search-wrap,
  .zero-orders-filters {
    flex: 1 1 220px;
    min-width: 180px;
  }

  .zero-orders-search-input {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .st-drilldown-modal {
    width: min(100vw - 16px, 760px);
    max-height: 92vh;
    padding: 12px;
  }

  .st-drilldown-modal .settings-modal-header {
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
  }

  .zero-orders-controls {
    margin-right: 0;
    width: 100%;
    gap: 8px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .zero-orders-dataset-switch,
  .zero-orders-benchmark,
  .zero-orders-search-wrap,
  .zero-orders-filters {
    width: 100%;
    min-width: 0;
    margin-right: 0;
  }

  .zero-orders-dataset-switch {
    justify-content: flex-start;
  }

  .zero-orders-search-input {
    width: 100%;
    max-width: 100%;
  }

  .zero-orders-filters-toggle {
    width: 100%;
  }

  .zero-orders-table-scroll #zero-orders-targets-table {
    min-width: 980px;
  }

  #zero-orders-targets-table td,
  #zero-orders-targets-table th {
    white-space: nowrap;
  }

  #zero-orders-targets-table td.zero-target-col {
    white-space: normal;
    min-width: 240px;
  }
}

.amazon-waste-page {
  display: grid;
  gap: 14px;
}

.amazon-page-subtitle {
  margin: 4px 0 0;
  color: #6f6f7a;
  font-size: 13px;
}

.waste-filters-row {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #fff;
  border-radius: 12px;
}

.waste-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.waste-kpi-grid .text-danger {
  color: #c86060;
}

.waste-insights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.waste-list-compact {
  margin: 8px 0;
  padding-left: 18px;
}

.waste-list-compact li {
  margin: 4px 0;
}

.waste-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.waste-priority-table-wrap {
  overflow: hidden;
}

@media (max-width: 980px) {
  .waste-kpi-grid,
  .waste-insights-grid {
    grid-template-columns: 1fr;
  }
}

.performance-drilldown-modal,
#performance-drilldown-modal .performance-drilldown-modal {
  /* Match Account Trends' compact-pass size (ads_amazon_waste_v4.css) —
     this ID-scoped selector outranks .w4-account-trends-modal on
     specificity alone, so it has to carry the same numbers directly
     rather than relying on that shared class to win. */
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
  height: min(560px, calc(100vh - 20px));
  max-height: calc(100vh - 20px);
  overflow: hidden;
  padding: 0;
  width: min(980px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
}
.performance-drilldown-modal .settings-modal-header {
  flex: 0 0 auto;
  margin: 0;
}
.performance-drilldown-body {
  /* Same grid mechanism as .w4-account-trends-body (auto / flexible / auto).
     The chart row's floor is set to Account Trends' own effective chart
     height (~400px in a 560px modal) so extra rows below it (the
     target-only search-terms table) push into scroll instead of
     squeezing the chart shorter than Account Trends'. */
  grid-template-rows: auto minmax(400px, 1fr) auto !important;
  gap: 12px !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}
.performance-drilldown-title-type {
  background: color-mix(in oklab, oklch(0.55 0.22 280) 12%, #fff);
  border-radius: 999px;
  color: oklch(0.55 0.22 280);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 3px 9px;
  text-transform: uppercase;
  flex: 0 0 auto;
}
.performance-drilldown-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  min-height: 16px;
}
.performance-drilldown-crumb-link {
  color: #6a7086;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.performance-drilldown-crumb-link:hover,
.performance-drilldown-crumb-link:focus-visible { color: #1a1e2e; text-decoration: underline; }
.performance-drilldown-crumb-sep { color: #aab0c4; font-size: 11px; padding: 0 6px; }
.performance-drilldown-dot { display: inline-flex; align-items: center; justify-content: center; font-weight: 800; margin: 0 6px; }
.performance-drilldown-modal [data-drilldown-status]:empty { display: none; }
.performance-drilldown-header-actions { display: flex; gap: 8px; align-items: center; min-width: 0; }
.performance-drilldown-period-value {
  font-size: 12px;
  font-weight: 700;
  color: #5e4e72;
  white-space: nowrap;
  min-width: 0;
}
.performance-drilldown-period-button {
  display: inline-flex;
  width: auto;
  max-width: min(100%, 280px);
  min-width: 0;
  min-height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(85, 68, 111, 0.28);
  background: #f8f3ff;
  color: #2f243d;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  padding: 5px 9px;
  white-space: nowrap;
}
.performance-drilldown-period-button:hover,
.performance-drilldown-period-button:focus-visible {
  background: #f1e9fc;
  border-color: rgba(85, 68, 111, 0.42);
}
.performance-drilldown-grain {
  position: relative;
  display: inline-flex;
}
.performance-drilldown-grain-trigger {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(85, 68, 111, 0.18);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(42, 31, 59, 0.06);
  color: #2f243d;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  justify-content: space-between;
  min-height: 32px;
  min-width: 92px;
  padding: 0 10px;
  white-space: nowrap;
}
.performance-drilldown-grain-trigger:hover,
.performance-drilldown-grain-trigger:focus-visible {
  background: #f8f3ff;
  border-color: rgba(85, 68, 111, 0.34);
  box-shadow: 0 6px 16px rgba(42, 31, 59, 0.10);
}
.performance-drilldown-grain-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 40;
  min-width: 112px;
  padding: 6px;
  background: #fff;
  border: 1px solid rgba(85, 68, 111, 0.16);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(42, 31, 59, 0.14);
}
.performance-drilldown-grain-option {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #2f243d;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  justify-content: flex-start;
  padding: 8px 9px;
  text-align: left;
}
.performance-drilldown-grain-option:hover,
.performance-drilldown-grain-option:focus-visible,
.performance-drilldown-grain-option.is-active {
  background: #f1e9fc;
}
.performance-drilldown-amazon-link {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(85, 68, 111, 0.18);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(42, 31, 59, 0.06);
  color: #2f243d;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  min-height: 32px;
  padding: 0 10px;
  text-decoration: none;
  white-space: nowrap;
}
.performance-drilldown-amazon-link:hover,
.performance-drilldown-amazon-link:focus-visible {
  border-color: rgba(85, 68, 111, 0.34);
  box-shadow: 0 6px 16px rgba(42, 31, 59, 0.10);
  color: #2f243d;
  text-decoration: none;
}
.performance-drilldown-section-label {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #8a91a8;
  text-transform: uppercase;
}
.performance-drilldown-section-bar {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
}
.pd-camp-filter { position: relative; }
.pd-camp-filter-btn {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  color: #475569;
  cursor: pointer;
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  gap: 5px;
  padding: 3px 10px;
  white-space: nowrap;
}
.pd-camp-filter-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }
.pd-camp-filter-btn.is-active { background: #eff6ff; border-color: #93c5fd; color: #1d4ed8; }
.pd-camp-filter-clear { font-size: 14px; line-height: 1; opacity: 0.6; }
.pd-camp-filter-clear:hover { opacity: 1; }
.pd-camp-filter-dropdown {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  max-height: 260px;
  min-width: 220px;
  overflow-y: auto;
  padding: 4px;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 10;
}
.pd-camp-filter-option {
  background: none;
  border: none;
  border-radius: 7px;
  color: #1e293b;
  cursor: pointer;
  display: block;
  font-size: 12px;
  padding: 7px 10px;
  text-align: left;
  width: 100%;
}
.pd-camp-filter-option:hover { background: #f8fafc; }
.pd-camp-filter-option.is-active { background: #eff6ff; color: #1d4ed8; font-weight: 600; }
.performance-drilldown-table-wrap {
  overflow-x: auto;
  border-radius: 10px;
  border: 1px solid #e8ecf4;
}
.performance-drilldown-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.performance-drilldown-table thead th {
  padding: 8px 12px;
  text-align: left;
  background: #f4f6fb;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #8a91a8;
  border-bottom: 1px solid #e8ecf4;
  text-transform: uppercase;
  white-space: nowrap;
}
.performance-drilldown-table tbody td {
  padding: 7px 12px;
  border-bottom: 1px solid #f0f2f8;
  white-space: nowrap;
  vertical-align: middle;
}
.performance-drilldown-table tbody tr:last-child td { border-bottom: 0; }
.performance-drilldown-table tbody td:nth-child(-n+4) { white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
.performance-drilldown-controls { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.performance-drilldown-hierarchy { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.performance-drilldown-hierarchy-tab {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f4f6fb;
  color: #6a7086;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.performance-drilldown-hierarchy-tab.is-active {
  background: color-mix(in oklab, oklch(0.55 0.22 280) 10%, #fff);
  border-color: color-mix(in oklab, oklch(0.55 0.22 280) 28%, #e2e8f0);
  color: oklch(0.55 0.22 280);
}
.performance-drilldown-hierarchy-tab:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.performance-drilldown-link {
  color: #4e60a0;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.performance-drilldown-link:hover,
.performance-drilldown-link:focus-visible { color: #1a1e2e; }
.performance-drilldown-cell-link {
  color: #4e60a0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.performance-drilldown-cell-link:hover,
.performance-drilldown-cell-link:focus-visible { color: #1a1e2e; }
.performance-drilldown-target-context-link {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.performance-drilldown-context { max-width: 260px; white-space: normal; }
.performance-drilldown-match { max-width: 150px; white-space: normal; }
.performance-drilldown-match-sub { font-size: 11px; color: #8a91a8; margin-top: 2px; }
.performance-drilldown-table tr.is-inactive td { color: #aab0c4; }
.performance-drilldown-table tr.is-inactive .performance-drilldown-cell-link { color: #aab0c4; }
.performance-drilldown-table tr.is-inactive .performance-drilldown-cell-link:hover { color: #6b7280; }
.performance-drilldown-table tbody tr:has(.sw-action-badge.is-negative) { background: #f3f4f6; }
.pd-copy-btn { background: none; border: none; padding: 0 0 0 5px; cursor: pointer; color: #94a3b8; vertical-align: middle; line-height: 1; opacity: .7; transition: opacity .1s; flex-shrink: 0; }
.pd-copy-btn:hover { color: #1d4ed8; opacity: 1; }
.pd-copy-btn.is-copied { color: #15803d; }
.performance-drilldown-chart-shell { border: 1px solid #e8ecf4; border-radius: 12px; background: #f8f9fd; padding: 12px 14px 8px; }
.performance-drilldown-toggles { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.performance-drilldown-toggle { border: 1px solid rgba(85, 68, 111, 0.16); border-radius: 999px; background: #fff; color: #4e4060; padding: 6px 12px; font-size: 14px; font-weight: 700; cursor: pointer; }
.performance-drilldown-toggle.is-active { background: #ece4f7; color: #2f243d; border-color: rgba(85, 68, 111, 0.36); box-shadow: inset 0 0 0 1px rgba(85, 68, 111, 0.25); }
/* No fixed height here on purpose — inherits .w4-trends-chart-wrap's flexible
   sizing (ads_amazon_waste_v4.css) so the chart matches Account Trends' scale. */
.performance-drilldown-chart { overflow: visible; }
.performance-drilldown-legend {
  position: absolute;
  top: 10px;
  right: 12px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  color: #3f334f;
  font-size: 12px;
  z-index: 2;
}
.performance-drilldown-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.84);
  border-radius: 999px;
  padding: 3px 8px;
}
.performance-drilldown-legend-line { display: inline-block; width: 26px; height: 0; border-top: 3px solid #3f63dc; vertical-align: middle; margin-right: 6px; border-radius: 3px; }
.performance-drilldown-legend-line--previous { border-top-style: dashed; border-top-width: 2px; opacity: .75; }
.performance-drilldown-line { fill: none; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.performance-drilldown-line--previous { stroke-width: 2; stroke-dasharray: 7 5; opacity: .72; }
.performance-drilldown-hover-line { stroke: rgba(70, 53, 95, 0.55); stroke-width: 1.4; stroke-dasharray: 3 5; pointer-events: none; }
.performance-drilldown-hover-marker { fill: #fff; stroke-width: 2.2; pointer-events: none; }
.performance-drilldown-hover-marker--previous { stroke-width: 1.6; stroke-dasharray: 2 2; }
.performance-drilldown-hover-hotspot { fill: transparent; }
.performance-drilldown-tooltip {
  position: absolute;
  transform: none;
  background: rgba(33, 25, 45, 0.92);
  color: #fff;
  font-size: 13px;
  line-height: 1.35;
  border-radius: 8px;
  padding: 6px 8px;
  pointer-events: none;
  min-width: 190px;
  max-width: 320px;
  z-index: 15;
}
.performance-drilldown-tooltip-date { font-weight: 700; margin-bottom: 4px; }
.pd-tooltip-action { font-size: 11px; margin-top: 4px; font-weight: 600; border-top: 1px solid rgba(255,255,255,.15); padding-top: 4px; }

/* Action strip — between chart and Where else */
.pd-action-strip {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 4px;
  padding: 8px 12px;
  background: #f9fafb;
  border: 1px solid #eef1f6;
  border-radius: 10px;
}
.pd-action-strip[hidden] { display: none; }
.pd-action-strip-label { color: #9ca3af; font-size: 11px; font-weight: 600; line-height: 22px; flex-shrink: 0; text-transform: uppercase; letter-spacing: .04em; }
.pd-action-strip-items { display: flex; flex-wrap: wrap; gap: 5px; }
.pd-action-chip {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  gap: 4px;
  padding: 3px 9px 3px 7px;
  white-space: nowrap;
}
.pd-action-chip.is-negative      { background: #ede9fe; color: #5b21b6; }
.pd-action-chip.is-bid_reduced   { background: #fef3c7; color: #92400e; }
.pd-action-chip.is-bid_increased { background: #d1fae5; color: #065f46; }
.pd-action-chip.is-hide_no_action { background: #f3f4f6; color: #6b7280; }
.pd-action-chip.is-moved         { background: #dbeafe; color: #1e40af; }
.pd-action-chip-date { opacity: .65; font-weight: 500; }
.pd-action-chip-scope { opacity: .65; font-style: italic; }
.pd-action-chip-match { opacity: 1; font-style: normal; font-weight: 700; font-size: 9px; letter-spacing: .04em; margin-left: 4px; padding: 1px 4px; border-radius: 3px; background: rgba(0,0,0,.10); }
.performance-drilldown-gridline { stroke: rgba(68, 52, 92, 0.09); stroke-width: 1; }
.performance-drilldown-baseline { stroke: rgba(68, 52, 92, 0.2); stroke-width: 1; stroke-dasharray: 4 6; }
.performance-drilldown-y-label { fill: #433455; font-size: 12px; text-anchor: end; }
.performance-drilldown-x-label { fill: #5a4a70; font-size: 11px; text-anchor: middle; }
.performance-drilldown-empty { color: #8a91a8; padding: 8px 2px; font-size: 13px; }
.performance-drilldown-close-btn {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f4f6fb;
  color: #6a7086;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.performance-drilldown-close-btn:hover,
.performance-drilldown-close-btn:focus-visible { background: #e8ecf4; color: #1a1e2e; }
.performance-drilldown-search-term-link {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  color: #4e60a0;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.performance-drilldown-search-term-link:hover,
.performance-drilldown-search-term-link:focus-visible { color: #1a1e2e; }
.performance-drilldown-state {
  margin: 0;
  display: none;
}
.performance-drilldown-modal.is-drilldown-loading .performance-drilldown-body > :not(.performance-drilldown-state) {
  filter: blur(2px);
  opacity: 0.45;
  pointer-events: none;
}
.performance-drilldown-modal.is-drilldown-loading .performance-drilldown-state {
  position: absolute;
  inset: 56px 16px 16px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(1px);
  font-size: 14px;
  color: #3d2f50;
  font-weight: 600;
  z-index: 6;
}
.performance-drilldown-modal.is-drilldown-loading .performance-drilldown-state::after {
  content: '';
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 3px solid rgba(63, 99, 220, 0.2);
  border-top-color: #3f63dc;
  animation: waste2-trends-spin 0.8s linear infinite;
}
@keyframes waste2-trends-spin {
  to { transform: rotate(360deg); }
}
.performance-drilldown-backdrop.visible { display: flex; }
@media (max-width: 900px) {
  .performance-drilldown-header-inner {
    gap: 10px;
    padding: 12px 14px 10px;
  }
  .w4-account-trends-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

:root {
  --w4-card: oklch(1 0 0);
  --w4-border: oklch(0.92 0.005 260);
  --w4-border-strong: oklch(0.88 0.008 260);
  --w4-primary: oklch(0.55 0.22 280);
  --w4-primary-glow: oklch(0.68 0.20 285);
  --w4-muted: oklch(0.96 0.005 260);
  --w4-muted-fg: oklch(0.50 0.02 260);
  --w4-shadow-card: 0 1px 2px oklch(0.20 0.03 260 / 0.05), 0 8px 24px oklch(0.20 0.03 260 / 0.06);
  --w4-shadow-pop: 0 12px 40px oklch(0.20 0.03 260 / 0.10);
  --w4-gradient-primary: linear-gradient(135deg, oklch(0.55 0.22 280), oklch(0.68 0.20 285));
}

.amazon-period-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--ads-amazon-z-floating-overlay) + 10);
}

.amazon-period-modal[hidden] {
  display: none;
}

.amazon-period-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(1px);
}

.amazon-period-modal__dialog {
  position: relative;
  width: 800px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 48px);
  margin: 24px auto;
  background: #f5f6f8;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 20px 70px rgba(15, 23, 42, 0.22);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.amazon-period-modal__header,
.amazon-period-modal__footer {
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.amazon-period-modal__header {
  height: 56px;
  border-bottom: 1px solid rgba(229, 231, 235, 0.75);
  background: #f8f9fb;
}

.amazon-period-modal__footer {
  height: 56px;
  flex-shrink: 0;
  border-top: 1px solid rgba(229, 231, 235, 0.7);
  border-bottom: 0;
  background: #f1f5f9;
  gap: 10px;
}

.amazon-period-modal__title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #111827;
}

.amazon-period-modal__close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  color: #374151;
  cursor: pointer;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.amazon-period-modal__close:hover,
.amazon-period-modal__close:focus-visible {
  background: rgba(148, 163, 184, 0.32);
  color: #111827;
}

.amazon-period-modal__body {
  display: grid;
  grid-template-columns: 190px 1fr;
  align-items: stretch;
  gap: 0;
  padding: 0;
  min-height: unset;
}

.amazon-period-modal__presets {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 12px;
  border-right: 1px solid rgba(229, 231, 235, 0.9);
  background: #eef3f8;
}

.amazon-period-modal__presets .period-option {
  height: 36px;
  border: 0;
  border-radius: 10px;
  padding: 0 12px;
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  background: transparent;
  box-shadow: none;
}

.amazon-period-modal__presets .period-option:hover {
  background: rgba(255, 255, 255, 0.65);
  color: #111827;
}

.amazon-period-modal__presets .period-option.active {
  color: #111827;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.05);
  outline: 1px solid rgba(99, 102, 241, 0.20);
}

.amazon-period-modal__custom {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  background: #f5f6f8;
}

.amazon-period-modal__date-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 520px;
  margin: 0;
}

.amazon-period-modal__date-inputs label {
  margin: 0;
  display: grid;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
}

.amazon-period-modal__date-inputs input[type="date"],
.amazon-period-modal__date-inputs input[type="text"] {
  height: 38px;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  background: #fff;
  padding: 0 12px;
  font-size: 13px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: #111827;
}

.amazon-period-modal__calendar-surface {
  margin-top: 14px;
  width: 100%;
  max-width: 520px;
}

.amazon-period-modal__date-inputs input[type="date"]:focus-visible,
.amazon-period-modal__date-inputs input[type="text"]:focus-visible {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
  outline: 0;
}

.amazon-period-modal__custom .flatpickr-calendar.inline {
  margin-top: 0;
  border-radius: 12px;
  border: 1px solid rgba(229, 231, 235, 0.85);
  background: rgba(255, 255, 255, 0.72);
  padding: 16px;
  width: 100%;
  max-width: 520px;
  box-shadow: none;
}

.amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-rContainer {
  width: 100%;
  min-width: 0;
}

.amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-days {
  width: 100%;
}

.amazon-period-modal__custom .flatpickr-months {
  gap: 22px;
}

.amazon-period-modal__custom .flatpickr-calendar.inline .dayContainer {
  min-width: 270px;
  max-width: 270px;
}

.amazon-period-modal__custom .flatpickr-months .flatpickr-month {
  min-height: 38px;
  margin-bottom: 14px;
}

.amazon-period-modal__custom .flatpickr-current-month {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}

.amazon-period-modal__custom .flatpickr-weekday {
  color: #9ca3af;
  font-weight: 600;
  font-size: 12px;
}

.amazon-period-modal__custom .flatpickr-day {
  max-width: 34px;
  width: 34px;
  height: 34px;
  line-height: 34px;
  border-radius: 10px;
  font-size: 13px;
  color: #374151;
}

.amazon-period-modal__custom .flatpickr-day.inRange {
  background: #ececf8;
  border-color: #ececf8;
  box-shadow: none;
}

.amazon-period-modal__custom .flatpickr-day.startRange,
.amazon-period-modal__custom .flatpickr-day.endRange,
.amazon-period-modal__custom .flatpickr-day.selected {
  background: #6366f1;
  border-color: #6366f1;
  color: #fff;
  border-radius: 999px;
}

.amazon-period-modal__custom .flatpickr-day.prevMonthDay,
.amazon-period-modal__custom .flatpickr-day.nextMonthDay {
  color: #d1d5db;
}

.amazon-period-modal__summary {
  color: #6b7280;
  font-size: 12px;
}

.amazon-period-modal__actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.amazon-period-modal__actions [data-period-modal-cancel] {
  height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
}

.amazon-period-modal__actions [data-period-modal-apply] {
  height: 36px;
  padding: 0 16px;
  border-radius: 10px;
  border: 0;
  color: #fff !important;
  background: linear-gradient(135deg, oklch(55% .22 280), oklch(68% .2 285));
  box-shadow: 0 8px 20px oklch(55% .22 280 / .22);
}

.amazon-period-modal__actions [data-period-modal-apply] *,
.period-apply-btn *,
.w4-action-btn *,
.w4-action-btn svg {
  color: #fff !important;
  stroke: currentColor !important;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__dialog {
  width: 724px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 56px);
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__header,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__footer {
  padding: 0 18px;
  height: 50px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__body {
  grid-template-columns: 146px minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__presets {
  gap: 2px;
  padding: 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__presets .period-option {
  height: 30px;
  font-size: 12px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom {
  padding: 10px 12px;
  min-width: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs {
  gap: 12px;
  width: 552px;
  max-width: 552px;
}


.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs label {
  min-width: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs input[type="date"],
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs input[type="text"] {
  min-width: 0;
  line-height: 1.2;
  padding-right: 34px;
  box-sizing: border-box;
}
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__calendar-surface {
  margin-top: 6px;
  width: 552px;
  max-width: 552px;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .period-range-picker-input,
.amazon-period-modal.amazon-period-modal--w4 .flatpickr-calendar.inline {
  display: none !important;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar[hidden] {
  display: none !important;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar {
  position: relative;
  width: 552px;
  max-width: 100%;
  padding: 8px;
  border: 1px solid rgba(229, 231, 235, 0.85);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
  overflow: hidden;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__months {
  display: grid;
  grid-template-columns: 252px 252px;
  gap: 32px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__month {
  min-width: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__month-title {
  height: 34px;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__weekdays,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, 36px);
  gap: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__days {
  grid-auto-rows: 36px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__weekday {
  height: 28px;
  line-height: 28px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #9ca3af;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day {
  position: relative;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #374151;
  font: inherit;
  font-size: 13px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.amazon-period-modal.amazon-period-modal--w4 button.w4-period-calendar__day {
  cursor: pointer;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day span {
  position: relative;
  z-index: 2;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-empty {
  pointer-events: none;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-disabled {
  color: #cbd5e1;
  cursor: not-allowed;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-in-range {
  background: #ececf8;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-range-corner-top-left {
  border-top-left-radius: 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-range-corner-top-right {
  border-top-right-radius: 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-range-corner-bottom-left {
  border-bottom-left-radius: 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-range-corner-bottom-right {
  border-bottom-right-radius: 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-end {
  color: #fff;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start {
  background: linear-gradient(to right, transparent 0 50%, #ececf8 50% 100%);
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-end {
  background: linear-gradient(to right, #ececf8 0 50%, transparent 50% 100%);
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start.is-end,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start.is-range-corner-top-right,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start.is-range-corner-bottom-right,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-end.is-range-corner-top-left,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-end.is-range-corner-bottom-left {
  background: transparent;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-start::before,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-end::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #6366f1;
  pointer-events: none;
  z-index: 1;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__day.is-today:not(.is-start):not(.is-end)::after {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #94a3b8;
  border-radius: 999px;
  pointer-events: none;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__nav {
  position: absolute;
  top: 12px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #374151;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  z-index: 3;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__nav:hover,
.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__nav:focus-visible {
  background: rgba(148, 163, 184, 0.16);
  outline: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__nav--prev {
  left: 10px;
}

.amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__nav--next {
  right: 10px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent[hidden] {
  display: none !important;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent {
  width: 552px;
  max-width: 552px;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-list {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-btn {
  height: 28px;
  flex: 0 0 auto;
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #475569;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-btn:hover,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-btn:focus-visible,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-btn.is-active {
  border-color: rgba(99, 102, 241, 0.35);
  background: #fff;
  color: #111827;
  outline: 0;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline {
  width: 552px;
  max-width: 552px;
  padding: 8px;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-rContainer {
  width: 536px;
  min-width: 536px;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-innerContainer {
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-days {
  display: flex !important;
  gap: 32px;
  width: 536px !important;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-months {
  display: flex;
  gap: 32px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-weekdays {
  display: flex !important;
  gap: 32px;
  width: 536px !important;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline .dayContainer {
  display: grid !important;
  grid-template-columns: repeat(7, 36px);
  grid-auto-rows: 36px;
  width: 252px;
  max-width: 252px;
  min-width: 252px;
  justify-content: start;
  overflow: visible;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-months .flatpickr-month {
  margin-bottom: 8px;
  width: 252px;
  min-width: 252px;
  max-width: 252px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-weekdaycontainer {
  display: grid !important;
  grid-template-columns: repeat(7, 36px);
  width: 252px;
  min-width: 252px;
  max-width: 252px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-weekday {
  display: block;
  width: 36px;
  max-width: 36px;
  min-width: 36px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-current-month {
  padding: 0 32px 0 14px;
  box-sizing: border-box;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-current-month input.cur-year {
  appearance: textfield;
  -moz-appearance: textfield;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-current-month input.cur-year::-webkit-outer-spin-button,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-current-month input.cur-year::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  height: 36px;
  line-height: 1;
  border-radius: 0;
  margin: 0;
  position: relative;
  overflow: visible;
  isolation: isolate;
  z-index: 1;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day .flatpickr-day-label {
  position: relative;
  z-index: 2;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {
  border-radius: 999px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.inRange {
  background: #ececf8;
  border-color: #ececf8;
  border-radius: 0;
  box-shadow: none;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.inRange.is-week-start {
  border-radius: 8px 0 0 8px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.inRange.is-week-end {
  border-radius: 0 8px 8px 0;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.startRange {
  background: linear-gradient(to right, transparent 0 50%, #ececf8 50% 100%);
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.endRange {
  background: linear-gradient(to right, #ececf8 0 50%, transparent 50% 100%);
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.startRange.is-week-end,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.endRange.is-week-start {
  background: transparent;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.selected {
  color: #fff;
  z-index: 3;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.selected:not(.startRange):not(.endRange) {
  background: #6366f1;
  border-color: #6366f1;
  border-radius: 999px;
}

.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.startRange::before,
.amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-day.endRange::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #6366f1;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 860px) {
  .amazon-period-modal__dialog {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    margin: 10px auto;
    max-height: calc(100vh - 20px);
    height: calc(100vh - 20px);
    height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
    overflow: hidden;
  }

  .amazon-period-modal__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  .amazon-period-modal,
  .amazon-period-modal__dialog,
  .amazon-period-modal__body,
  .amazon-period-modal__custom {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .amazon-period-modal::-webkit-scrollbar,
  .amazon-period-modal__dialog::-webkit-scrollbar,
  .amazon-period-modal__body::-webkit-scrollbar,
  .amazon-period-modal__custom::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .amazon-period-modal::-webkit-scrollbar-track,
  .amazon-period-modal__dialog::-webkit-scrollbar-track,
  .amazon-period-modal__body::-webkit-scrollbar-track,
  .amazon-period-modal__custom::-webkit-scrollbar-track,
  .amazon-period-modal::-webkit-scrollbar-thumb,
  .amazon-period-modal__dialog::-webkit-scrollbar-thumb,
  .amazon-period-modal__body::-webkit-scrollbar-thumb,
  .amazon-period-modal__custom::-webkit-scrollbar-thumb {
    background: transparent;
  }

  .amazon-period-modal.amazon-period-modal--w4 * {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .amazon-period-modal.amazon-period-modal--w4 *::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .amazon-period-modal.amazon-period-modal--w4 *::-webkit-scrollbar-track,
  .amazon-period-modal.amazon-period-modal--w4 *::-webkit-scrollbar-thumb {
    background: transparent;
  }

  .amazon-period-modal__presets {
    width: 100%;
    flex: 0 0 auto;
    border-right: 0;
    border-bottom: 1px solid rgba(229, 231, 235, 0.7);
    flex-direction: row;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .amazon-period-modal__presets::-webkit-scrollbar {
    display: none;
  }

  .amazon-period-modal__date-inputs {
    grid-template-columns: 1fr;
  }

  .amazon-period-modal__custom {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .amazon-period-modal__summary {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__dialog {
    max-width: calc(100vw - 20px);
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__body {
    grid-template-columns: 1fr;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom {
    padding: 10px 14px;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs label {
    gap: 5px;
    font-size: 10px;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs input[type="date"],
  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs input[type="text"] {
    height: 34px;
    padding-left: 9px;
    padding-right: 24px;
    font-size: 11px;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__calendar-surface {
    max-width: 100%;
    overflow-x: hidden;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__date-inputs,
  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__calendar-surface,
  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent {
    max-width: 100%;
    width: 100%;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent {
    min-width: 0;
    align-items: flex-start;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__recent-list::-webkit-scrollbar {
    display: none;
  }

  .amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar {
    width: 100%;
    max-width: 100%;
  }

  .amazon-period-modal.amazon-period-modal--w4 .w4-period-calendar__months {
    grid-template-columns: minmax(0, 252px);
    justify-content: center;
    gap: 0;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline {
    width: max-content;
    max-width: none;
  }

  .amazon-period-modal.amazon-period-modal--w4 .amazon-period-modal__custom .flatpickr-calendar.inline .flatpickr-rContainer {
    min-width: 270px;
  }
}

/* Single date and time uses the shared Waste 4.0 calendar without range controls. */
.amazon-period-modal .amazon-period-modal__date-inputs label[hidden] {
  display: none !important;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__dialog {
  width: 360px;
  max-width: calc(100vw - 16px);
  height: auto;
  max-height: calc(100dvh - 20px);
  margin: 10px auto;
  overflow-y: auto;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__body {
  display: block;
  flex: 0 1 auto;
  overflow-y: auto;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__presets {
  display: none;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__custom {
  align-items: center;
  flex: none;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__date-inputs {
  width: 100%;
  max-width: 270px;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 8px;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__date-inputs input[type="time"] {
  box-sizing: border-box;
  width: 100%;
  height: 38px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 13px;
  padding: 0 6px;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .amazon-period-modal__calendar-surface,
.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .w4-period-calendar {
  width: 270px;
  max-width: 100%;
}

.amazon-period-modal.amazon-period-modal--w4.amazon-period-modal--single-datetime .w4-period-calendar__months {
  grid-template-columns: 252px;
  gap: 0;
}

/* Decision popover — appended to body, must use literal colors */
.dp-pop {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(30,37,53,.14);
  color: #1e2535;
  font-family: inherit;
  font-size: 13px;
  min-width: 210px;
  padding: 12px;
  position: absolute;
  z-index: 9998;
}
.dp-term {
  color: #6b7280;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 10px;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.dp-action-list { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; }
.dp-action-btn {
  background: none;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  color: #374151;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  text-align: left;
  transition: background .1s, border-color .1s;
}
.dp-action-btn:hover:not(:disabled) { background: #f3f4f6; border-color: #d1d5db; }
.dp-action-btn.is-active { background: #eff6ff; border-color: #3b82f6; color: #1d4ed8; }
.dp-action-btn:disabled { opacity: .5; cursor: default; }
.dp-was-wrap { font-size: 12px; color: #6b7280; margin-bottom: 6px; }
.dp-was-wrap strong { color: #374151; }
.dp-extra-wrap { margin-bottom: 0; }
.dp-extra-input { margin-bottom: 6px; }
.dp-extra-input, .dp-note-input {
  background: #f9fafb;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  box-sizing: border-box;
  color: #1e2535;
  font-family: inherit;
  font-size: 12px;
  padding: 6px 8px;
  width: 100%;
}
.dp-extra-input:focus, .dp-note-input:focus { border-color: #3b82f6; outline: none; }
.dp-note-wrap { margin-bottom: 10px; }
.dp-footer { align-items: center; display: flex; gap: 8px; }
.dp-save {
  background: #2563eb;
  border: none;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  transition: background .12s;
}
.dp-save:hover:not(:disabled) { background: #1d4ed8; }
.dp-save:disabled { background: #9ca3af; cursor: default; }
.dp-status { color: #6b7280; font-size: 11px; }
.dp-status-inline { color: #6b7280; font-size: 11px; margin-top: 4px; }
.dp-status-inline[hidden] { display: none; }

/* Scope selector inside decision popover */
.dp-scope-wrap { align-items: center; display: flex; gap: 6px; margin-bottom: 8px; }
.dp-scope-label { color: #6b7280; font-size: 11px; flex-shrink: 0; }
.dp-scope-btns { display: flex; gap: 3px; }
.dp-scope-btns[hidden] { display: none; }
.dp-scope-fixed { color: #374151; font-size: 11px; font-weight: 600; }
.dp-scope-fixed[hidden] { display: none; }
.dp-scope-btn {
  background: none;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  color: #374151;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  transition: background .1s, border-color .1s;
}
.dp-scope-btn:hover { background: #f3f4f6; border-color: #d1d5db; }
.dp-scope-btn.is-active { background: #eff6ff; border-color: #3b82f6; color: #1d4ed8; }
.dp-scope-wrap[hidden] { display: none; }

/* Ad group picker inside decision popover */
.dp-adgroup-wrap { margin-bottom: 8px; }
.dp-adgroup-wrap[hidden] { display: none; }
.dp-adgroup-select {
  background: #f9fafb;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  box-sizing: border-box;
  color: #1e2535;
  font-family: inherit;
  font-size: 12px;
  padding: 5px 8px;
  width: 100%;
}
.dp-adgroup-select:focus { border-color: #3b82f6; outline: none; }

/* Existing action / delete section */
.dp-existing-wrap { margin-bottom: 8px; }
.dp-existing-wrap[hidden] { display: none; }
.dp-existing-row {
  align-items: center;
  background: #fef9ec;
  border: 1px solid #fde68a;
  border-radius: 7px;
  display: flex;
  gap: 6px;
  padding: 5px 8px;
  flex-wrap: wrap;
}
.dp-existing-label { color: #92400e; font-size: 11px; font-weight: 600; flex-shrink: 0; }
[data-dp-existing-badge] { color: #374151; font-size: 11px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dp-delete-btn {
  background: none;
  border: 1px solid #fca5a5;
  border-radius: 5px;
  color: #b91c1c;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  transition: background .1s;
  flex-shrink: 0;
}
.dp-delete-btn:hover:not(:disabled) { background: #fee2e2; }
.dp-delete-btn:disabled { opacity: .5; cursor: default; }

/* ST Actions mini modal — appended to body, literal colors */
.stam-pop {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .14);
  min-width: 260px;
  max-width: 360px;
  padding: 0;
  position: absolute;
  z-index: 9999;
}
.stam-pop[hidden] { display: none; }
.stam-header {
  align-items: center;
  border-bottom: 1px solid #f0f2f6;
  display: flex;
  justify-content: space-between;
  padding: 8px 12px 7px;
}
.stam-title { color: #374151; font-size: 12px; font-weight: 700; flex: 1; }
.stam-add-btn {
  background: none;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  color: #374151;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  transition: background .1s, border-color .1s;
}
.stam-add-btn:hover { background: #f3f4f6; border-color: #9ca3af; }
.stam-close {
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0 2px;
}
.stam-close:hover { color: #374151; }
.stam-body { padding: 6px 8px 8px; display: flex; flex-direction: column; gap: 4px; }
.stam-loading, .stam-empty { color: #9ca3af; font-size: 12px; padding: 6px 4px; text-align: center; }
.stam-error { color: #dc2626; font-size: 11px; padding: 4px; }
.stam-entry {
  align-items: center;
  background: #f9fafb;
  border: 1px solid #f0f2f6;
  border-radius: 7px;
  display: flex;
  gap: 6px;
  justify-content: space-between;
  padding: 5px 8px;
}
.stam-entry-main { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; }
.stam-scope { color: #374151; font-size: 11px; font-weight: 600; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stam-date { color: #9ca3af; font-size: 10px; }
.stam-entry-actions { display: flex; flex-shrink: 0; gap: 2px; }
.stam-btn-edit, .stam-btn-delete {
  background: none;
  border: none;
  color: #374151;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  opacity: .6;
  padding: 2px 3px;
  transition: opacity .1s;
}
.stam-btn-edit:hover, .stam-btn-delete:hover { opacity: 1; }
.stam-btn-delete:hover { color: #dc2626; }

/* Amazon module compact density pass */
.amazon-ads-dashboard,
.ads-form-shell {
  font-size: 13px;
}

.ads-amazon-header {
  gap: 8px;
  margin-bottom: 10px;
}

.ads-header-bar,
.ads-header-main,
.ads-controls-row,
.ads-controls-left,
.ads-controls-right,
.ads-filters-bar,
.subnav-actions {
  gap: 8px;
}

.ads-controls-row {
  border-radius: 7px;
  padding: 7px 9px;
}

.ads-filters,
.ads-filters-bar {
  gap: 8px;
}

.ads-source-label {
  font-size: 12px;
  margin-right: 8px;
}

.account-selector-row {
  gap: 8px;
  margin-bottom: 8px;
}

.account-selector-row label,
.ads-filters label {
  gap: 4px;
  font-size: 12px;
}

.account-selector-row select,
.ads-filters select,
.ads-filters input[type="text"],
.ads-filters input[type="number"],
.ads-filters input[type="date"],
.ads-filters textarea,
.ads-filters .st-compact-input {
  border-radius: 7px;
  font-size: 12px;
  min-height: 30px;
  padding: 5px 8px;
}

.ads-breadcrumb {
  font-size: 12px;
  gap: 5px;
}

.ads-subnav {
  gap: 8px;
  margin-bottom: 6px;
}

.ads-subnav-tabs {
  gap: 5px;
}

.subnav-btn,
.nav-actions .subnav-btn,
.notes-button,
.ads-filters .ads-export-csv-button {
  border-radius: 6px;
  font-size: 12px;
  min-height: 29px;
  padding: 5px 9px;
}

.totals-card {
  min-width: 174px;
  padding: 7px 9px;
}

.totals-card .totals-row {
  font-size: 12px;
}

.totals-row strong {
  font-size: 13px;
}

.ads-kpi-grid,
.campaign-summary {
  gap: 8px;
  margin: 8px 0;
}

.kpi-card,
.summary-card,
.form-card,
.upload-summary {
  border-radius: 7px;
  padding: 9px 10px;
}

.kpi-card h3,
.summary-card span,
.upload-summary h2 {
  font-size: 12px;
}

.kpi-value,
.summary-card strong {
  font-size: 16px;
}

.ads-form {
  gap: 8px;
  max-width: 760px;
}

.ads-form label {
  gap: 3px;
  font-size: 12px;
}

.ads-form input,
.ads-form textarea,
.ads-form select {
  border-radius: 6px;
  font-size: 12px;
  padding: 6px 8px;
}

.form-card h2 {
  font-size: 20px;
  margin: 0 0 6px;
}

.form-hint {
  font-size: 12px;
  line-height: 1.35;
}

.ads-amazon-table,
.dashboard-table {
  font-size: 11.5px;
}

.ads-amazon-table th,
.ads-amazon-table td,
.dashboard-table th,
.dashboard-table td,
table.dataTable.ads-amazon-table thead > tr > th,
table.dataTable.ads-amazon-table thead > tr > td {
  padding: 6px 7px;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border-radius: 6px;
  font-size: 12px;
  min-height: 28px;
  padding: 4px 7px;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  font-size: 12px;
}

.decision-json {
  font-size: 11px;
  max-height: 90px;
}

.dp-pop,
.stam-pop {
  border-radius: 8px;
}

/* Amazon modals compact density pass */
.settings-modal {
  border-radius: 8px;
  max-height: calc(100vh - 24px);
  padding: 10px;
}

.settings-modal-header {
  margin-bottom: 7px;
}

.settings-modal-header h3,
.settings-modal-header h2 {
  font-size: 14px;
}

.settings-modal-body {
  gap: 8px;
}

.settings-modal label {
  font-size: 12px;
  gap: 3px;
}

.settings-modal select,
.settings-modal input {
  border-radius: 6px;
  font-size: 12px;
  min-height: 29px;
  padding: 5px 7px;
}

.manage-accounts-modal .settings-modal-header,
.st-drilldown-modal .settings-modal-header {
  margin-bottom: 7px;
  padding-bottom: 5px;
}

.st-drilldown-modal {
  max-height: calc(100vh - 22px);
  width: min(1120px, calc(100vw - 24px));
}

.st-drilldown-modal .settings-modal-body,
.performance-drilldown-body {
  gap: 8px;
}

.analysis-pad-modal {
  border-radius: 8px;
  height: min(78vh, 760px);
  max-height: calc(100vh - 24px);
  width: min(1080px, calc(100vw - 24px));
}

.analysis-pad-header,
.analysis-pad-toolbar,
.analysis-pad-filters {
  gap: 8px;
}

.analysis-pad-table,
.analysis-pad-grid-table {
  font-size: 11px;
}

.analysis-pad-table th,
.analysis-pad-table td,
.analysis-pad-grid-table th,
.analysis-pad-grid-table td {
  padding: 6px 7px;
}

.st-wp-modal {
  border-radius: 10px;
  max-height: calc(100vh - 24px);
  width: min(1060px, calc(100vw - 24px));
}

.st-wp-modal-header {
  padding: 12px 14px 10px;
}

.st-wp-modal-title {
  font-size: 17px;
}

.st-wp-modal-subtitle,
.st-wp-modal-ctx {
  font-size: 11.5px;
}

.st-wp-modal-strip,
.st-wp-modal-body,
.st-wp-modal-footer {
  padding-left: 14px;
  padding-right: 14px;
}

.st-wp-modal-body {
  gap: 8px;
}
