/* /Components/Account/Pages/Manage/ProfileImageUpload.razor.rz.scp.css */
.profile-image-upload[b-6g4slq289y] {
  margin: 10px 0 28px;
}

.profile-image-upload__box[b-6g4slq289y] {
  border: 1px solid var(--border-300);
  border-radius: var(--radius-1);
  background: var(--bg-surface);
  padding: 10px 18px 5px 18px;
}

.profile-image-upload__top-row[b-6g4slq289y] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 5px;
}

.profile-image-upload__title-group[b-6g4slq289y] {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.profile-image-upload__label[b-6g4slq289y] {
  display: block;
  margin: 0;
  color: var(--text-900);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.profile-image-upload__helper[b-6g4slq289y] {
  margin-top: 0;
  color: var(--text-500);
  font-size: 13px;
  line-height: 1.35;
}

.profile-image-upload__picker-inline[b-6g4slq289y] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.profile-image-upload__content-row[b-6g4slq289y] {
  display: flex;
  align-items: center;
  gap: 14px;
}

.profile-image-upload__input[b-6g4slq289y] {
  flex: 0 0 auto;
}

.profile-image-upload__actions[b-6g4slq289y] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.profile-image-upload__remove-btn[b-6g4slq289y] {
  appearance: none;
  border: 1px solid var(--border-300);
  background: #fff;
  color: var(--text-700);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

  .profile-image-upload__remove-btn:hover[b-6g4slq289y] {
    background: rgba(220, 53, 69, 0.06);
    border-color: rgba(220, 53, 69, 0.24);
    color: #b42318;
  }

.profile-image-upload__preview-wrap[b-6g4slq289y] {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.profile-image-upload__preview[b-6g4slq289y],
.profile-image-upload__placeholder[b-6g4slq289y] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid var(--border-300);
  box-shadow: var(--shadow-1);
  background: var(--bg-surface);
}

.profile-image-upload__preview[b-6g4slq289y] {
  display: block;
  object-fit: cover;
}

.profile-image-upload__placeholder[b-6g4slq289y] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-400);
  background: radial-gradient(circle at top, rgba(37, 99, 235, 0.08), transparent 55%), var(--bg-surface);
}

.profile-image-upload__placeholder-icon[b-6g4slq289y] {
  font-size: 27px;
  line-height: 1;
  opacity: 0.9;
}

.profile-image-upload__meta[b-6g4slq289y] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.profile-image-upload__file-name[b-6g4slq289y] {
  color: var(--text-700);
  font-size: 14px;
  line-height: 1.35;
  word-break: break-word;
}

.profile-image-upload__message[b-6g4slq289y] {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
}

  .profile-image-upload__message.is-info[b-6g4slq289y] {
    color: var(--text-500);
  }

  .profile-image-upload__message.is-error[b-6g4slq289y] {
    color: #dc3545;
  }

@media (max-width: 576px) {
  .profile-image-upload__top-row[b-6g4slq289y],
  .profile-image-upload__content-row[b-6g4slq289y] {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-image-upload__preview[b-6g4slq289y],
  .profile-image-upload__placeholder[b-6g4slq289y] {
    width: 80px;
    height: 80px;
  }

  .profile-image-upload__placeholder-icon[b-6g4slq289y] {
    font-size: 25px;
  }

  .profile-image-upload__actions[b-6g4slq289y] {
    width: 100%;
  }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
.manage-page[b-mjg4inhgz6] {
  padding-top: 10px;
}

.manage-header[b-mjg4inhgz6] {
  margin-bottom: 20px;
}

.manage-title[b-mjg4inhgz6] {
  margin: 0;
  color: var(--text-900);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.manage-divider[b-mjg4inhgz6] {
  margin-top: 16px;
  height: 1px;
  background: var(--border-200);
}

.manage-grid[b-mjg4inhgz6] {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.manage-sidebar[b-mjg4inhgz6],
.manage-content[b-mjg4inhgz6] {
  min-width: 0;
}

.profile-save-row[b-mjg4inhgz6] {
  margin-top: 8px;
}

@media (max-width: 992px) {
  .manage-grid[b-mjg4inhgz6] {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
/* /Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
.manage-nav[b-js8xog55ug] {
  position: sticky;
  top: 6px;
}

.manage-nav-list[b-js8xog55ug] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.manage-nav-item[b-js8xog55ug]  .nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: var(--radius-1);
  color: var(--text-600);
  text-decoration: none;
  font-weight: 500;
  transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

  .manage-nav-item[b-js8xog55ug]  .nav-link:hover {
    background: rgba(37, 99, 235, 0.08);
    color: var(--text-900);
  }

.manage-nav-item[b-js8xog55ug]  a.active {
  color: var(--text-900);
  background: rgba(37, 99, 235, 0.12);
  box-shadow: inset 3px 0 0 var(--brand-600);
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-gmsko12lou] {
  min-height: 100vh;
  background: linear-gradient(180deg, #f5f7fb 0%, #eef1f6 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 48px 20px 32px;
  box-sizing: border-box;
}

/* logo area */
.auth-header[b-gmsko12lou] {
  margin-bottom: 26px;
}

.auth-logo[b-gmsko12lou] {
  height: 58px;
  max-width: 100%;
  display: block;
}

/* auth card */
.auth-content[b-gmsko12lou] {
  width: 100%;
  max-width: 640px;
  background: #ffffff;
  border-radius: 16px;
  padding: 40px 42px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08), 0 3px 10px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
}

  /* make routed auth pages use full card width */
  .auth-content[b-gmsko12lou]  .row {
    margin-left: 0;
    margin-right: 0;
  }

  .auth-content[b-gmsko12lou]  .col,
  .auth-content[b-gmsko12lou]  .col-12,
  .auth-content[b-gmsko12lou]  .col-md-6,
  .auth-content[b-gmsko12lou]  .col-lg-4,
  .auth-content[b-gmsko12lou]  .col-lg-6,
  .auth-content[b-gmsko12lou]  [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .auth-content[b-gmsko12lou]  section {
    width: 100%;
    max-width: 100%;
  }

  .auth-content[b-gmsko12lou]  form {
    width: 100%;
  }

  /* headings */
  .auth-content[b-gmsko12lou]  h1 {
    margin: 0 0 22px;
    font-size: 3rem;
    line-height: 1.05;
  }

  /* fields */
  .auth-content[b-gmsko12lou]  .form-floating {
    margin-bottom: 18px;
  }

  .auth-content[b-gmsko12lou]  input.form-control {
    height: 52px;
  }

  .auth-content[b-gmsko12lou]  .form-control,
  .auth-content[b-gmsko12lou]  .form-select {
    width: 100%;
    box-sizing: border-box;
  }

  /* button */
  .auth-content[b-gmsko12lou]  .btn-primary {
    /*height: 50px;*/
    font-weight: 500;
  }

  /* links */
  .auth-content[b-gmsko12lou]  p a {
    font-size: 0.95rem;
  }

.auth-secondary-link[b-gmsko12lou] {
  margin-top: 18px;
  font-size: 0.9rem;
}

  .auth-secondary-link a[b-gmsko12lou] {
    color: #4a6fa5;
    text-decoration: none;
  }

    .auth-secondary-link a:hover[b-gmsko12lou] {
      text-decoration: underline;
    }


.auth-footer[b-gmsko12lou] {
  width: 100%;
  max-width: 640px;
  margin-top: 22px;
  padding: 8px 4px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: #6b7280;
  box-sizing: border-box;
}

.auth-footer-left[b-gmsko12lou] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.auth-footer-center[b-gmsko12lou] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}

.auth-footer-powered-by[b-gmsko12lou] {
  color: #94a3b8;
  font-weight: 500;
  white-space: nowrap;
}

.auth-footer-company-name[b-gmsko12lou] {
  color: #5b6778;
  font-weight: 650;
}

.auth-footer-company-link[b-gmsko12lou] {
    text-decoration: none;
}

    .auth-footer-company-link:hover .auth-footer-company-name[b-gmsko12lou] {
        text-decoration: underline;
    }

@media (max-width: 768px) {
  .auth-footer[b-gmsko12lou] {
    max-width: 100%;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 6px;
  }

  .auth-footer-left[b-gmsko12lou],
  .auth-footer-center[b-gmsko12lou] {
    justify-content: center;
  }
}
/* /Components/Layout/GuideLayout.razor.rz.scp.css */
/* Guide Standalone Layout */
/* ---------------------------------------------------------
   Provides a clean standalone host for PromoSense Guide content
   without the application sidebar, topbar, or footer.
   --------------------------------------------------------- */

.guide-layout[b-wh7mrdb3k1] {
    width: 100vw;
    height: 100vh;
    min-height: 0;
    overflow: hidden;
    background: #f8fafc;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* =========================================================
   MainLayout.razor.css
   Shell / chrome only
   ---------------------------------------------------------
   Scope:
   - App shell
   - Top bar
   - Sidebar / content columns
   - Sidebar toggle behavior
   - Blazor error UI

   Notes:
   - Layout-only styles stay here.
   - UserArea-specific selectors from an earlier iteration were
     commented out because MainLayout CSS isolation does not style
     child component internals unless `::deep` is used.
   ========================================================= */

html[b-uk27ge7syk],
body[b-uk27ge7syk] {
  height: 100%;
  overflow: hidden; /* prevent body/page scroll; content scrolls inside .content */
}

/* =========================================================
   App shell
   ========================================================= */
.app-shell[b-uk27ge7syk] {
  --sidebar-width: 205px;
  --sidebar-collapsed-width: 71.2px;
  height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--bg-app);
}

/* =========================================================
   Top bar
   ========================================================= */
.topbar[b-uk27ge7syk] {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: var(--sidebar-width) 1fr;
  align-items: stretch;
  /*min-height: 58px;*/
  padding-top:2px;
  background: var(--bg-surface);
  border-bottom: 1px solid transparent;
}

.topbar-left[b-uk27ge7syk] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 2px 12px;
  background: var(--bg-surface);
  border-right: 1px solid transparent;
}

  .topbar-left .brand-logo[b-uk27ge7syk] {
    display: block;
    width: auto;
    object-fit: contain;
  }

  .topbar-left .brand-logo--full[b-uk27ge7syk] {
    max-width: 188px;
    height: 40px;
  }

  .topbar-left .brand-logo--compact[b-uk27ge7syk] {
    display: none;
    max-width: 64px;
    height: 40px;
  }

.topbar-right[b-uk27ge7syk] {
  height: 100%;
  display: flex;
  align-items: stretch;
}

.topbar-right-inner[b-uk27ge7syk] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 4px 0;
}

.topbar-title-wrap[b-uk27ge7syk] {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  flex: 1 1 auto;
}

.topbar-page-heading[b-uk27ge7syk] {
  min-width: 0;
  display: flex;
  align-items: center;
}

.page-title-shell[b-uk27ge7syk] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.page-title-main[b-uk27ge7syk] {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--text-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-title-subtitle[b-uk27ge7syk] {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-600);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-toggle[b-uk27ge7syk] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 8px;
  background: #fff;
  color: var(--text-900);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

  .sidebar-toggle:hover[b-uk27ge7syk] {
    background: rgba(25, 35, 68, 0.03);
  }

.sidebar-toggle-input[b-uk27ge7syk] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  appearance: none;
}

.top-actions[b-uk27ge7syk] {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-left: var(--space-2);
}

/*Action links in the top bar (e.g. "Back to Promotions") */
.topbar-page-action[b-uk27ge7syk] {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 1rem;
}

.topbar-page-action-link[b-uk27ge7syk] {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  border: 0;
  background: transparent;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-700);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 120ms ease, background-color 120ms ease, opacity 120ms ease;
}

  .topbar-page-action-link:hover[b-uk27ge7syk] {
    color: var(--text-900);
    background: rgba(25, 35, 68, 0.06);
    text-decoration: none;
  }

  .topbar-page-action-link:focus-visible[b-uk27ge7syk] {
    outline: none;
    color: var(--text-900);
    background: rgba(25, 35, 68, 0.08);
  }

.topbar-page-action-icon[b-uk27ge7syk] {
  font-size: 14px;
  line-height: 1;
  transform: translateY(-0.5px);
}

.topbar-page-action-link.is-disabled[b-uk27ge7syk] {
  color: var(--text-400);
  opacity: 0.7;
  cursor: default;
  pointer-events: none;
  background: transparent;
}

/* =========================================================
   Shell body
   ========================================================= */
.shell-body[b-uk27ge7syk] {
  position: relative;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(720px, 1fr);
  min-height: 0;
  height: 100%;
}

.sidebar[b-uk27ge7syk] {
  min-height: 0;
  background: var(--bg-surface);
  border-right: 1px solid transparent;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.content[b-uk27ge7syk] {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  margin: 0 6px 6px 0;
  padding: 4px 4px 0px 4px;
  background: #F8FAFC;
  border-radius: 0 var(--radius-2) var(--radius-2) 0;
  box-shadow: var(--shadow-1);
  display: flex;
  flex-direction: column;
}

.page-host[b-uk27ge7syk] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content-scroll[b-uk27ge7syk] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 4px 4px 4px 10px;
}

/* =========================================================
   Sidebar collapse
   ---------------------------------------------------------d
   Manual collapse is driven by the hidden #sidebar-toggle.
   Auto-collapse is handled with media queries below.
   ========================================================= */

#sidebar-toggle:checked ~ .app-shell[b-uk27ge7syk] {
  --sidebar-width: var(--sidebar-collapsed-width);
}

  #sidebar-toggle:checked ~ .app-shell .topbar[b-uk27ge7syk] {
    min-height: 40px;
  }

  #sidebar-toggle:checked ~ .app-shell .page-title-main[b-uk27ge7syk] {
    font-size: 16px;
    line-height: 1.15;
  }

  #sidebar-toggle:checked ~ .app-shell .page-title-subtitle[b-uk27ge7syk] {
    font-size: 11px;
  }

  #sidebar-toggle:checked ~ .app-shell .topbar-left[b-uk27ge7syk] {
    padding: 2px 8px;
  }

    #sidebar-toggle:checked ~ .app-shell .topbar-left .brand[b-uk27ge7syk] {
      justify-content: center;
    }

    #sidebar-toggle:checked ~ .app-shell .topbar-left .brand-logo--full[b-uk27ge7syk] {
      display: none;
    }

    #sidebar-toggle:checked ~ .app-shell .topbar-left .brand-logo--compact[b-uk27ge7syk] {
      display: block;
    }

  #sidebar-toggle:checked ~ .app-shell .topbar-right-inner[b-uk27ge7syk] {
    gap: 10px;
  }

  #sidebar-toggle:checked ~ .app-shell .topbar-title-wrap[b-uk27ge7syk] {
    gap: 0.4rem;
  }

  #sidebar-toggle:checked ~ .app-shell .page-title[b-uk27ge7syk] {
    font-size: 16px;
    line-height: 1.2;
  }

  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  .nav-scrollable,
  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  .nav-bottom {
    padding-left: 8px;
    padding-right: 8px;
  }

  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  .nav-link {
    justify-content: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }

  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  .nav-label {
    display: none;
  }

  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  .nav-icon {
    margin: 0;
  }

  #sidebar-toggle:checked ~ .app-shell .sidebar[b-uk27ge7syk]  a.active {
    box-shadow: none;
    background: rgba(37, 99, 235, 0.16);
  }

  #sidebar-toggle:checked ~ .app-shell .edge-toggle-open[b-uk27ge7syk] {
    display: none;
  }

  #sidebar-toggle:checked ~ .app-shell .edge-toggle-closed[b-uk27ge7syk] {
    display: inline;
  }

.sidebar-edge-toggle[b-uk27ge7syk] {
  position: absolute;
  left: var(--sidebar-width);
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 40;
  width: 16px;
  height: 74px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(37, 99, 235, 0.07);
  border-radius: 999px;
  background: #f5f8fc;
  color: var(--text-700);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.07);
  cursor: pointer;
  user-select: none;
  transition: left 70ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

  .sidebar-edge-toggle:hover[b-uk27ge7syk] {
    background: #edf4fb;
    color: var(--text-900);
    border-color: rgba(37, 99, 235, 0.12);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10);
  }

.edge-toggle-icon[b-uk27ge7syk] {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  opacity: .82;
}

.edge-toggle-closed[b-uk27ge7syk] {
  display: none;
}

/*keeps the link on the topbar slightly more compact when the left nav is collapsed*/
#sidebar-toggle:checked ~ .app-shell .topbar-page-action-link[b-uk27ge7syk] {
  font-size: 12px;
}

/* =========================================================
   Responsive shell
   ========================================================= */
@media (max-width: 1024px) {
  .app-shell[b-uk27ge7syk] {
    --sidebar-width: var(--sidebar-collapsed-width);
  }

  .topbar-left[b-uk27ge7syk] {
    padding: 3px 8px;
  }

    .topbar-left .brand[b-uk27ge7syk] {
      justify-content: center;
    }

    .topbar-left .brand-logo--full[b-uk27ge7syk] {
      display: none;
    }

    .topbar-left .brand-logo--compact[b-uk27ge7syk] {
      display: block;
    }


  .topbar-right-inner[b-uk27ge7syk] {
    gap: 10px;
  }

  .topbar-title-wrap[b-uk27ge7syk] {
    gap: 0.4rem;
  }

  .page-title[b-uk27ge7syk] {
    font-size: 15px;
    line-height: 1.2;
  }

  .page-title-main[b-uk27ge7syk] {
    font-size: 15px;
    line-height: 1.15;
  }

  .page-title-subtitle[b-uk27ge7syk] {
    font-size: 11px;
    line-height: 1.3;
  }

  .content[b-uk27ge7syk] {
    margin: 0 4px 4px 0;
    padding: 4px 8px 8px;
  }

  .content-scroll[b-uk27ge7syk] {
    padding: 4px 8px 4px;
  }

  .app-footer[b-uk27ge7syk] {
    min-height: 34px;
    padding: 4px 12px;
    font-size: 10px;
    grid-template-columns: 1fr auto;
    gap: 8px;
  }

  .app-footer-logo[b-uk27ge7syk] {
    height: 17px;
  }

  .app-footer-left[b-uk27ge7syk] {
    justify-content: flex-start;
  }

  .app-footer-center[b-uk27ge7syk] {
    justify-content: flex-end;
  }

  .app-footer-right[b-uk27ge7syk] {
    display: none;
  }

  .sidebar-edge-toggle[b-uk27ge7syk] {
    display: none;
  }

  .sidebar[b-uk27ge7syk]  .nav-scrollable,
  .sidebar[b-uk27ge7syk]  .nav-bottom {
    padding-left: 8px;
    padding-right: 8px;
  }

  .sidebar[b-uk27ge7syk]  .nav-link {
    justify-content: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .sidebar[b-uk27ge7syk]  .nav-label {
    display: none;
  }

  .sidebar[b-uk27ge7syk]  .nav-icon {
    margin: 0;
  }

  .sidebar[b-uk27ge7syk]  a.active {
    box-shadow: none;
    background: rgba(37, 99, 235, 0.16);
  }
}

.app-footer[b-uk27ge7syk] {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 4px 16px;
  margin: 0;
  border-top: 1px solid rgba(229, 231, 235, 0.8);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: #6b7280;
  background: #F8FAFC;
}

.app-footer-left[b-uk27ge7syk] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.app-footer-center[b-uk27ge7syk] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  margin-left: 100px;
}

.app-footer-right[b-uk27ge7syk] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.app-footer-right--brand[b-uk27ge7syk] {
  justify-self: end;
}

.app-footer-powered-by[b-uk27ge7syk] {
  color: #94a3b8;
  font-weight: 500;
  white-space: nowrap;
}

.app-footer-company-name[b-uk27ge7syk] {
  color: #5b6778;
  font-weight: 650;
}

.app-footer-logo-link[b-uk27ge7syk] {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.app-footer-logo[b-uk27ge7syk] {
  display: block;
  width: auto;
  height: 20px;
  object-fit: contain;
  opacity: 0.96;
}

.app-footer a[b-uk27ge7syk] {
  color: #6b7280;
  text-decoration: none;
  white-space: nowrap;
}

  .app-footer a:hover[b-uk27ge7syk] {
    text-decoration: underline;
  }

.page-title[b-uk27ge7syk] {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: var(--text-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-title-base[b-uk27ge7syk] {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-900);
}

.page-title-separator[b-uk27ge7syk] {
  color: rgba(25, 35, 68, 0.45);
  font-weight: 400;
}

.page-title-mode[b-uk27ge7syk] {
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Open-Stock: stronger berry/plum accent */
.page-title-mode-openstock[b-uk27ge7syk] {
  color: #8e3b67;
}

/* Pre-Pack: stronger slate/blue accent */
.page-title-mode-prepack[b-uk27ge7syk] {
  color: #3f6f9f;
}

/* =========================================================
   Blazor error UI
   ========================================================= */
#blazor-error-ui[b-uk27ge7syk] {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  padding: 0.6rem 1.25rem 0.7rem;
  box-sizing: border-box;
  color-scheme: light only;
  background: lightyellow;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
}

  #blazor-error-ui .dismiss[b-uk27ge7syk] {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    cursor: pointer;
  }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* =========================================================
   NavMenu.razor.css
   Navigation-only styles
   ---------------------------------------------------------
   Scope:
   - Sidebar nav layout
   - Nav links / active state
   - Icon + label base styling
   - Bottom nav section

   Notes:
   - Collapse state is owned by MainLayout.razor.css
   - This file should not contain responsive collapse logic
   ========================================================= */

.nav-menu[b-nzlwfawtsv] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bg-surface);
  min-width: 0;
  overflow-x: hidden;
  margin-bottom: 4px;
  margin-right: 2px;
}

.nav-scrollable[b-nzlwfawtsv] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--space-2) calc(var(--space-2) + 6px) var(--space-2) var(--space-2);
}

.nav-bottom[b-nzlwfawtsv] {
  padding: var(--space-3) calc(var(--space-3) + 6px) var(--space-3) var(--space-3);
  border-top: 1px solid transparent;
  overflow-x: hidden;
}

.nav-item[b-nzlwfawtsv]  .nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 12px;
  color: var(--text-600);
  text-decoration: none;
  border-radius: var(--radius-1);
  transition: background 140ms ease, color 140ms ease;
}

  .nav-item[b-nzlwfawtsv]  .nav-link:hover {
    background: rgba(37, 99, 235, 0.08);
    color: var(--text-900);
  }

.nav-item[b-nzlwfawtsv]  a.active {
  color: var(--text-900);
  background: rgba(37, 99, 235, 0.12);
  box-shadow: inset 3px 0 0 var(--brand-600);
}

.nav-icon[b-nzlwfawtsv] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  min-width: 18px;
  margin: 0;
}

.nav-label[b-nzlwfawtsv] {
  display: inline-block;
  white-space: nowrap;
}

.bi[b-nzlwfawtsv] {
  width: 18px;
  height: 18px;
  opacity: 0.9;
}

.nav-item[b-nzlwfawtsv] {
  position: relative;
}

  .nav-item[b-nzlwfawtsv]  .nav-link {
    position: relative;
  }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-lc4ruxp51h],
.components-reconnect-repeated-attempt-visible[b-lc4ruxp51h],
.components-reconnect-failed-visible[b-lc4ruxp51h],
.components-pause-visible[b-lc4ruxp51h],
.components-resume-failed-visible[b-lc4ruxp51h],
.components-rejoining-animation[b-lc4ruxp51h] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-retrying[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-failed[b-lc4ruxp51h],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-lc4ruxp51h] {
    display: block;
}


#components-reconnect-modal[b-lc4ruxp51h] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-lc4ruxp51h 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-lc4ruxp51h 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-lc4ruxp51h 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-lc4ruxp51h]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-lc4ruxp51h 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-lc4ruxp51h {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-lc4ruxp51h {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-lc4ruxp51h {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-lc4ruxp51h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-lc4ruxp51h] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-lc4ruxp51h] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-lc4ruxp51h] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-lc4ruxp51h] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-lc4ruxp51h] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-lc4ruxp51h] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-lc4ruxp51h 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-lc4ruxp51h] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-lc4ruxp51h {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/Activity.razor.rz.scp.css */
/* =========================================================
   Activity.razor.css
   ---------------------------------------------------------
   Scope:
   - Activity page shell
   - Card shell
   - Toolbar controls
   - Table region
   - Sort controls
   - Timeline / detail rows
   - Pager
   - JSON modal
   - Responsive layout
   ========================================================= */

/* =========================================================
   Page shell
   ========================================================= */

.activity-page[b-2exxswr1n3] {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  padding-top: 2px;
  container-type: inline-size;
  container-name: activity-page;
}

.activity-shell[b-2exxswr1n3] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.activity-main-card[b-2exxswr1n3] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200);
  border-radius: 18px;
  /*box-shadow: var(--shadow-1);*/
  overflow: hidden;
}

.activity-card-header[b-2exxswr1n3] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.activity-card-header-actions[b-2exxswr1n3] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.activity-title[b-2exxswr1n3] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}

.activity-subtitle[b-2exxswr1n3] {
  margin: 4px 0 0;
  color: var(--text-500, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

/* =========================================================
   Loading
   ========================================================= */

.activity-loading[b-2exxswr1n3] {
  min-height: 240px;
  display: grid;
  place-items: center;
  gap: 10px;
}

.activity-loading-spinner[b-2exxswr1n3] {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 3px solid rgba(25, 35, 68, 0.10);
  border-top-color: var(--brand-600, #2563eb);
  animation: activity-spin-b-2exxswr1n3 0.8s linear infinite;
}

.activity-loading-text[b-2exxswr1n3] {
  font-size: 13px;
  color: var(--text-600);
}

@keyframes activity-spin-b-2exxswr1n3 {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   Main body
   ========================================================= */

.activity-body[b-2exxswr1n3] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
}

/* =========================================================
   Toolbar
   ========================================================= */

.activity-toolbar[b-2exxswr1n3] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 165px 195px 210px 88px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
    margin-bottom: 0;
    flex: 0 0 auto;
}

  .activity-toolbar > div[b-2exxswr1n3],
  .activity-toolbar > label[b-2exxswr1n3],
  .activity-toolbar > span[b-2exxswr1n3] {
    min-width: 0;
  }

.activity-search[b-2exxswr1n3],
.activity-select[b-2exxswr1n3],
.activity-page-size[b-2exxswr1n3] {
  width: 100%;
  min-height: 38px;
}

/* Activity Filter Dropdowns */
/* ---------------------------------------------------------
   Keeps the closed controls compact while allowing wider,
   comfortably padded option menus.
   --------------------------------------------------------- */

.activity-toolbar[b-2exxswr1n3]  .activity-filter-select {
    min-width: 0;
}

.activity-toolbar[b-2exxswr1n3]  .activity-filter-button {
    min-height: 38px;
    padding-left: 10px;
    padding-right: 30px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
}

.activity-toolbar[b-2exxswr1n3]  .activity-filter-select .searchable-select__menu {
    width: max(100%, 260px);
    min-width: 260px;
}

.activity-toolbar[b-2exxswr1n3]  .activity-filter-select .searchable-select__search-row {
    padding: 9px;
}

.activity-toolbar[b-2exxswr1n3]  .activity-filter-select .searchable-select__option {
    min-height: 36px;
    padding: 8px 14px;
    font-size: 13px;
    line-height: 1.3;
}

.activity-page-size[b-2exxswr1n3],
.activity-page-size option[b-2exxswr1n3] {
    font-size: 13px;
}

/* =========================================================
   Table region
   ========================================================= */

.activity-table-region[b-2exxswr1n3] {
  min-height: 0;
  height: 100%;
  margin: 0 12px 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
}

.activity-table-wrap[b-2exxswr1n3] {
  min-height: 0;
  position: relative;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #ffffff;
}

.activity-table[b-2exxswr1n3] {
  width: 100%;
  min-width: 1060px;
  margin: 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
}

  .activity-table thead th[b-2exxswr1n3] {
    position: sticky;
    top: 0;
    z-index: 12;
    padding: 0.58rem 0.55rem;
    border-bottom: 0;
    background: #ffffff;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
  }

  .activity-table tbody td[b-2exxswr1n3] {
    padding: 0.56rem 0.55rem;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
    color: var(--text-900, #0f172a);
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .activity-table tbody tr:hover td[b-2exxswr1n3] {
    background: #fbfdff;
  }

  /* Align table content with the filter row and pager inset. */
  .activity-table thead th:first-child[b-2exxswr1n3],
  .activity-table tbody td:first-child[b-2exxswr1n3] {
    padding-left: 12px;
  }

  .activity-table thead th:last-child[b-2exxswr1n3],
  .activity-table tbody td:last-child[b-2exxswr1n3] {
    padding-right: 12px;
  }

/* =========================================================
   Sort controls
   ========================================================= */

.activity-sort-button[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .activity-sort-button:hover[b-2exxswr1n3],
  .activity-sort-button--active[b-2exxswr1n3] {
    color: #2563eb;
  }

.activity-sort-indicator[b-2exxswr1n3] {
  font-size: 0.72rem;
  line-height: 1;
}

/* =========================================================
   Column sizing
   ---------------------------------------------------------
   Fixed activity table columns keep stream, type, event,
   timestamp, count, and actor values from crowding each
   other. Long badge values must clip inside their columns
   instead of expanding into neighboring cells.
   ========================================================= */

.activity-table td.activity-col-entity[b-2exxswr1n3] {
  min-width: 0;
  overflow: hidden;
  max-width: 0;
}

.activity-col-expand[b-2exxswr1n3] {
  width: 34px;
  min-width: 34px;
  text-align: center;
}

.activity-col-entity[b-2exxswr1n3] {
  width: auto;
  min-width: 280px;
}

.activity-col-type[b-2exxswr1n3] {
  width: 142px;
  min-width: 136px;
}

.activity-col-latest[b-2exxswr1n3] {
  width: 188px;
  min-width: 178px;
}

.activity-col-last[b-2exxswr1n3] {
  width: 150px;
  min-width: 142px;
}

.activity-col-count[b-2exxswr1n3] {
  width: 72px;
  min-width: 68px;
  text-align: center;
}

.activity-col-actor[b-2exxswr1n3] {
  width: 210px;
  min-width: 190px;
}

.activity-table td.activity-col-type[b-2exxswr1n3],
.activity-table td.activity-col-latest[b-2exxswr1n3],
.activity-table td.activity-col-last[b-2exxswr1n3],
.activity-table td.activity-col-count[b-2exxswr1n3] {
  overflow: hidden;
  white-space: nowrap;
}

/* =========================================================
   Row presentation
   ========================================================= */

.activity-stream-row[b-2exxswr1n3] {
  cursor: pointer;
}

  .activity-stream-row.is-open td[b-2exxswr1n3] {
    background: #fcfdff;
  }

  .activity-stream-row.is-open td[b-2exxswr1n3] {
    border-bottom-color: rgba(219, 228, 239, 0.9);
  }

.activity-expand-btn[b-2exxswr1n3] {
  width: 24px;
  min-width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 7px;
  background: #f3f6fb;
  color: var(--link-600, #2563eb);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
  font-size: 0.9rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

  .activity-stream-row:hover .activity-expand-btn[b-2exxswr1n3],
  .activity-expand-btn:hover[b-2exxswr1n3] {
    background: #edf4ff;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
  }

.activity-entity-primary[b-2exxswr1n3] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: var(--text-900, #0f172a);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.activity-entity-secondary[b-2exxswr1n3] {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-600);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-2exxswr1n3] .activity-tooltip-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

  [b-2exxswr1n3] .activity-tooltip-wrap .activity-entity-primary {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

.activity-last-time[b-2exxswr1n3] {
  white-space: nowrap;
}

.activity-type-badge[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  width: 100%;
  max-width: 112px;
  min-width: 0;
  padding: 0 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  color: #475569;
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-col-type[b-2exxswr1n3],
.activity-col-latest[b-2exxswr1n3] {
  min-width: 0;
  overflow: hidden;
}

  .activity-col-type .activity-type-badge[b-2exxswr1n3],
  .activity-col-latest .event-badge[b-2exxswr1n3] {
    max-width: 100%;
    white-space: nowrap;
  }

.activity-count-badge[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  background: #eef2ff;
  color: #3730a3;
}

.activity-empty[b-2exxswr1n3] {
  text-align: center;
  color: var(--text-500, #667085);
  padding: 2rem 1rem !important;
}

.activity-inline-loading[b-2exxswr1n3] {
  color: var(--text-600);
  font-size: 13px;
  padding: 4px 0 8px;
}

.activity-actor-text[b-2exxswr1n3] {
  display: inline-block;
  max-width: 100%;
  color: var(--text-900, #0f172a);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.activity-actor-wrap[b-2exxswr1n3] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.activity-actor-secondary[b-2exxswr1n3] {
  color: var(--text-500, #64748b);
  font-size: 12px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* =========================================================
   Detail row / timeline
   ========================================================= */

.activity-detail-row td[b-2exxswr1n3] {
  background: #fcfdff;
  border-top: none;
}

.activity-detail-cell[b-2exxswr1n3] {
  padding: 0.35rem 0.75rem 0.85rem 3.15rem !important;
}

.activity-timeline[b-2exxswr1n3] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.70rem;
  padding: 0.20rem 0 0.10rem;
}

.activity-timeline-item[b-2exxswr1n3] {
  display: grid;
  grid-template-columns: 170px 16px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.activity-timeline-time[b-2exxswr1n3] {
  color: var(--text-500, #667085);
  font-size: 0.85rem;
  white-space: nowrap;
  padding-top: 0.1rem;
}

.activity-timeline-marker[b-2exxswr1n3] {
  position: relative;
  width: 12px;
  min-height: 100%;
}

  .activity-timeline-marker[b-2exxswr1n3]::before {
    content: "";
    position: absolute;
    top: 0.25rem;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #98a2b3;
  }

  .activity-timeline-marker[b-2exxswr1n3]::after {
    content: "";
    position: absolute;
    top: 0.95rem;
    left: 7px;
    bottom: -0.85rem;
    width: 1px;
    background: rgba(152, 162, 179, 0.45);
  }

.activity-timeline-item:last-child .activity-timeline-marker[b-2exxswr1n3]::after {
  display: none;
}

.activity-timeline-content[b-2exxswr1n3] {
  min-width: 0;
}

.activity-timeline-top[b-2exxswr1n3] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.activity-timeline-actor[b-2exxswr1n3] {
  font-size: 12px;
  color: var(--text-600);
  line-height: 1.35;
}

.activity-timeline-actor-context[b-2exxswr1n3] {
    color: var(--text-500, #64748b);
    font-size: 12px;
    line-height: 1.35;
}

.activity-timeline-summary[b-2exxswr1n3] {
  margin-top: 5px;
  color: var(--text-700, #334155);
  font-size: 13px;
  line-height: 1.4;
}

.activity-timeline-actions[b-2exxswr1n3] {
  margin-top: 8px;
}

.json-link-btn[b-2exxswr1n3] {
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--link-600, #2563eb);
  text-decoration: none;
  cursor: pointer;
}

  .json-link-btn:hover[b-2exxswr1n3] {
    text-decoration: underline;
  }

/* =========================================================
   Pager
   ========================================================= */

.activity-pager[b-2exxswr1n3] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 6px 14px 4px;
  background: #f8fafc;
  border-top: 1px solid rgba(25, 35, 68, 0.06);
  flex-wrap: wrap;
}

.activity-pager-meta[b-2exxswr1n3] {
  font-size: 12px;
  color: var(--text-600);
}

.activity-pager-actions[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.activity-pager-page[b-2exxswr1n3] {
  min-width: 88px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

/* =========================================================
   Event badge colors
   ========================================================= */

.event-badge[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  width: 100%;
  max-width: 170px;
  min-width: 0;
  padding: 0 8px;
  overflow: hidden;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

  .event-badge.accepted[b-2exxswr1n3] {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
  }

  .event-badge.created[b-2exxswr1n3] {
    background: rgba(59, 130, 246, 0.14);
    color: #2563eb;
  }

  .event-badge.expired[b-2exxswr1n3] {
    background: rgba(148, 163, 184, 0.18);
    color: #475569;
  }

  .event-badge.rejected[b-2exxswr1n3] {
    background: rgba(239, 68, 68, 0.14);
    color: #b91c1c;
  }

  .event-badge.approved[b-2exxswr1n3] {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
  }

    .event-badge.deleted[b-2exxswr1n3] {
        background: rgba(239, 68, 68, 0.14);
        color: #b91c1c;
    }

  .event-badge.submitted[b-2exxswr1n3] {
    background: rgba(14, 165, 233, 0.14);
    color: #0369a1;
  }

  .event-badge.resubmitted[b-2exxswr1n3] {
    background: rgba(99, 102, 241, 0.14);
    color: #4338ca;
  }

  .event-badge.openfordrafting[b-2exxswr1n3] {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
  }

  .event-badge.openforsubmission[b-2exxswr1n3] {
    background: rgba(14, 165, 233, 0.14);
    color: #0369a1;
  }

  .event-badge.wamreview[b-2exxswr1n3] {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
  }

  .event-badge.distributorreview[b-2exxswr1n3] {
    background: rgba(16, 185, 129, 0.16);
    color: #047857;
  }

  .event-badge.locked[b-2exxswr1n3] {
    background: rgba(107, 114, 128, 0.16);
    color: #374151;
  }

  .event-badge.published[b-2exxswr1n3] {
    background: rgba(34, 197, 94, 0.18);
    color: #166534;
  }

  .event-badge.cycle-status[b-2exxswr1n3] {
    background: rgba(99, 102, 241, 0.14);
    color: #4338ca;
  }

/* =========================================================
   JSON modal
   ========================================================= */

.json-modal-backdrop[b-2exxswr1n3] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 1040;
}

.json-modal[b-2exxswr1n3] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.json-modal-card[b-2exxswr1n3] {
  width: min(900px, 96vw);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.25);
  overflow: hidden;
}

.json-modal-header[b-2exxswr1n3],
.json-modal-footer[b-2exxswr1n3] {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.json-modal-footer[b-2exxswr1n3] {
  border-bottom: none;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  display: flex;
  justify-content: flex-end;
  gap: 15px;
}

.json-modal-title[b-2exxswr1n3] {
  font-weight: 700;
  color: var(--text-900);
}

.json-modal-close[b-2exxswr1n3] {
  border: none;
  background: transparent;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  color: var(--text-500);
}

.json-modal-header[b-2exxswr1n3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.json-modal-body[b-2exxswr1n3] {
  padding: 1rem;
  overflow: auto;
}

.json-pretty[b-2exxswr1n3] {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-900);
  white-space: pre-wrap;
  word-break: break-word;
}

.activity-time-trigger[b-2exxswr1n3] {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1100px) {
    .activity-toolbar[b-2exxswr1n3] {
        grid-template-columns: minmax(220px, 1fr) 155px 185px 190px 88px;
    }
}

@media (max-width: 900px) {
  .activity-toolbar[b-2exxswr1n3] {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .activity-timeline-item[b-2exxswr1n3] {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }

  .activity-timeline-marker[b-2exxswr1n3] {
    display: none;
  }

  .activity-detail-cell[b-2exxswr1n3] {
    padding-left: 1rem !important;
  }
}

@media (max-width: 640px) {
  .activity-toolbar[b-2exxswr1n3] {
    grid-template-columns: 1fr;
  }

  .activity-card-header[b-2exxswr1n3],
  .activity-pager[b-2exxswr1n3] {
    padding-left: 12px;
    padding-right: 12px;
  }

  .activity-table-region[b-2exxswr1n3] {
    margin-left: 10px;
    margin-right: 10px;
  }
}
/* /Components/Pages/Admin/Billing.razor.rz.scp.css */
/* ==========================================================================
   Billing Page
   --------------------------------------------------------------------------
   WAM Admin billing review workspace for published final books.
   Styles are scoped to Billing.razor through Blazor CSS isolation.
   ========================================================================== */


/* ==========================================================================
   Page Shell
   --------------------------------------------------------------------------
   Maintains the same full-height admin page behavior used across WAM Admin
   queue/list pages.
   ========================================================================== */

.billing-page[b-dsiomfyxbk] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #f8fafc;
  color: #0f172a;
  overflow: hidden;
  box-sizing: border-box;
  container-type: inline-size;
  container-name: billing-page;
}

.billing-workspace[b-dsiomfyxbk] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

/* ==========================================================================
   Summary Cards
   --------------------------------------------------------------------------
   Compact operational summary cards aligned with Dashboard and grid pages.
   Uses container queries so wrapping responds to sidebar space.
   ========================================================================== */

.billing-summary-strip[b-dsiomfyxbk] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.billing-summary-card[b-dsiomfyxbk] {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
  border-radius: 13px;
  background: #ffffff;
  box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

  .billing-summary-card:hover[b-dsiomfyxbk] {
    transform: translateY(-1px);
    border-color: #bfdbfe;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
  }

  .billing-summary-card.is-active[b-dsiomfyxbk] {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
  }

.billing-summary-card--success[b-dsiomfyxbk] {
  border-color: rgba(91, 196, 191, 0.38);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.billing-summary-card--warning[b-dsiomfyxbk] {
  border-color: rgba(250, 169, 75, 0.32);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.billing-summary-card--info[b-dsiomfyxbk] {
  border-color: rgba(59, 130, 246, 0.22);
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.045), #fff);
}

.billing-summary-card--neutral[b-dsiomfyxbk] {
  border-color: rgba(25, 35, 68, 0.12);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.9), #fff);
}

.billing-summary-label[b-dsiomfyxbk] {
  margin: 0 0 6px;
  overflow: hidden;
  color: var(--text-600, #475569);
  font-size: 13.5px;
  line-height: 1.3;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-summary-value[b-dsiomfyxbk] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
}

.billing-summary-meta[b-dsiomfyxbk] {
  margin-top: 5px;
  overflow: hidden;
  color: var(--text-500, #64748b);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* ==========================================================================
   Main Billing Card
   --------------------------------------------------------------------------
   Contains the Billing Queue header, default rate panel, controls, table,
   and pager.
   ========================================================================== */

.billing-card[b-dsiomfyxbk] {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.billing-list-section[b-dsiomfyxbk] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.billing-panel-header[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
  flex: 0 0 auto;
}

.billing-card-title[b-dsiomfyxbk] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.billing-card-subtitle[b-dsiomfyxbk] {
  margin: 4px 0 0;
  color: var(--text-500, #64748b);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

.billing-panel-header-actions[b-dsiomfyxbk] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.billing-primary-button[b-dsiomfyxbk],
.billing-secondary-button[b-dsiomfyxbk] {
  min-height: 2.05rem;
  min-width: 108px;
  padding: 0.34rem 0.75rem;
  border-radius: 0.55rem;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.2;
}

/* ==========================================================================
   Column sizing / sticky actions
   --------------------------------------------------------------------------
   Billing has more detail than Products but less width pressure than reports.
   Table waits until 1060px before horizontal scroll.
   ========================================================================== */

.billing-col-billto[b-dsiomfyxbk] {
  width: 130px;
  min-width: 120px;
}

.billing-col-period[b-dsiomfyxbk] {
  width: 138px;
  min-width: 128px;
}

.billing-col-type[b-dsiomfyxbk] {
  width: 104px;
  min-width: 96px;
}

.billing-col-book[b-dsiomfyxbk] {
  width: auto;
  min-width: 300px;
}

.billing-col-pages[b-dsiomfyxbk] {
  width: 72px;
  min-width: 66px;
  text-align: right;
}

.billing-col-amount[b-dsiomfyxbk] {
  width: 96px;
  min-width: 90px;
  text-align: right;
}

.billing-col-status[b-dsiomfyxbk] {
  width: 112px;
  min-width: 104px;
}

.billing-col-actions[b-dsiomfyxbk] {
  width: 104px;
  min-width: 104px;
  max-width: 104px;
}

/* Actions column is pinned to the right edge of the table scroll viewport.
   The sticky cell stays neutral; the inner action zone owns emphasis. */
.billing-table th.billing-col-actions[b-dsiomfyxbk],
.billing-table td.billing-col-actions[b-dsiomfyxbk] {
  position: sticky;
  right: 0;
  z-index: 10;
  padding-left: 0.64rem;
  padding-right: 12px;
  text-align: left;
  white-space: nowrap;
  background: #ffffff;
  background-clip: padding-box;
  box-shadow: none;
}

.billing-table thead th.billing-col-actions[b-dsiomfyxbk] {
  z-index: 18;
  background: #ffffff;
  color: #64748b;
  box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.billing-table tbody tr:hover td.billing-col-actions[b-dsiomfyxbk] {
  background: #fbfdff;
}

/* ==========================================================================
   Rate Panel
   --------------------------------------------------------------------------
   Displays the default rate used for unadjusted billing rows.
   ========================================================================== */

.billing-rate-panel[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 9px 12px;
}

.billing-rate-title[b-dsiomfyxbk] {
  color: var(--text-900, #0f172a);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.005em;
}

.billing-rate-helper[b-dsiomfyxbk] {
  margin-top: 3px;
  color: var(--text-500, #64748b);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
}

.billing-rate-input-wrap[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  width: 150px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  overflow: hidden;
}

.billing-rate-prefix[b-dsiomfyxbk] {
  padding: 0 10px;
  color: #64748b;
  font-weight: 800;
}

.billing-rate-input[b-dsiomfyxbk] {
  border: 0;
  box-shadow: none;
  font-weight: 700;
}


/* ==========================================================================
   Filters
   --------------------------------------------------------------------------
   Compact desktop-first control bar sized for the expanded sidebar content
   width.
   ========================================================================== */

.billing-list-body[b-dsiomfyxbk] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  min-width: 0;
  padding: 0;
}

.billing-controls[b-dsiomfyxbk] {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(118px, 0.36fr) minmax(104px, 0.28fr) minmax(118px, 0.34fr) minmax(118px, 0.34fr) minmax(128px, 0.38fr) minmax(86px, 0.22fr);
  gap: 10px;
  align-items: end;
  padding: 12px 12px 10px;
  border-bottom: 0;
  background: #ffffff;
  flex: 0 0 auto;
}

.billing-control-label[b-dsiomfyxbk] {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.1;
}

.billing-search[b-dsiomfyxbk],
.billing-select[b-dsiomfyxbk] {
  min-height: 2.15rem;
  font-size: 0.84rem;
  border-color: #d7e0ec;
  border-radius: 9px;
  color: #1e293b;
}


/* ==========================================================================
   Billing Table
   --------------------------------------------------------------------------
   Sticky table header and fixed-height region keep the page stable above the
   footer.
   ========================================================================== */

.billing-table-region[b-dsiomfyxbk] {
  min-height: 0;
  height: 100%;
  margin: 0 12px 0;
  background: #ffffff;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
}

.billing-table-wrap[b-dsiomfyxbk] {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  position: relative;
  background: #ffffff;
}

.billing-table[b-dsiomfyxbk] {
  width: 100%;
  margin: 0;
  min-width: 1010px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  color: #0f172a;
  font-size: 0.82rem;
}

  .billing-table thead th[b-dsiomfyxbk] {
    position: sticky;
    top: 0;
    z-index: 12;
    background: #ffffff;
    border-bottom: 0;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    white-space: nowrap;
    padding: 0.58rem 0.55rem;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
  }

  .billing-table tbody td[b-dsiomfyxbk] {
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
    padding: 0.56rem 0.55rem;
    background: #ffffff;
  }

  .billing-table tbody tr:hover td[b-dsiomfyxbk] {
    background: #fbfdff;
  }

  /* Align the first table cell with the filter edge. */
  .billing-table thead th:first-child[b-dsiomfyxbk],
  .billing-table tbody td:first-child[b-dsiomfyxbk] {
    padding-left: 12px;
  }

.billing-sort-button[b-dsiomfyxbk] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .billing-sort-button:hover[b-dsiomfyxbk],
  .billing-sort-button--active[b-dsiomfyxbk] {
    color: #2563eb;
  }

.billing-sort-indicator[b-dsiomfyxbk] {
  font-size: 0.72rem;
  line-height: 1;
}

.billing-primary[b-dsiomfyxbk] {
  color: #0f172a;
  font-weight: 700;
}

.billing-secondary[b-dsiomfyxbk] {
  margin-top: 2px;
  color: #64748b;
  font-size: 0.8rem;
}

.billing-cell-stack[b-dsiomfyxbk] {
  min-width: 0;
}

.billing-truncate[b-dsiomfyxbk] {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-dsiomfyxbk] .billing-tooltip-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

[b-dsiomfyxbk] .billing-book-title-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.billing-book-title[b-dsiomfyxbk] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  color: #0f172a;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-book-meta[b-dsiomfyxbk] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-number[b-dsiomfyxbk] {
  font-weight: 800;
  color: #0f172a;
}

.billing-row-actions[b-dsiomfyxbk] {
  width: 100%;
  min-height: 28px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 8px;
  border-radius: 7px;
  background: #f3f6fb;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
  white-space: nowrap;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.billing-table tbody tr:hover .billing-row-actions[b-dsiomfyxbk] {
  background: #edf4ff;
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.billing-link-action[b-dsiomfyxbk] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--link-600, #2563eb);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

  .billing-link-action:hover[b-dsiomfyxbk] {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

.billing-action-sep[b-dsiomfyxbk] {
  color: #94a3b8;
}

.billing-empty-cell[b-dsiomfyxbk],
.billing-inline-state[b-dsiomfyxbk] {
  padding: 28px;
  text-align: center;
  color: #64748b;
}

.billing-empty-state-card[b-dsiomfyxbk] {
  align-self: start;
  margin: 14px;
  padding: 18px 18px 16px;
  border: 1px dashed rgba(29, 58, 109, 0.18);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(29, 58, 109, 0.025), rgba(91, 196, 191, 0.02));
  color: var(--text-600, #475569);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.billing-inline-state-error[b-dsiomfyxbk] {
  color: #b91c1c;
}


/* ==========================================================================
   Pager
   --------------------------------------------------------------------------
   Matches the lower table pager used on other WAM Admin list pages.
   ========================================================================== */

.billing-pager[b-dsiomfyxbk] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 6px 14px 4px;
  background: #f8fafc;
  border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.billing-pager-summary[b-dsiomfyxbk] {
  color: var(--text-600, #475569);
  font-size: 12px;
  font-weight: 500;
}

.billing-pager-page[b-dsiomfyxbk] {
  min-width: 88px;
  color: var(--text-700, #334155);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.billing-pager-actions[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  gap: 12px;
}


/* ==========================================================================
   Badges
   --------------------------------------------------------------------------
   Billing type/status pills align with Promotions and Promotion Pricing.
   ========================================================================== */

.billing-type-badge[b-dsiomfyxbk],
.billing-status-badge[b-dsiomfyxbk] {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.billing-type-badge[b-dsiomfyxbk] {
  min-width: 76px;
}

.billing-status-badge[b-dsiomfyxbk] {
  min-width: 88px;
}

.billing-type-badge--openstock[b-dsiomfyxbk] {
  border-color: rgba(142, 59, 103, 0.16);
  background: rgba(142, 59, 103, 0.10);
  color: rgb(142, 59, 103);
}

.billing-type-badge--prepack[b-dsiomfyxbk] {
  border-color: rgba(63, 111, 159, 0.16);
  background: rgba(63, 111, 159, 0.12);
  color: rgb(63, 111, 159);
}

.billing-type-badge--mixed[b-dsiomfyxbk] {
  border-color: rgba(109, 40, 217, 0.14);
  background: rgba(109, 40, 217, 0.10);
  color: #6d28d9;
}

.billing-type-badge--default[b-dsiomfyxbk] {
  border-color: rgba(148, 163, 184, 0.18);
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.billing-status-badge--ready[b-dsiomfyxbk] {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
}

.billing-status-badge--reviewed[b-dsiomfyxbk] {
  background: rgba(34, 197, 94, 0.16);
  color: #15803d;
}

.billing-status-badge--exported[b-dsiomfyxbk] {
  background: rgba(59, 130, 246, 0.14);
  color: #1d4ed8;
}

.billing-status-badge--hold[b-dsiomfyxbk] {
  background: rgba(239, 68, 68, 0.14);
  color: #b91c1c;
}

.billing-status-badge--notbillable[b-dsiomfyxbk] {
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}


/* ==========================================================================
   Details Modal
   --------------------------------------------------------------------------
   Modal used for charge review, bill-to selection, page/rate adjustment,
   and internal billing notes.
   ========================================================================== */

.billing-modal-backdrop[b-dsiomfyxbk] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.55);
  padding: 24px;
}

.billing-details-modal[b-dsiomfyxbk] {
  width: min(980px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
  overflow: hidden;
}

.billing-details-modal-header[b-dsiomfyxbk],
.billing-details-modal-footer[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
}

.billing-details-modal-footer[b-dsiomfyxbk] {
  justify-content: flex-end;
  border-top: 1px solid #e2e8f0;
  border-bottom: 0;
}

.billing-modal-title[b-dsiomfyxbk] {
  margin: 0;
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 800;
}

.billing-modal-subtitle[b-dsiomfyxbk] {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 0.9rem;
}

.billing-modal-close[b-dsiomfyxbk] {
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.billing-details-modal-body[b-dsiomfyxbk] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
  overflow: auto;
}

.billing-detail-title-row-compact[b-dsiomfyxbk] {
  margin-bottom: 0.65rem;
}

.billing-modal-status-stack[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.billing-modal-total[b-dsiomfyxbk] {
  color: #0f172a;
  font-size: 1.1rem;
  font-weight: 850;
  white-space: nowrap;
}

.billing-context-summary[b-dsiomfyxbk] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem;
  border: 1px solid #e5edf7;
  border-radius: 0.8rem;
  background: #f8fafc;
}

.billing-context-main[b-dsiomfyxbk] {
  min-width: 0;
}

.billing-context-title[b-dsiomfyxbk] {
  color: #0f172a;
  font-size: 0.98rem;
  font-weight: 780;
  line-height: 1.25;
}

.billing-context-meta[b-dsiomfyxbk] {
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.8rem;
}

.billing-context-pill-row[b-dsiomfyxbk] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  flex: 0 0 auto;
}

.billing-context-pill[b-dsiomfyxbk] {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.18rem 0.65rem;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #ffffff;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 750;
  white-space: nowrap;
}

.billing-detail-compact-grid[b-dsiomfyxbk] {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 0.8fr;
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.billing-detail-compact-item[b-dsiomfyxbk] {
  min-width: 0;
  border: 1px solid #e5edf7;
  border-radius: 0.7rem;
  background: #ffffff;
  padding: 0.55rem 0.65rem;
}

.billing-detail-compact-item-wide[b-dsiomfyxbk] {
  min-width: 0;
}

.billing-details-section[b-dsiomfyxbk] {
  border: 1px solid #e2e8f0;
  border-radius: 0.9rem;
  background: #ffffff;
  padding: 0.85rem;
}

.billing-detail-title-row[b-dsiomfyxbk] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.billing-detail-section-title[b-dsiomfyxbk] {
  color: #0f172a;
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.billing-detail-section-helper[b-dsiomfyxbk] {
  margin-top: 0.12rem;
  color: #64748b;
  font-size: 0.76rem;
}

.billing-detail-grid[b-dsiomfyxbk],
.billing-edit-grid[b-dsiomfyxbk] {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.billing-edit-grid-compact[b-dsiomfyxbk] {
  grid-template-columns: 1.1fr 0.75fr 0.75fr 0.8fr 1fr 0.95fr;
  gap: 0.5rem;
}

.billing-detail-item[b-dsiomfyxbk],
.billing-edit-field[b-dsiomfyxbk] {
  border: 1px solid #e5edf7;
  border-radius: 0.7rem;
  background: #f8fafc;
  padding: 0.55rem 0.65rem;
}

.billing-detail-item-wide[b-dsiomfyxbk] {
  grid-column: span 2;
}

.billing-edit-field-wide[b-dsiomfyxbk] {
  grid-column: span 6;
}

.billing-detail-label[b-dsiomfyxbk],
.billing-edit-label[b-dsiomfyxbk] {
  display: block;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.billing-detail-value[b-dsiomfyxbk] {
  display: block;
  margin-top: 0.28rem;
  color: #0f172a;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
}

.billing-detail-amount[b-dsiomfyxbk] {
  color: #0f172a;
  font-size: 1.1rem;
  font-weight: 850;
}

.billing-edit-select[b-dsiomfyxbk],
.billing-edit-input[b-dsiomfyxbk],
.billing-edit-textarea[b-dsiomfyxbk] {
  margin-top: 0.35rem;
  min-height: 2rem;
  border-color: #d7e0ec;
  border-radius: 0.55rem;
  font-size: 0.84rem;
  font-weight: 650;
}

.billing-note-block[b-dsiomfyxbk] {
  margin-top: 0.65rem;
  border: 1px solid #e5edf7;
  border-radius: 0.75rem;
  background: #f8fafc;
  padding: 0.65rem;
}

.billing-edit-amount[b-dsiomfyxbk] {
  background: #ffffff;
  color: #0f172a;
}

.billing-promotion-list[b-dsiomfyxbk] {
  display: grid;
  gap: 6px;
}

.billing-promotion-line[b-dsiomfyxbk] {
  border: 1px solid #edf2f7;
  border-radius: 0.65rem;
  background: #f8fafc;
  padding: 0.45rem 0.6rem;
  color: #334155;
  font-size: 0.78rem;
  line-height: 1.25;
}


/* ==========================================================================
   Responsive Adjustments
   --------------------------------------------------------------------------
   Secondary breakpoint for narrower admin content widths and collapsed
   browser/dev tools scenarios.
   ========================================================================== */

@container billing-page (max-width: 980px) {
  .billing-summary-strip[b-dsiomfyxbk] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-controls[b-dsiomfyxbk] {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .billing-control-search[b-dsiomfyxbk] {
    grid-column: 1 / -1;
  }

  .billing-detail-grid[b-dsiomfyxbk],
  .billing-edit-grid[b-dsiomfyxbk] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-detail-item-wide[b-dsiomfyxbk],
  .billing-edit-field-wide[b-dsiomfyxbk] {
    grid-column: span 2;
  }

  .billing-detail-compact-grid[b-dsiomfyxbk],
  .billing-edit-grid-compact[b-dsiomfyxbk] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-context-summary[b-dsiomfyxbk] {
    flex-direction: column;
  }

  .billing-context-pill-row[b-dsiomfyxbk] {
    justify-content: flex-start;
  }
}
/* /Components/Pages/Admin/Books.razor.rz.scp.css */
/* =========================================================
   Admin Books
   ---------------------------------------------------------
   Books layout is maintained by:
   Components/Shared/Books/BookShared.razor.css

   Add styles here only when behavior or layout is unique to:
   Pages/Admin/Books.razor
   ========================================================= */
/* /Components/Pages/Admin/BrokerManufacturerAssignments.razor.rz.scp.css */
/* Broker Manufacturer Assignments */
/* ---------------------------------------------------------
   Fixed-height WAM Admin workspace for maintaining authorized
   Broker-to-Manufacturer company relationships.
   --------------------------------------------------------- */

.broker-assignments-page[b-fls360yp9g] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-top: 2px;
    overflow: hidden;
    container-type: inline-size;
    container-name: broker-assignments-page;
}

.broker-assignments-workspace[b-fls360yp9g] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Companies and Users Module Tabs */
/* ---------------------------------------------------------
   Matches the existing Companies and Users pill navigation.
   --------------------------------------------------------- */

.companies-users-tabs[b-fls360yp9g] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
    flex-wrap: wrap;
}

    .companies-users-tabs[b-fls360yp9g]  a.companies-users-tab {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 150px;
        min-height: 34px;
        padding: 0 18px;
        border-radius: 999px;
        color: var(--text-600, #475569);
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
        transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    }

        .companies-users-tabs[b-fls360yp9g]  a.companies-users-tab:hover {
            color: #1d3a6d;
            background: rgba(37, 99, 235, 0.06);
        }

        .companies-users-tabs[b-fls360yp9g]  a.companies-users-tab.active {
            color: #1d4ed8;
            background: #ffffff;
            box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
        }

/* Summary Cards */
/* ---------------------------------------------------------
   Compact operational metrics matching existing admin grids.
   --------------------------------------------------------- */

.broker-assignments-summary-strip[b-fls360yp9g] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.broker-assignments-summary-card[b-fls360yp9g] {
    appearance: none;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--border-200, #e2e8f0);
    border-radius: 13px;
    background: #ffffff;
    box-shadow: var(--shadow-1);
    text-align: left;
}

button.broker-assignments-summary-card[b-fls360yp9g] {
    cursor: pointer;
}

.broker-assignments-summary-card:hover[b-fls360yp9g],
.broker-assignments-summary-card.is-active[b-fls360yp9g] {
    border-color: rgba(37, 99, 235, 0.32);
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.06), 0 4px 12px rgba(15, 23, 42, 0.06);
}

.broker-assignments-summary-card--success[b-fls360yp9g] {
    border-color: rgba(22, 163, 74, 0.24);
}

.broker-assignments-summary-card--info[b-fls360yp9g] {
    border-color: rgba(37, 99, 235, 0.22);
}

.broker-assignments-summary-card--warning[b-fls360yp9g] {
    border-color: rgba(250, 169, 75, 0.34);
}

.broker-assignments-summary-label[b-fls360yp9g],
.broker-assignments-summary-meta[b-fls360yp9g] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.broker-assignments-summary-label[b-fls360yp9g] {
    color: var(--text-600, #475569);
    font-size: 13px;
    font-weight: 700;
}

.broker-assignments-summary-value[b-fls360yp9g] {
    display: block;
    margin-top: 5px;
    color: var(--text-900, #0f172a);
    font-size: 21px;
    line-height: 1;
}

.broker-assignments-summary-meta[b-fls360yp9g] {
    margin-top: 5px;
    color: var(--text-500, #64748b);
    font-size: 12px;
}

/* Main Workspace Card */
/* ---------------------------------------------------------
   Keeps the header, filters, and pager stable while the table
   owns vertical and horizontal scrolling.
   --------------------------------------------------------- */

.broker-assignments-card[b-fls360yp9g] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.broker-assignments-header[b-fls360yp9g] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.broker-assignments-header-copy[b-fls360yp9g] {
    min-width: 0;
    flex: 1 1 auto;
}

.broker-assignments-header h2[b-fls360yp9g] {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    font-weight: 700;
}

.broker-assignments-header p[b-fls360yp9g] {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 13px;
}

.broker-assignments-header-actions[b-fls360yp9g] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.broker-assignments-primary-button[b-fls360yp9g] {
    min-height: 32px;
    padding: 5px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

/* Filter Controls */
/* ---------------------------------------------------------
   Compact five-column filter bar designed for the desktop
   workspace width.
   --------------------------------------------------------- */

.broker-assignments-controls[b-fls360yp9g] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(250px, 1.3fr) minmax(180px, 0.8fr) minmax(190px, 0.9fr) 125px 82px;
    gap: 10px;
    align-items: end;
    padding: 10px 12px;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
}

.broker-assignments-control[b-fls360yp9g] {
    min-width: 0;
}

.broker-assignments-control-label[b-fls360yp9g] {
    display: block;
    margin-bottom: 5px;
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.1;
}

.broker-assignments-search[b-fls360yp9g],
.broker-assignments-select[b-fls360yp9g] {
    min-height: 34px;
    font-size: 13px;
}

[b-fls360yp9g] .broker-assignments-searchable-select,
[b-fls360yp9g] .broker-assignments-modal-searchable-select {
    width: 100%;
}

/* Assignment Table */
/* ---------------------------------------------------------
   Table remains below the 1140px content threshold. The table
   container owns overflow without expanding the page.
   --------------------------------------------------------- */

.broker-assignments-table-region[b-fls360yp9g] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.broker-assignments-table-wrap[b-fls360yp9g] {
    width: 100%;
    height: 100%;
    overflow: auto;
}

.broker-assignments-table[b-fls360yp9g] {
    width: 100%;
    min-width: 900px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

    .broker-assignments-table thead th[b-fls360yp9g] {
        position: sticky;
        top: 0;
        z-index: 8;
        padding: 0.68rem 0.7rem;
        overflow: hidden;
        border-bottom: 1px solid #e2e8f0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .broker-assignments-table tbody td[b-fls360yp9g] {
        min-width: 0;
        padding: 0.58rem 0.7rem;
        overflow: hidden;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        vertical-align: middle;
    }

    .broker-assignments-table tbody tr:hover td[b-fls360yp9g] {
        background: #fbfdff;
    }

.broker-assignments-col-broker[b-fls360yp9g] {
    width: 270px;
}

.broker-assignments-col-manufacturer[b-fls360yp9g] {
    width: auto;
    min-width: 300px;
}

.broker-assignments-col-status[b-fls360yp9g] {
    width: 115px;
}

.broker-assignments-col-updated[b-fls360yp9g] {
    width: 120px;
    text-align: center;
    white-space: nowrap;
}

.broker-assignments-col-actions[b-fls360yp9g] {
    width: 126px;
    text-align: center;
}

.broker-assignments-primary[b-fls360yp9g],
.broker-assignments-secondary[b-fls360yp9g] {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.broker-assignments-primary[b-fls360yp9g] {
    color: #0f172a;
    font-weight: 700;
}

.broker-assignments-secondary[b-fls360yp9g] {
    margin-top: 2px;
    color: #64748b;
    font-size: 0.74rem;
}

/* Status and Row Actions */
/* ---------------------------------------------------------
   Status treatment and sticky action behavior match existing
   enterprise table patterns.
   --------------------------------------------------------- */

.broker-assignments-status[b-fls360yp9g] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.broker-assignments-status--active[b-fls360yp9g] {
    background: #ecfdf5;
    color: #047857;
}

.broker-assignments-status--inactive[b-fls360yp9g] {
    background: #f1f5f9;
    color: #475569;
}

.broker-assignments-row-actions[b-fls360yp9g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 5px 8px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
}

.broker-assignments-link-action[b-fls360yp9g] {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.broker-assignments-link-action--danger[b-fls360yp9g] {
    color: #b42318;
}

.broker-assignments-table th.broker-assignments-col-actions[b-fls360yp9g],
.broker-assignments-table td.broker-assignments-col-actions[b-fls360yp9g] {
    position: sticky;
    right: 0;
    z-index: 10;
    background: #ffffff;
    background-clip: padding-box;
}

.broker-assignments-table thead
th.broker-assignments-col-actions[b-fls360yp9g] {
    z-index: 18;
}

.broker-assignments-table tbody tr:hover
td.broker-assignments-col-actions[b-fls360yp9g] {
    background: #fbfdff;
}

/* Pager and Page States */
/* ---------------------------------------------------------
   Pagination stays anchored to the bottom of the workspace.
   --------------------------------------------------------- */

.broker-assignments-pager[b-fls360yp9g] {
    flex: 0 0 auto;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 12px;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
}

.broker-assignments-pager-actions[b-fls360yp9g] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.broker-assignments-pager-page[b-fls360yp9g] {
    min-width: 86px;
    color: #334155;
    font-weight: 600;
    text-align: center;
}

.broker-assignments-page-state[b-fls360yp9g],
.broker-assignments-empty[b-fls360yp9g] {
    flex: 1 1 auto;
    display: grid;
    place-items: center;
    min-height: 120px;
    padding: 1rem;
    color: #64748b;
    text-align: center;
}

.broker-assignments-page-state--error[b-fls360yp9g],
.broker-assignments-form-error[b-fls360yp9g] {
    color: #b42318;
}

/* Assignment Modals */
/* ---------------------------------------------------------
   Compact modal shell for create, deactivate, and reactivate
   workflows.
   --------------------------------------------------------- */

.broker-assignments-modal-backdrop[b-fls360yp9g] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.52);
}

.broker-assignments-modal[b-fls360yp9g] {
    width: min(720px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: visible;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.broker-assignments-modal--compact[b-fls360yp9g] {
    width: min(560px, calc(100vw - 2rem));
}

.broker-assignments-modal-header[b-fls360yp9g],
.broker-assignments-modal-footer[b-fls360yp9g] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
}

.broker-assignments-modal-header[b-fls360yp9g] {
    align-items: flex-start;
    border-bottom: 1px solid #e2e8f0;
}

    .broker-assignments-modal-header h2[b-fls360yp9g] {
        margin: 0;
        color: #0f172a;
        font-size: 18px;
    }

    .broker-assignments-modal-header p[b-fls360yp9g] {
        margin: 4px 0 0;
        color: #64748b;
        font-size: 13px;
    }

.broker-assignments-modal-close[b-fls360yp9g] {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.broker-assignments-modal-body[b-fls360yp9g] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
    padding: 1rem 1.15rem;
}

.broker-assignments-modal-footer[b-fls360yp9g] {
    justify-content: flex-end;
    border-top: 1px solid #e2e8f0;
}

.broker-assignments-form-grid[b-fls360yp9g] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.broker-assignments-field[b-fls360yp9g] {
    min-width: 0;
}

    .broker-assignments-field label[b-fls360yp9g] {
        display: block;
        margin-bottom: 0.3rem;
        color: #334155;
        font-size: 0.78rem;
        font-weight: 800;
    }

.broker-assignments-form-error[b-fls360yp9g] {
    margin-top: 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.broker-assignments-confirmation[b-fls360yp9g] {
    padding: 0.8rem;
    border: 1px solid #dbe4ef;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.45;
}

/* Responsive Adjustments */
/* ---------------------------------------------------------
   Preserves the desktop-first layout while allowing compact
   browser and development-tool widths.
   --------------------------------------------------------- */

@container broker-assignments-page (max-width: 920px) {
    .broker-assignments-summary-strip[b-fls360yp9g] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .broker-assignments-controls[b-fls360yp9g] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .broker-assignments-control--search[b-fls360yp9g] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .broker-assignments-header[b-fls360yp9g] {
        align-items: flex-start;
        flex-direction: column;
    }

    .broker-assignments-header-actions[b-fls360yp9g] {
        width: 100%;
        justify-content: flex-start;
    }

    .broker-assignments-form-grid[b-fls360yp9g] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Admin/Companies.razor.rz.scp.css */
/* =========================================================
   Companies.razor.css
   ---------------------------------------------------------
   Scope:
   - Companies page shell
   - Summary cards
   - Company list card
   - Company modal
   - Toolbar / filters
   - Table shell
   - Sort controls
   - Sticky Actions column
   - Pager
   - Responsive layout
   ========================================================= */

/* =========================================================
   Page shell
   ========================================================= */

.companies-page[b-gdbvp38lor] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 2px;
  overflow: hidden;
  container-type: inline-size;
  container-name: companies-page;
}

.companies-workspace[b-gdbvp38lor] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.companies-header[b-gdbvp38lor] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.companies-header-copy[b-gdbvp38lor] {
  min-width: 0;
  flex: 1 1 auto;
}

.companies-title[b-gdbvp38lor] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-900);
}

.companies-subtitle[b-gdbvp38lor] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500);
}

.companies-primary-button[b-gdbvp38lor] {
  min-width: 150px;
  min-height: 30px;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 600;
}

/* =========================================================
   Companies + Users module tabs
   ---------------------------------------------------------
   Compact left-aligned pill navigation for switching between
   company and user administration workspaces. Match the
   Reports and Books tab behavior while using a wider tab
   width for this two-option administration module.
   ========================================================= */

.companies-users-tabs[b-gdbvp38lor] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 999px;
  background: #f8fafc;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  min-width: 0;
  flex-wrap: wrap;
}

  /* NavLink renders an anchor from inside another component, so ::deep is required. */
  .companies-users-tabs[b-gdbvp38lor]  a.companies-users-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    min-width: 150px;
    padding: 0 18px;
    border-radius: 999px;
    color: var(--text-600, #475569);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
  }

    .companies-users-tabs[b-gdbvp38lor]  a.companies-users-tab:hover {
      color: #1d3a6d;
      background: rgba(37, 99, 235, 0.06);
      text-decoration: none;
    }

    .companies-users-tabs[b-gdbvp38lor]  a.companies-users-tab.active {
      background: #fff;
      color: #1d4ed8;
      box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
    }

    .companies-users-tabs[b-gdbvp38lor]  a.companies-users-tab:focus-visible {
      outline: none;
      box-shadow: var(--focus-ring);
    }

/* =========================================================
   Summary cards
   ========================================================= */

.companies-summary-strip[b-gdbvp38lor] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.companies-summary-card[b-gdbvp38lor] {
  min-width: 0;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
  border-radius: 13px;
  box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
}

.companies-summary-card-button[b-gdbvp38lor] {
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

  .companies-summary-card-button:hover[b-gdbvp38lor] {
    border-color: rgba(29, 58, 109, 0.18);
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .companies-summary-card-button.is-active[b-gdbvp38lor] {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .companies-summary-card-button:focus-visible[b-gdbvp38lor] {
    outline: none;
    box-shadow: var(--focus-ring);
  }

.companies-summary-label[b-gdbvp38lor] {
  margin: 0 0 6px;
  overflow: hidden;
  color: var(--text-600, #475569);
  font-size: 13.5px;
  line-height: 1.3;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.companies-summary-value[b-gdbvp38lor] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
}

.companies-summary-meta[b-gdbvp38lor] {
  margin-top: 5px;
  overflow: hidden;
  color: var(--text-500, #64748b);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.companies-summary-card--neutral[b-gdbvp38lor] {
  border-color: rgba(117, 140, 167, 0.22);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.companies-summary-card--info[b-gdbvp38lor] {
  border-color: rgba(117, 140, 167, 0.24);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.companies-summary-card--success[b-gdbvp38lor] {
  border-color: rgba(91, 196, 191, 0.38);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.companies-summary-card--warning[b-gdbvp38lor] {
  border-color: rgba(250, 169, 75, 0.32);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.companies-summary-card--neutral.is-active[b-gdbvp38lor] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.companies-summary-card--info.is-active[b-gdbvp38lor] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.companies-summary-card--success.is-active[b-gdbvp38lor] {
  border-color: rgba(91, 196, 191, 0.48);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.companies-summary-card--warning.is-active[b-gdbvp38lor] {
  border-color: rgba(250, 169, 75, 0.42);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

/* =========================================================
   Shared card shell
   ========================================================= */

.companies-card[b-gdbvp38lor] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200);
  border-radius: 18px;
  /*box-shadow: var(--shadow-1);*/
  overflow: hidden;
}

.companies-card-title[b-gdbvp38lor] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.companies-card-subtitle[b-gdbvp38lor] {
  margin: 4px 0 0;
  color: var(--text-500, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

/* =========================================================
   Company list card
   ========================================================= */

.companies-list-section[b-gdbvp38lor] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.companies-manage-card[b-gdbvp38lor] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.companies-panel-header[b-gdbvp38lor] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.companies-panel-header-copy[b-gdbvp38lor] {
  min-width: 0;
  flex: 1 1 auto;
}

.companies-panel-header-actions[b-gdbvp38lor] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.companies-access-body[b-gdbvp38lor] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  margin-bottom: 0;
  padding: 0;
}

.companies-state[b-gdbvp38lor] {
  padding: 18px 16px;
  color: var(--text-600);
}

/* =========================================================
   Controls
   ========================================================= */

.companies-controls[b-gdbvp38lor] {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 170px 170px 108px;
  gap: 10px;
  align-items: end;
  padding: 14px 12px 10px;
  margin-bottom: 0;
  flex: 0 0 auto;
}

.companies-control[b-gdbvp38lor] {
  min-width: 0;
}

.companies-control-label[b-gdbvp38lor] {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

.companies-search[b-gdbvp38lor],
.companies-select[b-gdbvp38lor],
.companies-page-size[b-gdbvp38lor] {
  width: 100%;
  min-height: 38px;
}

.companies-page-size[b-gdbvp38lor] {
  min-width: 108px;
}

.companies-select[b-gdbvp38lor] {
  min-width: 0;
}

/* =========================================================
   Table shell
   ========================================================= */

.companies-table-region[b-gdbvp38lor] {
  min-height: 0;
  height: 100%;
  margin: 0 12px 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
}

.companies-table-wrap[b-gdbvp38lor] {
  min-height: 0;
  position: relative;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #ffffff;
}

.companies-table[b-gdbvp38lor] {
  width: 100%;
  margin: 0;
  min-width: 1060px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
}

  .companies-table thead th[b-gdbvp38lor] {
    position: sticky;
    top: 0;
    z-index: 12;
    padding: 0.58rem 0.55rem;
    border-bottom: 0;
    background: #ffffff;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
  }

  .companies-table tbody td[b-gdbvp38lor] {
    padding: 0.56rem 0.55rem;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
    color: var(--text-900, #0f172a);
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .companies-table tbody tr:hover td[b-gdbvp38lor] {
    background: #fbfdff;
  }

  /* Align table content with the filter row and pager inset. */
  .companies-table thead th:first-child[b-gdbvp38lor],
  .companies-table tbody td:first-child[b-gdbvp38lor] {
    padding-left: 12px;
  }

  .companies-table thead th:last-child[b-gdbvp38lor],
  .companies-table tbody td:last-child[b-gdbvp38lor] {
    padding-right: 12px;
  }

/* =========================================================
   Sort controls
   ========================================================= */

.companies-sort-button[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .companies-sort-button:hover[b-gdbvp38lor],
  .companies-sort-button--active[b-gdbvp38lor] {
    color: #2563eb;
  }

.companies-sort-indicator[b-gdbvp38lor] {
  font-size: 0.72rem;
  line-height: 1;
}

/* =========================================================
   Column sizing / behavior
   ---------------------------------------------------------
   Company table waits until 980px before horizontal scroll.
   Company name stays flexible while utility columns remain
   compact and predictable.
   ========================================================= */

.companies-company-col[b-gdbvp38lor] {
  width: auto;
  min-width: 180px;
}

.companies-type-col[b-gdbvp38lor] {
  width: 128px;
  min-width: 120px;
}

.companies-users-col[b-gdbvp38lor] {
  width: 96px;
  min-width: 90px;
}

.companies-city-col[b-gdbvp38lor] {
  width: 130px;
  min-width: 100px;
}

.companies-state-col[b-gdbvp38lor] {
  width: 64px;
  min-width: 60px;
}

.companies-status-col[b-gdbvp38lor] {
  width: 112px;
  min-width: 104px;
}

.companies-created-col[b-gdbvp38lor] {
  width: 128px;
  min-width: 120px;
}

.companies-actions-col[b-gdbvp38lor] {
  width: 176px;
  min-width: 176px;
  max-width: 176px;
}

.companies-table th[b-gdbvp38lor],
.companies-table td[b-gdbvp38lor] {
  overflow: hidden;
}

  .companies-table td.companies-type-col[b-gdbvp38lor],
  .companies-table td.companies-users-col[b-gdbvp38lor],
  .companies-table td.companies-state-col[b-gdbvp38lor],
  .companies-table td.companies-status-col[b-gdbvp38lor],
  .companies-table td.companies-created-col[b-gdbvp38lor],
  .companies-table td.companies-actions-col[b-gdbvp38lor] {
    white-space: nowrap;
  }

  .companies-table td.companies-company-col[b-gdbvp38lor],
  .companies-table td.companies-city-col[b-gdbvp38lor] {
    white-space: normal;
  }

  /* Actions column is pinned to the right edge of the table scroll viewport.
   The sticky cell stays neutral; the inner action zone owns emphasis. */
  .companies-table th.companies-actions-col[b-gdbvp38lor],
  .companies-table td.companies-actions-col[b-gdbvp38lor] {
    position: sticky;
    right: 0;
    z-index: 10;
    padding-left: 0.64rem;
    padding-right: 0.64rem;
    text-align: left;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
  }

.companies-table thead th.companies-actions-col[b-gdbvp38lor] {
  z-index: 18;
  background: #ffffff;
  color: #64748b;
  box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.companies-table tbody tr:hover td.companies-actions-col[b-gdbvp38lor] {
  background: #fbfdff;
}

/* Inline action links use compact spacing because this column has three actions. */
.companies-page .ua-inline-actions[b-gdbvp38lor] {
  width: 100%;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 6px;
  border-radius: 7px;
  background: #f3f6fb;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
  flex-wrap: nowrap;
  white-space: nowrap;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.companies-table tbody tr:hover .ua-inline-actions[b-gdbvp38lor] {
  background: #edf4ff;
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

/* Action buttons render as text links, not browser-default buttons. */
.companies-page .ua-inline-action[b-gdbvp38lor] {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--link-600, #2563eb); /* standard blue action link */
  text-decoration: none;
  cursor: pointer;
}

  /* Simple underline affordance, consistent with Products actions. */
  .companies-page .ua-inline-action:hover[b-gdbvp38lor] {
    color: #1d4ed8;
    text-decoration: underline;
  }

  /* Keyboard focus keeps the link style without adding button chrome. */
  .companies-page .ua-inline-action:focus-visible[b-gdbvp38lor] {
    outline: none;
    text-decoration: underline;
    border-radius: 4px;
  }

/* Destructive action matches Products deactivate styling. */
.companies-page .ua-inline-action-danger[b-gdbvp38lor] {
  color: #dc2626; /* red destructive action */
}

/* Dot separator keeps action links readable without taking extra width. */
.companies-page .ua-action-sep[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px;
  color: rgba(100, 116, 139, 0.62);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* =========================================================
   Row content
   ========================================================= */

.companies-users-compact[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  white-space: nowrap;
}

.companies-users-active[b-gdbvp38lor] {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-900);
}

/* Active user count is a button for company-filter navigation,
   but should visually remain compact table text. */
.companies-users-active-link[b-gdbvp38lor] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  color: var(--text-900);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

  .companies-users-active-link:hover[b-gdbvp38lor] {
    color: #1d4ed8;
    text-decoration: underline;
  }

  .companies-users-active-link:focus[b-gdbvp38lor] {
    outline: none;
    box-shadow: none;
  }

  .companies-users-active-link:focus-visible[b-gdbvp38lor] {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
    color: #1d4ed8;
    text-decoration: underline;
  }

.companies-users-info[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  user-select: none;
}

.companies-users-tooltip-lines[b-gdbvp38lor] {
  display: grid;
  gap: 2px;
  white-space: nowrap;
}

  .companies-users-info:focus-visible[b-gdbvp38lor] {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
  }

.companies-users-trigger:focus-visible[b-gdbvp38lor] {
  outline: none;
}

  .companies-users-trigger:focus-visible .companies-users-total[b-gdbvp38lor] {
    text-decoration: underline;
  }

.companies-empty[b-gdbvp38lor] {
  text-align: center;
  color: var(--text-500, #667085);
  padding: 2rem 1rem !important;
}

.companies-company-text[b-gdbvp38lor],
.companies-city-text[b-gdbvp38lor] {
  max-width: 100%;
  line-height: 1.3;
  vertical-align: middle;
}

.companies-company-text[b-gdbvp38lor] {
  display: -webkit-box;
  overflow: hidden;
  color: var(--text-900, #0f172a);
  font-size: 13.5px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: normal;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.companies-table-tooltip-cell[b-gdbvp38lor] {
  position: relative;
  display: block;
  min-width: 0;
  max-width: 100%;
}

.companies-city-text[b-gdbvp38lor] {
  display: inline-block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.companies-state-text[b-gdbvp38lor],
.companies-created-text[b-gdbvp38lor] {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.companies-state-text[b-gdbvp38lor] {
  min-width: 24px;
  text-align: left;
}

.companies-created-text[b-gdbvp38lor] {
  color: var(--text-700, #334155);
  font-size: 12px;
  line-height: 1.25;
}

.companies-field-error[b-gdbvp38lor] {
  margin-top: 0.2rem;
  color: #b5474f;
  font-size: 0.82rem;
  line-height: 1.2;
}

/* =========================================================
   Company status and type badges
   ========================================================= */

/* Company status badge base */
.companies-status-badge[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 70px;
  padding: 0 2px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.companies-status-badge--active[b-gdbvp38lor] {
  background: rgba(91, 196, 191, 0.18); /* soft teal status background */
  color: #206a66; /* dark teal status text */
}

.companies-status-badge--inactive[b-gdbvp38lor] {
  background: rgba(241, 95, 87, 0.14); /* soft red status background */
  color: #9d423c; /* muted red status text */
}

.companies-type-badge[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 100px;
  padding: 0 2px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* WAM type - navy executive/company-owner category. */
.companies-type-badge--wam[b-gdbvp38lor] {
  background: #e0e7ff; /* soft navy-indigo type background */
  color: #1e1b4b; /* deep navy type text */
}

/* Manufacturer type - muted purple production/vendor category. */
.companies-type-badge--manufacturer[b-gdbvp38lor] {
  background: #ede9fe; /* soft purple type background */
  color: #4c1d95; /* deep purple type text */
}

/* Distributor type - steel blue logistics/channel category. */
.companies-type-badge--distributor[b-gdbvp38lor] {
  background: #e2e8f0; /* soft steel blue-gray type background */
  color: #334155; /* slate type text */
}

/* Broker type - muted brown intermediary/category label. */
.companies-type-badge--broker[b-gdbvp38lor] {
  background: #f1e7dc; /* soft taupe type background */
  color: #6b3f1d; /* muted brown type text */
}

/* Default type - neutral fallback for unexpected company type values. */
.companies-type-badge--default[b-gdbvp38lor] {
  background: #f1f5f9; /* neutral fallback background */
  color: #475569; /* neutral fallback text */
}

/* =========================================================
   Pager
   ========================================================= */

.companies-pager[b-gdbvp38lor] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 6px 14px 4px;
  background: #f8fafc;
  border-top: 1px solid rgba(25, 35, 68, 0.06);
  flex-wrap: wrap;
}

.companies-pager-meta[b-gdbvp38lor] {
  font-size: 12px;
  color: var(--text-600);
}

.companies-pager-actions[b-gdbvp38lor] {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.companies-pager-page[b-gdbvp38lor] {
  min-width: 88px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

/* =========================================================
   Modal shell
   ========================================================= */

.companies-modal-backdrop[b-gdbvp38lor] {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: rgba(15, 23, 42, 0.35);
}

.companies-modal[b-gdbvp38lor] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.companies-modal-card[b-gdbvp38lor] {
  width: min(980px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(25, 35, 68, 0.08);
}

.companies-modal-header[b-gdbvp38lor] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--border-200);
}

.companies-modal-title[b-gdbvp38lor] {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-900);
}

.companies-modal-body[b-gdbvp38lor] {
  overflow: auto;
  padding: 16px 18px 14px;
}

.companies-modal-footer[b-gdbvp38lor] {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* Detail modal subtitle shown below the modal title. */
.companies-modal-subtitle[b-gdbvp38lor] {
  margin-top: 3px;
  font-size: 12px;
  color: var(--text-500);
}

/* Detail modal uses a narrower shell than the edit form modal. */
.companies-modal-card--details[b-gdbvp38lor] {
  width: min(860px, calc(100vw - 2rem));
}

/* Company detail fields use the same two-column pattern as Products detail. */
.companies-detail-grid[b-gdbvp38lor] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.companies-detail-item[b-gdbvp38lor] {
  min-width: 0;
}

.companies-detail-item--full[b-gdbvp38lor] {
  grid-column: 1 / -1;
}

.companies-detail-label[b-gdbvp38lor] {
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-500);
}

.companies-detail-value[b-gdbvp38lor] {
  font-size: 14px;
  line-height: 1.45;
  color: var(--text-900);
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Audit section separates record metadata from company information. */
.companies-detail-section-title[b-gdbvp38lor] {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-600);
}

/* Audit values are slightly smaller because they are support metadata. */
.companies-detail-item--audit .companies-detail-value[b-gdbvp38lor] {
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-800);
}

.companies-form-body[b-gdbvp38lor] {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.companies-form-actions[b-gdbvp38lor] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

  .companies-form-actions .btn[b-gdbvp38lor] {
    min-height: 32px;
    padding: 0.24rem 0.72rem;
    font-size: 0.9rem;
    line-height: 1.15;
    border-radius: 0.45rem;
  }

.companies-page .form-label[b-gdbvp38lor] {
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.companies-form-body .row.g-3[b-gdbvp38lor] {
  --bs-gutter-y: 0.7rem;
}

.companies-page .form-control[b-gdbvp38lor],
.companies-page .form-check-input[b-gdbvp38lor],
.companies-page .form-select[b-gdbvp38lor] {
  min-height: 34px;
}

.companies-page .form-check-input[b-gdbvp38lor] {
  min-height: auto;
}

.company-field-label-row[b-gdbvp38lor] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.company-field-meta[b-gdbvp38lor] {
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1.2;
  color: var(--text-500);
  white-space: nowrap;
  padding-right: 5px;
}

/* =========================================================
   Responsive
   ========================================================= */

@container companies-page (max-width: 960px) {
  .companies-summary-strip[b-gdbvp38lor] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container companies-page (max-width: 980px) {
  .companies-controls[b-gdbvp38lor] {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .companies-page-size[b-gdbvp38lor] {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .companies-panel-header[b-gdbvp38lor] {
    align-items: flex-start;
    flex-direction: column;
  }

  .companies-panel-header-actions[b-gdbvp38lor] {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .companies-table-region[b-gdbvp38lor] {
    margin-left: 10px;
    margin-right: 10px;
  }

  .companies-modal-card[b-gdbvp38lor] {
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
  }

  .companies-modal-body[b-gdbvp38lor] {
    padding: 14px 14px 12px;
  }

  /* Detail modal stacks fields on small screens. */
  .companies-detail-grid[b-gdbvp38lor] {
    grid-template-columns: 1fr;
  }

  .companies-modal-footer[b-gdbvp38lor] {
    justify-content: stretch;
  }

    .companies-modal-footer .btn[b-gdbvp38lor] {
      width: 100%;
    }
}

@container companies-page (max-width: 640px) {
  .companies-summary-strip[b-gdbvp38lor] {
    grid-template-columns: 1fr;
  }

  .companies-controls[b-gdbvp38lor] {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .companies-table-region[b-gdbvp38lor] {
    margin-left: 12px;
    margin-right: 12px;
  }

  .companies-pager[b-gdbvp38lor] {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* /Components/Pages/Admin/CompanyOnboarding.razor.rz.scp.css */
/* =========================================================
   CompanyOnboarding.razor.css
   ---------------------------------------------------------
   Scope:
   - Page shell
   - Wizard card shell
   - Stepper
   - Section headers
   - Company selection
   - Company form
   - Invite defaults summary
   - Add Users tabs
   - Paste / upload / manual user entry
   - Review table
   - Status badges
   - Send summary
   - Footer actions
   - Field metadata
   - Responsive layout
   ========================================================= */


/* =========================================================
   Page shell
   ========================================================= */

.company-onboarding-page[b-kcgyknrac8] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 2px;
  overflow: hidden;
}

.company-onboarding-workspace[b-kcgyknrac8] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}

.company-onboarding-header[b-kcgyknrac8] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.company-onboarding-title[b-kcgyknrac8] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-900);
}

.company-onboarding-subtitle[b-kcgyknrac8] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500);
}

.company-onboarding-header-actions[b-kcgyknrac8] {
  flex: 0 0 auto;
}

.company-onboarding-secondary-button[b-kcgyknrac8] {
  min-height: 30px;
  padding: 4px 14px;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 600;
}


/* =========================================================
   Wizard card shell
   ========================================================= */

.company-onboarding-card[b-kcgyknrac8] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: 18px;
  overflow: hidden;
}

.company-onboarding-body[b-kcgyknrac8] {
  min-height: 0;
  overflow: auto;
  padding: 18px;
}

.company-onboarding-section[b-kcgyknrac8] {
  max-width: 1180px;
}


/* =========================================================
   Stepper
   ========================================================= */

.company-onboarding-stepper[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  background: #f8fafc;
}

.company-onboarding-step[b-kcgyknrac8] {
  appearance: none;
  border: 0;
  border-right: 1px solid rgba(25, 35, 68, 0.08);
  background: transparent;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  color: var(--text-600);
  cursor: pointer;
}

  .company-onboarding-step:last-child[b-kcgyknrac8] {
    border-right: 0;
  }

  .company-onboarding-step.is-active[b-kcgyknrac8] {
    background: #fff;
    color: var(--text-900);
    box-shadow: inset 0 -2px 0 #1d4ed8;
  }

  .company-onboarding-step.is-complete[b-kcgyknrac8] {
    color: #206a66;
  }

.company-onboarding-step-number[b-kcgyknrac8] {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e2e8f0;
  font-size: 12px;
  font-weight: 700;
}

.company-onboarding-step.is-active .company-onboarding-step-number[b-kcgyknrac8] {
  background: #dbeafe;
  color: #1d4ed8;
}

.company-onboarding-step.is-complete .company-onboarding-step-number[b-kcgyknrac8] {
  background: rgba(91, 196, 191, 0.18);
  color: #206a66;
}

.company-onboarding-step-text[b-kcgyknrac8] {
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}


/* =========================================================
   Section headers
   ========================================================= */

.company-onboarding-section-header[b-kcgyknrac8] {
  margin-bottom: 16px;
}

  .company-onboarding-section-header h2[b-kcgyknrac8] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-900);
  }

  .company-onboarding-section-header p[b-kcgyknrac8] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
  }


/* =========================================================
   Company selection
   ========================================================= */

.company-onboarding-choice-grid[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.company-onboarding-choice[b-kcgyknrac8] {
  appearance: none;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 12px;
  background: #fff;
  padding: 14px 16px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}

  .company-onboarding-choice.is-selected[b-kcgyknrac8] {
    border-color: rgba(29, 78, 216, 0.38);
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.55), #fff);
    box-shadow: 0 0 0 1px rgba(29, 78, 216, 0.10);
  }

.company-onboarding-choice-title[b-kcgyknrac8] {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-900);
}

.company-onboarding-choice-copy[b-kcgyknrac8] {
  font-size: 13px;
  color: var(--text-500);
}


/* =========================================================
   Company form
   ========================================================= */

.company-onboarding-form-grid[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.company-onboarding-field[b-kcgyknrac8] {
  min-width: 0;
}

.company-onboarding-field--span-2[b-kcgyknrac8] {
  grid-column: 1 / -1;
}

.company-onboarding-field-error[b-kcgyknrac8] {
  margin-top: 0.25rem;
  color: #b5474f;
  font-size: 0.82rem;
  line-height: 1.2;
}


/* =========================================================
   Field label metadata
   ========================================================= */

.company-field-label-row[b-kcgyknrac8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.company-field-meta[b-kcgyknrac8] {
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1.2;
  color: var(--text-500);
  white-space: nowrap;
  padding-right: 5px;
}


/* =========================================================
   Invite defaults summary
   ========================================================= */

.company-onboarding-summary-band[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 12px;
  background: #f8fafc;
}

.company-onboarding-summary-label[b-kcgyknrac8] {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-500);
}


/* =========================================================
   Add Users tabs
   ========================================================= */

.company-onboarding-tabs[b-kcgyknrac8] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  padding: 4px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 999px;
  background: #f8fafc;
}

.company-onboarding-tab[b-kcgyknrac8] {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-600);
  cursor: pointer;
}

  .company-onboarding-tab.is-active[b-kcgyknrac8] {
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.10);
  }


/* =========================================================
   User input header
   ========================================================= */

.company-onboarding-user-input-header[b-kcgyknrac8] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.company-onboarding-muted[b-kcgyknrac8] {
  margin-top: 2px;
  font-size: 12px;
  color: var(--text-500);
}


/* =========================================================
   Paste Emails input
   ========================================================= */

.company-onboarding-email-paste[b-kcgyknrac8] {
  min-height: 220px;
  resize: vertical;
}


  /* =========================================================
   Placeholder text
   ========================================================= */

  .company-onboarding-email-paste[b-kcgyknrac8]::placeholder,
  .company-onboarding-manual-entry-row input[b-kcgyknrac8]::placeholder {
    color: rgba(100, 116, 139, 0.52);
    font-style: italic;
    font-weight: 400;
  }

  .company-onboarding-email-paste[b-kcgyknrac8]::-webkit-input-placeholder,
  .company-onboarding-manual-entry-row input[b-kcgyknrac8]::-webkit-input-placeholder {
    color: rgba(100, 116, 139, 0.52);
    font-style: italic;
    font-weight: 400;
  }

  .company-onboarding-email-paste[b-kcgyknrac8]::-moz-placeholder,
  .company-onboarding-manual-entry-row input[b-kcgyknrac8]::-moz-placeholder {
    color: rgba(100, 116, 139, 0.52);
    font-style: italic;
    font-weight: 400;
    opacity: 1;
  }


/* =========================================================
   Upload and empty-state panels
   ========================================================= */

.company-onboarding-upload-box[b-kcgyknrac8],
.company-onboarding-placeholder[b-kcgyknrac8],
.company-onboarding-complete-card[b-kcgyknrac8] {
  border: 1px dashed rgba(25, 35, 68, 0.18);
  border-radius: 12px;
  background: #f8fafc;
  padding: 18px;
  color: var(--text-600);
}

.company-onboarding-upload-title[b-kcgyknrac8],
.company-onboarding-complete-title[b-kcgyknrac8] {
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-900);
}

.company-onboarding-upload-copy[b-kcgyknrac8],
.company-onboarding-complete-copy[b-kcgyknrac8] {
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--text-500);
}

.company-onboarding-template-actions[b-kcgyknrac8] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.company-onboarding-template-warning[b-kcgyknrac8] {
  margin: -4px 0 12px;
  padding: 8px 10px;
  border: 1px solid rgba(250, 169, 75, 0.30);
  border-radius: 8px;
  background: rgba(250, 169, 75, 0.08);
  color: #8a5a12;
  font-size: 12px;
  font-weight: 600;
}


/* =========================================================
   Manual user entry
   ========================================================= */

.company-onboarding-manual-box[b-kcgyknrac8] {
  border: 1px dashed rgba(25, 35, 68, 0.18);
  border-radius: 12px;
  background: #f8fafc;
  padding: 18px;
}

.company-onboarding-manual-entry-row[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.company-onboarding-manual-list[b-kcgyknrac8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.company-onboarding-manual-row[b-kcgyknrac8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 8px;
  background: #fff;
}

  .company-onboarding-manual-row span[b-kcgyknrac8] {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text-900);
  }


/* =========================================================
   Review summary
   ========================================================= */

.company-onboarding-preview-summary[b-kcgyknrac8] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

  .company-onboarding-preview-summary span[b-kcgyknrac8] {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 700;
  }


/* =========================================================
   Review table
   ========================================================= */

.company-onboarding-preview-table[b-kcgyknrac8] {
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 12px;
  overflow: hidden;
}

  .company-onboarding-preview-table th[b-kcgyknrac8] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-500);
    background: #f8fafc;
  }


/* =========================================================
   Status badges
   ========================================================= */

.company-onboarding-status-ready[b-kcgyknrac8],
.company-onboarding-status-error[b-kcgyknrac8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 72px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.company-onboarding-status-ready[b-kcgyknrac8] {
  background: rgba(91, 196, 191, 0.18);
  color: #206a66;
}

.company-onboarding-status-error[b-kcgyknrac8] {
  background: rgba(241, 95, 87, 0.14);
  color: #9d423c;
}

.company-onboarding-status-warning[b-kcgyknrac8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 72px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(245, 158, 11, 0.16);
  color: #92400e;
}

.company-onboarding-status-sent[b-kcgyknrac8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 72px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(59, 130, 246, 0.14);
  color: #1d4ed8;
}


/* =========================================================
   Send summary
   ========================================================= */

.company-onboarding-send-summary-grid[b-kcgyknrac8] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

  .company-onboarding-send-summary-grid > div[b-kcgyknrac8] {
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #fff;
  }


/* =========================================================
   Footer actions
   ========================================================= */

.company-onboarding-footer[b-kcgyknrac8] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  background: #f8fafc;
}

.company-onboarding-footer-spacer[b-kcgyknrac8] {
  flex: 1 1 auto;
}


/* =========================================================
   Responsive layout
   ========================================================= */

@media (max-width: 900px) {
  .company-onboarding-send-summary-grid[b-kcgyknrac8] {
    grid-template-columns: 1fr;
  }

  .company-onboarding-stepper[b-kcgyknrac8],
  .company-onboarding-choice-grid[b-kcgyknrac8],
  .company-onboarding-form-grid[b-kcgyknrac8],
  .company-onboarding-summary-band[b-kcgyknrac8] {
    grid-template-columns: 1fr;
  }

  .company-onboarding-step[b-kcgyknrac8] {
    border-right: 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  }
}

@media (max-width: 700px) {
  .company-onboarding-manual-entry-row[b-kcgyknrac8] {
    grid-template-columns: 1fr;
  }

  .company-onboarding-manual-row[b-kcgyknrac8] {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* /Components/Pages/Admin/DistributorPricingDetail.razor.rz.scp.css */
/* Admin Distributor Pricing Review */
/* ---------------------------------------------------------
   Provides WAM Admin-only pricing review workflow styling.
   Shared detail layout rules remain in
   DistributorPricingDetailShared.razor.css.
   --------------------------------------------------------- */

.admin-pricing-review-page-host[b-relqsr78qc] {
    padding-top: 0 !important; /*overriding the pagestylesshared.css padding-top only for this page*/
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* WAM Review projected card shell */

.admin-pricing-review-card[b-relqsr78qc] {
    flex: 0 0 auto;
    background: var(--bg-surface);
    border: 1px solid var(--border-200);
    border-radius: var(--radius-2);
    box-shadow: var(--shadow-1);
    overflow: hidden;
    margin-bottom: 6px;
}

.admin-pricing-review-card-header[b-relqsr78qc] {
    padding: 7px 14px 6px;
    border-bottom: 1px solid var(--border-200);
}

.admin-pricing-review-card-header-split[b-relqsr78qc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-pricing-review-card-title[b-relqsr78qc] {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-900);
}

.admin-pricing-review-card-body[b-relqsr78qc] {
    padding: 7px 14px 8px;
}

/* WAM Review header and content layout */
/* ---------------------------------------------------------
   Controls the projected WAM Review heading, field grid,
   review text areas, and supporting guidance.
   --------------------------------------------------------- */

.admin-pricing-review-title-block[b-relqsr78qc] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.admin-pricing-review-helper[b-relqsr78qc] {
    font-size: 12px;
    line-height: 1.2;
    color: var(--text-600);
}

.admin-pricing-review-grid[b-relqsr78qc] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.admin-pricing-review-field[b-relqsr78qc] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

    .admin-pricing-review-field .form-label[b-relqsr78qc] {
        margin-bottom: 3px;
    }

.admin-pricing-review-page-host[b-relqsr78qc]  textarea.admin-pricing-review-textarea,
.admin-pricing-review-card--review textarea.admin-pricing-review-textarea[b-relqsr78qc] {
    min-height: 32px !important;
    height: 32px;
    max-height: none;
    line-height: 1.15 !important;
    padding: 5px 10px !important;
    resize: vertical;
    overflow-y: auto;
    box-sizing: border-box;
}

.admin-pricing-review-helper-text[b-relqsr78qc] {
    margin-top: 4px;
    color: var(--text-500);
    font-size: 11px;
    line-height: 1.25;
}

/* WAM Review actions */
/* ---------------------------------------------------------
   Aligns Return for Correction and Mark Complete actions
   inside the projected review card header.
   --------------------------------------------------------- */

.admin-pricing-review-actions[b-relqsr78qc] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-pricing-review-actions--header[b-relqsr78qc] {
    align-items: center;
    margin-top: 0;
}

.admin-pricing-review-actions .btn[b-relqsr78qc] {
    min-height: 30px;
    padding: 4px 14px;
    font-size: 14px;
    line-height: 1.15;
    border-radius: 8px;
}

    .admin-pricing-review-actions .btn:disabled[b-relqsr78qc] {
        cursor: not-allowed;
        opacity: 0.55;
    }

/* WAM Review emphasis */
/* ---------------------------------------------------------
   Applies the restrained review-state border and header treatment.
   --------------------------------------------------------- */

.admin-pricing-review-card--review[b-relqsr78qc] {
    border-color: rgba(234, 179, 8, 0.16);
}

    .admin-pricing-review-card--review .admin-pricing-review-card-header[b-relqsr78qc] {
        background: rgba(234, 179, 8, 0.07);
        border-bottom: 1px solid rgba(234, 179, 8, 0.14);
    }

/* Responsive behavior */
/* ---------------------------------------------------------
   Stacks review fields and preserves compact review controls
   for narrower workspaces.
   --------------------------------------------------------- */

@media (max-width: 992px) {
    .admin-pricing-review-card-header[b-relqsr78qc] {
        padding: 8px 12px 7px;
    }

    .admin-pricing-review-card-body[b-relqsr78qc] {
        padding: 9px 12px 10px;
    }

    .admin-pricing-review-grid[b-relqsr78qc] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .admin-pricing-review-page-host[b-relqsr78qc]  textarea.admin-pricing-review-textarea,
    .admin-pricing-review-card--review textarea.admin-pricing-review-textarea[b-relqsr78qc] {
        min-height: 32px !important;
        height: 32px;
    }

    .admin-pricing-review-actions--header[b-relqsr78qc] {
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Admin/DistributorPricingQueue.razor.rz.scp.css */
/* =========================================================
   Admin Distributor Pricing Queue
   ---------------------------------------------------------
   Queue layout is maintained by:
   Components/Shared/Promotions/DistributorPricingQueueShared.razor.css

   This file remains available for Admin-page-only overrides.
   Add styles here only when behavior or layout is unique to:
   Pages/Admin/DistributorPricingQueue.razor
   ========================================================= */
/* /Components/Pages/Admin/Products.razor.rz.scp.css */
/* Admin Products page host */
/* ---------------------------------------------------------
   Provides the page-scoped height and overflow host required for
   ProductsShared to own internal table scrolling and keep pagination
   anchored above the application footer.

   This rule remains in Admin/Products.razor.css because
   .products-page-host is rendered by Admin/Products.razor and Blazor
   CSS isolation applies only to markup from the matching component.
   --------------------------------------------------------- */

.products-page-host[b-209mxzdlk3] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding-top: 5px;
}

    .products-page-host > *[b-209mxzdlk3] {
        flex: 1 1 auto;
        min-height: 0;
    }

/* Admin Distributor Product Settings modal */
/* ---------------------------------------------------------
   Styles the Distributor Product Settings workflow rendered directly
   by Admin/Products.razor. These rules remain page-scoped because
   ProductsShared.razor.css isolation does not apply to this markup.
   --------------------------------------------------------- */

.products-modal-backdrop[b-209mxzdlk3] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    z-index: 12400;
}

.products-modal-shell[b-209mxzdlk3] {
    position: fixed;
    inset: 0;
    z-index: 12410;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 24px;
}

.products-modal-card[b-209mxzdlk3] {
    width: min(920px, calc(100vw - 64px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
    border-radius: 20px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.20);
    overflow: hidden;
}

.products-modal-header[b-209mxzdlk3] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.products-modal-title[b-209mxzdlk3] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.products-modal-subtitle[b-209mxzdlk3] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
    line-height: 1.35;
}

.products-modal-body[b-209mxzdlk3] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 20px;
    overflow-y: auto;
    overflow-x: hidden;
}

.products-modal-footer[b-209mxzdlk3] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px 16px;
    border-top: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
}

/* Product context summary */
/* ---------------------------------------------------------
   Displays the selected Product image, Manufacturer, and UPC
   context inside Distributor Product Settings.
   --------------------------------------------------------- */

.products-book-assets-product-summary[b-209mxzdlk3] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), #fff);
}

.products-book-assets-product-image[b-209mxzdlk3] {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
}

.products-book-assets-product-empty[b-209mxzdlk3] {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 1px dashed var(--border-300, rgba(25, 35, 68, 0.16));
    border-radius: 12px;
    background: #f8fafc;
    color: var(--text-500, #64748b);
    font-size: 11px;
    text-align: center;
}

.products-book-assets-product-copy[b-209mxzdlk3] {
    min-width: 0;
    flex: 1 1 auto;
}

.products-book-assets-product-kicker[b-209mxzdlk3] {
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-book-assets-product-title[b-209mxzdlk3] {
    margin-top: 3px;
    color: var(--text-900, #0f172a);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
}

.products-book-assets-product-meta[b-209mxzdlk3] {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: var(--text-600, #475569);
    font-size: 12px;
    line-height: 1.35;
}

/* Distributor setting audit details */
/* ---------------------------------------------------------
   Displays the current participation default, Distributor Item #,
   and latest update metadata.
   --------------------------------------------------------- */

.products-detail-audit-strip[b-209mxzdlk3] {
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 14px;
    background: #f8fafc;
}

.products-detail-audit-grid[b-209mxzdlk3] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
}

    .products-detail-audit-grid span[b-209mxzdlk3] {
        display: block;
        color: var(--text-500, #64748b);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .products-detail-audit-grid strong[b-209mxzdlk3] {
        display: block;
        margin-top: 2px;
        color: var(--text-800, #1f2937);
        font-size: 12.5px;
        line-height: 1.3;
        font-weight: 600;
        word-break: break-word;
    }

/* Responsive modal behavior */
/* ---------------------------------------------------------
   Adapts the Distributor Product Settings modal and audit grid
   for narrower browser viewports.
   --------------------------------------------------------- */

@media (max-width: 760px) {
    .products-modal-shell[b-209mxzdlk3] {
        align-items: stretch;
        padding: 12px;
    }

    .products-modal-card[b-209mxzdlk3] {
        width: 100%;
        max-height: calc(100vh - 24px);
    }

    .products-book-assets-product-summary[b-209mxzdlk3] {
        align-items: flex-start;
    }

    .products-detail-audit-grid[b-209mxzdlk3] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Admin/PromotionCycles.razor.rz.scp.css */
/* PromotionCycles.razor.css */
/* ---------------------------------------------------------
   Controls the WAM Admin Promotion Cycles list, calendar,
   filters, workflow-date forms, modals, and responsive layout.
   The fixed-height workspace keeps table and calendar scrolling
   inside their respective content regions.
   --------------------------------------------------------- */

/* Page shell */
/* ---------------------------------------------------------
   Fills the shared application content area and responds to the
   available width after sidebar expansion or collapse.
   --------------------------------------------------------- */

.promotion-cycles-page[b-g7ftbvxern] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    overflow: hidden;
    container-type: inline-size;
    container-name: promotion-cycles-page;
}

.promotion-cycles-workspace[b-g7ftbvxern] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Promotion Cycle summary cards */
/* ---------------------------------------------------------
   Provides compact operational totals aligned with shared WAM
   Admin dashboard and Books presentation patterns.
   --------------------------------------------------------- */

.promotion-cycles-stat-grid[b-g7ftbvxern] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.promotion-cycles-stat-card[b-g7ftbvxern] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    box-shadow: var(--shadow-1);
}

.promotion-cycles-stat-card-button[b-g7ftbvxern] {
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .promotion-cycles-stat-card-button:hover[b-g7ftbvxern] {
        border-color: rgba(29, 58, 109, 0.18);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .promotion-cycles-stat-card-button.is-active[b-g7ftbvxern] {
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .promotion-cycles-stat-card-button:focus-visible[b-g7ftbvxern] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

.promotion-cycles-stat-label[b-g7ftbvxern] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-stat-value[b-g7ftbvxern] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.promotion-cycles-stat-meta[b-g7ftbvxern] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-stat-card--success[b-g7ftbvxern] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.promotion-cycles-stat-card--warning[b-g7ftbvxern] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.promotion-cycles-stat-card--info[b-g7ftbvxern] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.promotion-cycles-stat-card--neutral[b-g7ftbvxern] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

    .promotion-cycles-stat-card--neutral.is-active[b-g7ftbvxern],
    .promotion-cycles-stat-card--info.is-active[b-g7ftbvxern] {
        border-color: rgba(117, 140, 167, 0.34);
        background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
    }

.promotion-cycles-stat-card--success.is-active[b-g7ftbvxern] {
    border-color: rgba(91, 196, 191, 0.48);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.promotion-cycles-stat-card--warning.is-active[b-g7ftbvxern] {
    border-color: rgba(250, 169, 75, 0.42);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

/* Promotion Cycle list workspace */
/* ---------------------------------------------------------
   Keeps the header, filters, table region, and pager stable so
   the page does not become the primary scrolling surface.
   --------------------------------------------------------- */

.promotion-cycles-list-card[b-g7ftbvxern] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 18px;
    overflow: hidden;
}

.promotion-cycles-panel-header[b-g7ftbvxern] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 12px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.promotion-cycles-header-copy[b-g7ftbvxern] {
    min-width: 0;
    flex: 1 1 auto;
}

.promotion-cycles-header-actions[b-g7ftbvxern] {
    display: contents;
}

.promotion-cycles-header-right-actions[b-g7ftbvxern] {
    grid-column: 3;
    justify-self: end;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.promotion-cycles-panel-title[b-g7ftbvxern] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-900);
}

.promotion-cycles-panel-subtitle[b-g7ftbvxern] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
}

.promotion-cycles-primary-button[b-g7ftbvxern] {
    grid-column: 3;
    justify-self: end;
    min-width: 150px;
    min-height: 30px;
    padding: 4px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}

.promotion-cycles-primary-button[b-g7ftbvxern] {
    min-width: 150px;
    min-height: 30px;
    padding: 4px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}

.promotion-cycles-list-body[b-g7ftbvxern] {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    margin-bottom: 0;
    padding: 0;
}

.promotion-cycles-list-body--calendar[b-g7ftbvxern] {
    grid-template-rows: minmax(0, 1fr);
    margin-bottom: 0;
    padding-bottom: 0;
}

/* List and calendar view toggle */
/* ---------------------------------------------------------
   Centers the segmented view control while preserving the
   established button dimensions and tab presentation.
   --------------------------------------------------------- */

.promotion-cycles-view-toggle[b-g7ftbvxern] {
    grid-column: 2;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.promotion-cycles-view-toggle-button[b-g7ftbvxern] {
    min-height: 30px;
    min-width: 112px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .promotion-cycles-view-toggle-button:hover[b-g7ftbvxern] {
        color: #1d3a6d;
        background: rgba(37, 99, 235, 0.06);
    }

    .promotion-cycles-view-toggle-button.is-active[b-g7ftbvxern] {
        background: #fff;
        color: #1d4ed8;
        box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
    }

    .promotion-cycles-view-toggle-button:focus-visible[b-g7ftbvxern] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

/* Promotion Cycle filters */
/* ---------------------------------------------------------
   Aligns search, status, availability, Promotion Entry, and page
   size controls with the list workspace and table edge.
   --------------------------------------------------------- */

.promotion-cycles-toolbar[b-g7ftbvxern] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 180px 150px 170px 108px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
}

.promotion-cycles-control[b-g7ftbvxern],
.promotion-cycles-control-search[b-g7ftbvxern],
.promotion-cycles-control-availability[b-g7ftbvxern],
.promotion-cycles-control-eligible[b-g7ftbvxern],
.promotion-cycles-control-page-size[b-g7ftbvxern] {
    min-width: 0;
}

.promotion-cycles-control-label[b-g7ftbvxern] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
}

.promotion-cycles-search-input[b-g7ftbvxern],
.promotion-cycles-filter-select[b-g7ftbvxern] {
    width: 100%;
    min-height: 38px;
}

.promotion-cycles-filter-select[b-g7ftbvxern] {
    min-width: 0;
}

.promotion-cycles-control-page-size .promotion-cycles-filter-select[b-g7ftbvxern] {
    min-width: 108px;
}

.promotion-cycles-toolbar-checkbox[b-g7ftbvxern] {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--text-900);
    font-weight: 500;
}

/* Loading, empty, and error states */
/* ---------------------------------------------------------
   Renders list states inside the table workspace without changing
   the fixed-height outer page layout.
   --------------------------------------------------------- */

.promotion-cycles-state[b-g7ftbvxern] {
    padding: 18px 16px;
    color: var(--text-600);
}

.promotion-cycles-state-wrap[b-g7ftbvxern] {
    width: 100%;
    min-height: 0;
    height: auto;
    align-self: start;
    justify-self: stretch;
    box-sizing: border-box;
}

.promotion-cycles-state-wrap--error[b-g7ftbvxern] {
    padding: 8px 12px 0;
}

    .promotion-cycles-state-wrap--error .alert[b-g7ftbvxern] {
        display: inline-flex;
        align-items: center;
        width: auto;
        max-width: 720px;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 10px 14px;
        border-radius: 10px;
    }

/* Promotion Cycle table workspace */
/* ---------------------------------------------------------
   Owns vertical and horizontal table scrolling while the header,
   filters, and pager remain stable.
   --------------------------------------------------------- */

.promotion-cycles-table-region[b-g7ftbvxern] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.promotion-cycles-table-scroll[b-g7ftbvxern] {
    min-height: 0;
    position: relative;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #ffffff;
}

.promotion-cycles-table[b-g7ftbvxern] {
    width: 100%;
    margin: 0;
    min-width: 1040px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .promotion-cycles-table thead th[b-g7ftbvxern] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .promotion-cycles-table tbody td[b-g7ftbvxern] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        color: var(--text-900);
    }

    .promotion-cycles-table tbody tr:hover td[b-g7ftbvxern] {
        background: #fbfdff;
    }

    /* Table content alignment */
    /* ---------------------------------------------------------
     Aligns the first and last table cells with the filter and
     pager insets.
     --------------------------------------------------------- */
    .promotion-cycles-table thead th:first-child[b-g7ftbvxern],
    .promotion-cycles-table tbody td:first-child[b-g7ftbvxern] {
        padding-left: 12px;
    }

    .promotion-cycles-table thead th:last-child[b-g7ftbvxern],
    .promotion-cycles-table tbody td:last-child[b-g7ftbvxern] {
        padding-right: 12px;
    }

/* Compact Cycle operational summaries */
/* ---------------------------------------------------------
   Keeps Promotion and downstream counts understandable inside
   the fixed-width Cycle table while detailed status information
   remains available through Cycle Summary.
   --------------------------------------------------------- */

.promotion-cycles-compact-summary[b-g7ftbvxern] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.promotion-cycles-compact-summary-row[b-g7ftbvxern] {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px;
}

.promotion-cycles-compact-summary-label[b-g7ftbvxern] {
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-compact-summary-value[b-g7ftbvxern] {
    color: var(--text-900, #0f172a);
    font-size: 11.5px;
    line-height: 1.2;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    padding-right: 10px;
}

.promotion-cycles-compact-summary-value--success[b-g7ftbvxern] {
    color: #087f5b;
}

.promotion-cycles-link-action--summary[b-g7ftbvxern] {
    color: #1d4ed8;
    font-weight: 750;
}

/* Sort controls */
/* ---------------------------------------------------------
   Uses compact table-header actions with blue active-sort
   emphasis.
   --------------------------------------------------------- */

.promotion-cycles-sort-button[b-g7ftbvxern] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .promotion-cycles-sort-button:hover[b-g7ftbvxern],
    .promotion-cycles-sort-button--active[b-g7ftbvxern] {
        color: #2563eb;
    }

.promotion-cycles-sort-indicator[b-g7ftbvxern] {
    font-size: 0.72rem;
    line-height: 1;
}

/* Promotion Cycle table columns */
/* ---------------------------------------------------------
   Preserves the 1040px internal table target while balancing
   flexible cycle names with compact workflow and utility columns.
   --------------------------------------------------------- */

.promotion-cycles-col-name[b-g7ftbvxern] {
    width: 23%;
    min-width: 238px;
}

.promotion-cycles-col-period[b-g7ftbvxern] {
    width: 6.5%;
    min-width: 68px;
}

.promotion-cycles-col-status[b-g7ftbvxern] {
    width: 12%;
    min-width: 126px;
}

.promotion-cycles-col-promotions[b-g7ftbvxern] {
    width: 10%;
    min-width: 96px;
}

.promotion-cycles-col-downstream[b-g7ftbvxern] {
    width: 10%;
    min-width: 100px;
}

.promotion-cycles-col-key-dates[b-g7ftbvxern] {
    width: 16%;
    min-width: 164px;
}

.promotion-cycles-col-updated[b-g7ftbvxern] {
    width: 8%;
    min-width: 82px;
}

.promotion-cycles-col-actions[b-g7ftbvxern] {
    width: 14.5%;
    min-width: 142px;
}

/* Promotion Cycle column behavior */
/* ---------------------------------------------------------
   Supports the cycle-name hierarchy, compact workflow summaries,
   and the sticky Actions column.
   --------------------------------------------------------- */

.promotion-cycles-table th.promotion-cycles-col-name[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-name[b-g7ftbvxern] {
    vertical-align: top;
}

.promotion-cycles-table td.promotion-cycles-col-period[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-actions[b-g7ftbvxern] {
    white-space: nowrap;
}

.promotion-cycles-table td.promotion-cycles-col-promotions[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-downstream[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-key-dates[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-updated[b-g7ftbvxern] {
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Pins Actions to the right edge of the table scroll viewport.
   The cell remains neutral while the inner action surface provides
   emphasis.
   --------------------------------------------------------- */
.promotion-cycles-table th.promotion-cycles-col-actions[b-g7ftbvxern],
.promotion-cycles-table td.promotion-cycles-col-actions[b-g7ftbvxern] {
    position: sticky;
    right: 0;
    z-index: 10;
    text-align: center;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.promotion-cycles-table td.promotion-cycles-col-actions[b-g7ftbvxern] {
    vertical-align: middle;
}

.promotion-cycles-table thead th.promotion-cycles-col-actions[b-g7ftbvxern] {
    z-index: 18;
    background: #ffffff;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.promotion-cycles-table tbody tr:hover td.promotion-cycles-col-actions[b-g7ftbvxern] {
    background: #fbfdff;
}

/* Row action surface */
/* ---------------------------------------------------------
   Provides a compact action zone inside the sticky cell without
   tinting the full Actions column.
   --------------------------------------------------------- */
.promotion-cycles-row-actions[b-g7ftbvxern] {
    width: 100%;
    min-width: 0;
    min-height: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0 7px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.promotion-cycles-row-actions--stacked[b-g7ftbvxern] {
    min-height: 42px;
    gap: 5px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.promotion-cycles-row-action-line[b-g7ftbvxern] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
}

.promotion-cycles-row-action-line--secondary[b-g7ftbvxern] {
    min-height: 14px;
}

.promotion-cycles-table tbody tr:hover .promotion-cycles-row-actions[b-g7ftbvxern] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.promotion-cycles-link-action[b-g7ftbvxern] {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

    .promotion-cycles-link-action:hover:not(:disabled)[b-g7ftbvxern] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.promotion-cycles-link-action-danger[b-g7ftbvxern] {
    color: #dc2626;
}

.promotion-cycles-link-action:disabled[b-g7ftbvxern] {
    opacity: 0.5;
    cursor: default;
    text-decoration: none;
}

.promotion-cycles-action-separator[b-g7ftbvxern] {
    color: var(--text-400, #94a3b8);
    font-size: 12px;
    line-height: 1;
}

/* Workflow date stacks */
/* ---------------------------------------------------------
   Keeps open and close dates compact while color distinguishes
   their workflow purpose.
   --------------------------------------------------------- */

.promotion-cycles-date-stack[b-g7ftbvxern] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.promotion-cycles-date-stack-value[b-g7ftbvxern] {
    display: block;
    min-width: 0;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.15;
    white-space: nowrap;
}

.promotion-cycles-date-stack-value-open[b-g7ftbvxern] {
    color: #15803d;
}

.promotion-cycles-date-stack-value-close[b-g7ftbvxern] {
    color: #c2410c;
}

.promotion-cycles-date-stack-empty[b-g7ftbvxern] {
    color: var(--text-400, #94a3b8);
    font-size: 12px;
    line-height: 1.2;
}

/* Promotion Cycle activity summaries */
/* ---------------------------------------------------------
   Presents Promotions, Promotion Pricing, and Final Books status
   context without adding additional table columns.
   --------------------------------------------------------- */

.promotion-cycles-count-cell[b-g7ftbvxern],
.promotion-cycles-downstream-cell[b-g7ftbvxern],
.promotion-cycles-key-date-stack[b-g7ftbvxern] {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.promotion-cycles-count-primary[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
}

.promotion-cycles-count-secondary[b-g7ftbvxern],
.promotion-cycles-downstream-line[b-g7ftbvxern],
.promotion-cycles-key-date-row[b-g7ftbvxern] {
    min-width: 0;
    color: var(--text-600);
    font-size: 11.25px;
    font-weight: 500;
    line-height: 1.25;
}

.promotion-cycles-count-secondary[b-g7ftbvxern] {
    font-size: 11.25px;
    letter-spacing: -0.005em;
}

.promotion-cycles-count-secondary[b-g7ftbvxern],
.promotion-cycles-downstream-line[b-g7ftbvxern] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .promotion-cycles-downstream-line:first-child[b-g7ftbvxern] {
        color: var(--text-800);
        font-weight: 700;
    }

.promotion-cycles-downstream-line-muted[b-g7ftbvxern] {
    color: var(--text-500);
}

.promotion-cycles-key-date-row[b-g7ftbvxern] {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 7px;
    align-items: baseline;
}

.promotion-cycles-key-date-label[b-g7ftbvxern] {
    color: var(--text-500);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.015em;
    text-transform: uppercase;
}

.promotion-cycles-key-date-value[b-g7ftbvxern] {
    overflow: hidden;
    color: var(--text-700);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: -0.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-updated-stack[b-g7ftbvxern] {
    display: grid;
    gap: 1px;
    min-width: 0;
    color: var(--text-700);
    font-size: 10.75px;
    font-weight: 500;
    line-height: 1.15;
    white-space: normal;
}

.promotion-cycles-updated-time[b-g7ftbvxern] {
    color: var(--text-500);
}

/* Promotion Cycle row content */
/* ---------------------------------------------------------
   Controls cycle titles, supporting text, status badges,
   CustomTooltip triggers, and row actions.
   --------------------------------------------------------- */

[b-g7ftbvxern] .promotion-cycles-primary-title-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.promotion-cycles-primary[b-g7ftbvxern] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--text-900);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-secondary[b-g7ftbvxern] {
    margin-top: 3px;
    color: var(--text-600);
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.promotion-cycles-secondary-success[b-g7ftbvxern],
.promotion-cycles-secondary-muted[b-g7ftbvxern] {
    color: var(--text-600);
}

.promotion-cycles-badge[b-g7ftbvxern],
.promotion-cycles-active-pill[b-g7ftbvxern] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    white-space: nowrap;
}

.promotion-cycles-badge[b-g7ftbvxern] {
    min-height: 20px;
    min-width: 0;
    width: 100%;
    padding: 0 8px;
    overflow: hidden;
    font-size: 10.75px;
    font-weight: 600;
    line-height: 1;
    text-overflow: ellipsis;
}

.promotion-cycles-active-pill[b-g7ftbvxern] {
    min-height: 20px;
    min-width: 60px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 600;
}

.promotion-cycles-badge-planned[b-g7ftbvxern],
.promotion-cycles-badge-default[b-g7ftbvxern] {
    background: #f1f5f9;
    color: #475569;
}

.promotion-cycles-badge-drafting[b-g7ftbvxern] {
    background: #dbeafe;
    color: #1d4ed8;
}

.promotion-cycles-badge-submission[b-g7ftbvxern],
.promotion-cycles-active-pill--active[b-g7ftbvxern] {
    background: rgba(91, 196, 191, 0.18);
    color: #206a66;
}

.promotion-cycles-badge-review[b-g7ftbvxern] {
    background: rgba(250, 169, 75, 0.20);
    color: #9a5a12;
}

.promotion-cycles-badge-distributor[b-g7ftbvxern] {
    background: #ede9fe;
    color: #5b21b6;
}

.promotion-cycles-badge-locked[b-g7ftbvxern] {
    background: #e2e8f0;
    color: #334155;
}

.promotion-cycles-badge-published[b-g7ftbvxern] {
    background: #dcfce7;
    color: #166534;
}

.promotion-cycles-badge-archived[b-g7ftbvxern],
.promotion-cycles-active-pill--inactive[b-g7ftbvxern] {
    background: rgba(241, 95, 87, 0.14);
    color: #9d423c;
}

/* Sticky pager */
/* ---------------------------------------------------------
   Keeps pagination anchored at the bottom of the Promotion Cycle
   list workspace.
   --------------------------------------------------------- */

.promotion-cycles-pager[b-g7ftbvxern] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.promotion-cycles-pager-meta[b-g7ftbvxern] {
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 500;
}

.promotion-cycles-pager-page[b-g7ftbvxern] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.promotion-cycles-pager-actions[b-g7ftbvxern] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Promotion Cycle modal shell */
/* ---------------------------------------------------------
   Provides the local modal backdrop and fixed shell used by
   create, edit, confirmation, guide, and calendar-day dialogs.
   --------------------------------------------------------- */

.promotion-cycles-modal-backdrop[b-g7ftbvxern] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.35);
}

.promotion-cycles-modal[b-g7ftbvxern] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.promotion-cycles-modal-card[b-g7ftbvxern] {
    width: min(1180px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
}

/* Promotion Cycle Editor Modal */
/* ---------------------------------------------------------
   Gives Create/Edit more usable desktop space while keeping the
   editor bounded to the viewport. The modal body owns fallback
   scrolling on shorter laptop displays.
   --------------------------------------------------------- */

.promotion-cycles-editor-modal-card[b-g7ftbvxern] {
    width: min(1240px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100vh - 2rem);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

    .promotion-cycles-editor-modal-card .promotion-cycles-form-layout[b-g7ftbvxern] {
        gap: 12px;
    }

    .promotion-cycles-editor-modal-card .promotion-cycles-form-section[b-g7ftbvxern] {
        padding: 10px 12px;
    }

        .promotion-cycles-editor-modal-card .promotion-cycles-form-section > .row.g-3[b-g7ftbvxern] {
            --bs-gutter-x: 0.75rem;
            --bs-gutter-y: 0.6rem;
        }

    .promotion-cycles-editor-modal-card .promotion-cycles-section-heading-row[b-g7ftbvxern] {
        margin-bottom: 7px;
    }

    .promotion-cycles-editor-modal-card .promotion-cycles-form-section-title[b-g7ftbvxern] {
        margin-bottom: 6px;
    }

    .promotion-cycles-editor-modal-card .promotion-cycles-form-section-subtitle[b-g7ftbvxern] {
        margin-bottom: 6px;
        line-height: 1.25;
    }

    .promotion-cycles-editor-modal-card .form-label[b-g7ftbvxern] {
        margin-bottom: 4px;
    }

    .promotion-cycles-editor-modal-card .promotion-cycles-field-hint[b-g7ftbvxern] {
        margin-top: 2px;
        line-height: 1.25;
    }

    .promotion-cycles-editor-modal-card .promotion-cycles-modal-footer[b-g7ftbvxern] {
        margin-top: 12px;
    }

.promotion-cycles-modal-header[b-g7ftbvxern] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--border-200);
}

.promotion-cycles-modal-title[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 15px;
    font-weight: 600;
}

.promotion-cycles-modal-body[b-g7ftbvxern] {
    overflow: auto;
    padding: 16px 18px 14px;
}

.promotion-cycles-modal-footer[b-g7ftbvxern] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

.promotion-cycles-confirm-summary--danger[b-g7ftbvxern] {
    border-color: rgba(220, 38, 38, 0.24);
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), rgba(220, 38, 38, 0.04));
    color: #991b1b;
}

.promotion-cycles-delete-modal-card[b-g7ftbvxern] {
    width: min(560px, calc(100vw - 2rem));
}

/* Create and edit Promotion Cycle forms */
/* ---------------------------------------------------------
   Uses a two-column desktop form layout for Promotion Cycle
   details and workflow dates.
   --------------------------------------------------------- */

.promotion-cycles-form-layout[b-g7ftbvxern] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.promotion-cycles-form-section[b-g7ftbvxern] {
    min-width: 0;
    padding: 14px 14px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.55);
}

.promotion-cycles-form-section-title[b-g7ftbvxern] {
    margin-bottom: 10px;
    color: var(--text-900);
    font-size: 14px;
    font-weight: 600;
}

.promotion-cycles-form-section-subtitle[b-g7ftbvxern] {
    margin-top: -4px;
    margin-bottom: 10px;
    color: var(--text-600);
    font-size: 12px;
}

.promotion-cycles-section-heading-row[b-g7ftbvxern],
.promotion-cycles-field-label-row[b-g7ftbvxern] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.promotion-cycles-section-heading-row[b-g7ftbvxern] {
    align-items: flex-start;
    margin-bottom: 10px;
}

.promotion-cycles-section-heading-copy[b-g7ftbvxern] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

    .promotion-cycles-section-heading-copy .promotion-cycles-form-section-title[b-g7ftbvxern] {
        margin-bottom: 0;
    }

    .promotion-cycles-section-heading-copy .promotion-cycles-form-section-subtitle[b-g7ftbvxern] {
        margin-top: 0;
        margin-bottom: 0;
    }

.promotion-cycles-checkbox[b-g7ftbvxern] {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 6px;
}

.promotion-cycles-checkbox-box[b-g7ftbvxern] {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--border-200);
    border-radius: 8px;
    background: #fff;
}

.promotion-cycles-checkbox-label[b-g7ftbvxern] {
    color: var(--text-900);
    font-weight: 500;
}

/* Promotion Cycle Participants */
/* ---------------------------------------------------------
   Displays Manufacturer-centered Promotion Cycle participation.
   Each Manufacturer owns one obligation while Promotion entry
   responsibility can remain direct or be assigned to a Broker.
   The grid owns vertical scrolling inside the editor modal.
   --------------------------------------------------------- */

.promotion-cycles-participants-section[b-g7ftbvxern] {
    grid-column: 1 / -1;
}

.promotion-cycles-participants-inline[b-g7ftbvxern] {
    margin-top: 12px;
    padding: 10px 12px 12px;
}

.promotion-cycles-participant-heading-row[b-g7ftbvxern] {
    align-items: center;
}

.promotion-cycles-participant-selection-meta[b-g7ftbvxern] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.promotion-cycles-participant-selection-separator[b-g7ftbvxern] {
    color: var(--text-400, #94a3b8);
}

.promotion-cycles-participant-inline-toolbar[b-g7ftbvxern] {
    display: block;
    margin-bottom: 8px;
}

.promotion-cycles-participant-search[b-g7ftbvxern] {
    width: min(520px, 100%);
    min-width: 0;
}

/* Participant Bulk Actions */
/* ---------------------------------------------------------
   Provides filter-aware Manufacturer selection while records
   containing Promotion activity remain protected from removal.
   --------------------------------------------------------- */

.promotion-cycles-participant-bulk-actions[b-g7ftbvxern] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

    .promotion-cycles-participant-bulk-actions .btn[b-g7ftbvxern] {
        min-height: 28px;
        padding: 3px 10px;
        font-size: 11.5px;
        font-weight: 600;
    }

.promotion-cycles-participant-grid-scroll[b-g7ftbvxern] {
    max-height: clamp(220px, 30vh, 320px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border: 1px solid var(--border-200);
    border-radius: 8px;
    background: #fff;
}

.promotion-cycles-participant-grid[b-g7ftbvxern] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
}

.promotion-cycles-participant-grid-row[b-g7ftbvxern] {
    min-width: 0;
    min-height: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 0.9fr);
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.06);
    background: #fff;
}

    .promotion-cycles-participant-grid-row:nth-child(odd)[b-g7ftbvxern] {
        border-right: 1px solid rgba(25, 35, 68, 0.06);
    }

    .promotion-cycles-participant-grid-row:hover[b-g7ftbvxern] {
        background: #f8fafc;
    }

    .promotion-cycles-participant-grid-row.is-selected[b-g7ftbvxern] {
        background: rgba(37, 99, 235, 0.035);
    }

.promotion-cycles-participant-selection[b-g7ftbvxern] {
    min-width: 0;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}

    .promotion-cycles-participant-selection:has(input:disabled)[b-g7ftbvxern] {
        cursor: default;
    }

.promotion-cycles-participant-name-wrap[b-g7ftbvxern] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.promotion-cycles-participant-name[b-g7ftbvxern] {
    min-width: 0;
    overflow: hidden;
    color: var(--text-900);
    font-size: 12.5px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-participant-association[b-g7ftbvxern] {
    min-width: 0;
    overflow: hidden;
    color: var(--text-500);
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-participant-responsibility[b-g7ftbvxern] {
    min-width: 0;
}

.promotion-cycles-participant-responsibility-label[b-g7ftbvxern] {
    display: block;
    margin-bottom: 3px;
    color: var(--text-500);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
}

.promotion-cycles-participant-responsibility-select[b-g7ftbvxern] {
    width: 100%;
    min-height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 11.5px;
}

    .promotion-cycles-participant-responsibility-select:disabled[b-g7ftbvxern] {
        background-color: #f8fafc;
        color: var(--text-500);
        opacity: 1;
    }

.promotion-cycles-participant-empty-state[b-g7ftbvxern] {
    padding: 28px 16px;
    color: var(--text-500);
    font-size: 12px;
    text-align: center;
}

/* Promo period guidance */
/* ---------------------------------------------------------
   Displays compact Promo Month and Promo Year rule guidance
   inside create and edit dialogs.
   --------------------------------------------------------- */

.promotion-cycles-field-hint[b-g7ftbvxern] {
    margin-top: 4px;
    color: var(--text-500);
    font-size: 11.5px;
    line-height: 1.35;
}

/* Promotion Cycle guides */
/* ---------------------------------------------------------
   Styles contextual help actions and guide dialogs for cycle
   details and workflow dates.
   --------------------------------------------------------- */

.promotion-cycles-help-link[b-g7ftbvxern] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

    .promotion-cycles-help-link:hover[b-g7ftbvxern] {
        text-decoration: underline;
    }

.promotion-cycles-help-link--placeholder[b-g7ftbvxern] {
    min-width: 96px;
    visibility: hidden;
    pointer-events: none;
}

.promotion-cycles-help-modal-shell[b-g7ftbvxern] {
    align-items: flex-start;
    padding-top: 8rem;
}

.promotion-cycles-help-modal-card[b-g7ftbvxern] {
    width: min(460px, calc(100vw - 2rem));
}

.promotion-cycles-help-modal-body[b-g7ftbvxern] {
    padding: 16px 18px 18px;
}

.promotion-cycles-help-list[b-g7ftbvxern] {
    display: grid;
    gap: 10px;
    color: var(--text-700);
    font-size: 13px;
    line-height: 1.5;
}

.promotion-cycles-guide-modal-card[b-g7ftbvxern] {
    width: min(640px, calc(100vw - 2rem));
}

.promotion-cycles-guide-section + .promotion-cycles-guide-section[b-g7ftbvxern] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-cycles-guide-heading[b-g7ftbvxern] {
    margin-bottom: 8px;
    color: var(--text-900);
    font-size: 13px;
    font-weight: 700;
}

/* Publish and delete confirmations */

.promotion-cycles-confirm-modal-card[b-g7ftbvxern] {
    width: min(620px, calc(100vw - 2rem));
}

    .promotion-cycles-confirm-modal-card .promotion-cycles-modal-header[b-g7ftbvxern] {
        padding: 14px 18px 12px;
    }

.promotion-cycles-confirm-modal-body[b-g7ftbvxern] {
    padding: 18px 20px 16px;
}

.promotion-cycles-confirm-summary[b-g7ftbvxern] {
    padding: 14px 16px;
    border: 1px solid rgba(250, 169, 75, 0.34);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), rgba(250, 169, 75, 0.06));
    color: #8a5a00;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.promotion-cycles-confirm-copy[b-g7ftbvxern] {
    margin-top: 14px;
    color: var(--text-700);
    font-size: 14px;
    line-height: 1.5;
}

.promotion-cycles-confirm-copy--secondary[b-g7ftbvxern] {
    margin-top: 8px;
    color: var(--text-600);
}

.promotion-cycles-confirm-modal-footer[b-g7ftbvxern] {
    margin-top: 0;
    padding: 12px 20px 18px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
}

/* Promotion Cycle calendar workspace */
/* ---------------------------------------------------------
   Uses the shared list host with an internal fixed-height
   calendar and deadline summary workspace.
   --------------------------------------------------------- */

.promotion-cycles-calendar-body[b-g7ftbvxern] {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 10px;
    align-items: stretch;
    overflow: hidden;
    box-sizing: border-box;
    padding: 12px 12px 8px;
}

.promotion-cycles-calendar-main[b-g7ftbvxern] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #fff;
}

.promotion-cycles-calendar-header[b-g7ftbvxern] {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-cycles-calendar-title[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
}

.promotion-cycles-calendar-subtitle[b-g7ftbvxern] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-cycles-calendar-nav[b-g7ftbvxern] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.promotion-cycles-calendar-footnote[b-g7ftbvxern] {
    padding: 7px 12px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    background: #f8fafc;
    color: var(--text-500);
    font-size: 12px;
}

/* Calendar grid */

.promotion-cycles-calendar-grid[b-g7ftbvxern] {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: 32px repeat(6, minmax(0, 1fr));
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    border-left: 1px solid rgba(25, 35, 68, 0.08);
    background: #fff;
    scrollbar-gutter: stable;
}

.promotion-cycles-calendar-day-name[b-g7ftbvxern] {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 32px;
    padding: 8px 6px;
    border-right: 1px solid rgba(25, 35, 68, 0.08);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: #f8fafc;
    color: var(--text-500);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
}

.promotion-cycles-calendar-day[b-g7ftbvxern] {
    min-width: 0;
    min-height: 0;
    overflow: visible;
    padding: 7px 6px;
    border-right: 1px solid rgba(25, 35, 68, 0.08);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: #fff;
}

.promotion-cycles-calendar-day--outside-month[b-g7ftbvxern] {
    background: #fbfdff;
}

    .promotion-cycles-calendar-day--outside-month .promotion-cycles-calendar-date-number[b-g7ftbvxern] {
        color: #b5c0ce;
    }

.promotion-cycles-calendar-day--today[b-g7ftbvxern] {
    position: relative;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.055), #fff);
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.55);
}

    .promotion-cycles-calendar-day--today .promotion-cycles-calendar-date-number[b-g7ftbvxern] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #1d3a6d;
        color: #fff;
    }

.promotion-cycles-calendar-date-number[b-g7ftbvxern] {
    margin-bottom: 5px;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.promotion-cycles-calendar-events[b-g7ftbvxern] {
    position: relative;
    min-width: 0;
    display: grid;
    gap: 4px;
    align-content: start;
}

/* Calendar events and CustomTooltip triggers */

.promotion-cycles-calendar-event[b-g7ftbvxern] {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 21px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 7px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

    .promotion-cycles-calendar-event:hover[b-g7ftbvxern] {
        filter: brightness(0.985);
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    }

.promotion-cycles-calendar-event-dot[b-g7ftbvxern] {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    flex: 0 0 auto;
    background: currentColor;
}

.promotion-cycles-calendar-event-text[b-g7ftbvxern] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-calendar-event--draft[b-g7ftbvxern] {
    background: #dbeafe;
    border-color: rgba(29, 78, 216, 0.12);
    color: #1d4ed8;
}

.promotion-cycles-calendar-event--submission[b-g7ftbvxern] {
    background: rgba(91, 196, 191, 0.16);
    border-color: rgba(91, 196, 191, 0.24);
    color: #206a66;
}

.promotion-cycles-calendar-event--manufacturer-due[b-g7ftbvxern] {
    background: rgba(241, 95, 87, 0.14);
    border-color: rgba(241, 95, 87, 0.26);
    color: #9d423c;
}

.promotion-cycles-calendar-event--distributor-review[b-g7ftbvxern] {
    background: #ede9fe;
    border-color: rgba(91, 33, 182, 0.16);
    color: #5b21b6;
}

.promotion-cycles-calendar-event--distributor-due[b-g7ftbvxern] {
    background: rgba(250, 169, 75, 0.18);
    border-color: rgba(250, 169, 75, 0.28);
    color: #9a5a12;
}

.promotion-cycles-calendar-event--lock[b-g7ftbvxern] {
    background: #e2e8f0;
    border-color: rgba(51, 65, 85, 0.16);
    color: #334155;
}

.promotion-cycles-calendar-event--publish[b-g7ftbvxern] {
    background: #dcfce7;
    border-color: rgba(22, 101, 52, 0.14);
    color: #166534;
}

.promotion-cycles-calendar-event--operational[b-g7ftbvxern] {
    background: #eef2ff;
    border-color: rgba(67, 56, 202, 0.18);
    color: #4338ca;
}

.promotion-cycles-calendar-event--informational[b-g7ftbvxern] {
    background: #f8fafc;
    border-color: rgba(71, 85, 105, 0.18);
    color: #475569;
}

.promotion-cycles-calendar-more[b-g7ftbvxern] {
    width: fit-content;
    padding: 0 0 0 4px;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

    .promotion-cycles-calendar-more:hover[b-g7ftbvxern] {
        text-decoration: underline;
    }

[b-g7ftbvxern] .promotion-cycles-calendar-event-tooltip-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Upcoming deadlines and event legend */

.promotion-cycles-calendar-side[b-g7ftbvxern] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 12px;
    overflow: hidden;
}

.promotion-cycles-calendar-side-card[b-g7ftbvxern] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #fff;
}

    .promotion-cycles-calendar-side-card > .promotion-cycles-calendar-side-title[b-g7ftbvxern],
    .promotion-cycles-calendar-side-header[b-g7ftbvxern] {
        padding: 11px 12px 9px;
        border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    }

.promotion-cycles-calendar-side-title[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 14px;
    font-weight: 800;
}

.promotion-cycles-calendar-side-subtitle[b-g7ftbvxern] {
    margin-top: 2px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-cycles-upcoming-list[b-g7ftbvxern] {
    min-height: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.promotion-cycles-upcoming-empty[b-g7ftbvxern] {
    padding: 14px 12px;
    color: var(--text-500);
    font-size: 13px;
}

.promotion-cycles-upcoming-row[b-g7ftbvxern] {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border: 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
    text-align: left;
    cursor: pointer;
}

    .promotion-cycles-upcoming-row:hover[b-g7ftbvxern] {
        background: #f8fafc;
    }

.promotion-cycles-upcoming-copy[b-g7ftbvxern] {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.promotion-cycles-upcoming-title[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.promotion-cycles-upcoming-meta[b-g7ftbvxern] {
    overflow: hidden;
    color: var(--text-500);
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-upcoming-date[b-g7ftbvxern] {
    color: var(--text-600);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.promotion-cycles-calendar-legend[b-g7ftbvxern] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 6px;
    padding: 10px 12px 12px;
}

.promotion-cycles-calendar-legend-item[b-g7ftbvxern] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text-700);
    font-size: 11px;
    font-weight: 600;
}

.promotion-cycles-calendar-dot[b-g7ftbvxern] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    flex: 0 0 auto;
    background: #94a3b8;
}

.promotion-cycles-calendar-dot--draft[b-g7ftbvxern] {
    background: #3b82f6;
}

.promotion-cycles-calendar-dot--submission[b-g7ftbvxern] {
    background: #2ba89f;
}

.promotion-cycles-calendar-dot--manufacturer-due[b-g7ftbvxern] {
    background: #e85b50;
}

.promotion-cycles-calendar-dot--distributor-review[b-g7ftbvxern] {
    background: #7c3aed;
}

.promotion-cycles-calendar-dot--distributor-due[b-g7ftbvxern] {
    background: #e68a1a;
}

.promotion-cycles-calendar-dot--lock[b-g7ftbvxern] {
    background: #64748b;
}

.promotion-cycles-calendar-dot--publish[b-g7ftbvxern] {
    background: #22a45a;
}

.promotion-cycles-calendar-dot--operational[b-g7ftbvxern] {
    background: #4f46e5;
}

.promotion-cycles-calendar-dot--informational[b-g7ftbvxern] {
    background: #64748b;
}

/* Calendar day events modal */

.promotion-cycles-calendar-day-modal-card[b-g7ftbvxern] {
    width: min(520px, calc(100vw - 2rem));
}

.promotion-cycles-calendar-day-modal-subtitle[b-g7ftbvxern] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-cycles-calendar-day-modal-body[b-g7ftbvxern] {
    display: grid;
    gap: 8px;
    padding: 14px 16px 16px;
}

.promotion-cycles-calendar-day-event-row[b-g7ftbvxern] {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

    .promotion-cycles-calendar-day-event-row:hover[b-g7ftbvxern] {
        background: #f8fafc;
        border-color: rgba(37, 99, 235, 0.18);
    }

.promotion-cycles-calendar-day-event-copy[b-g7ftbvxern] {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.promotion-cycles-calendar-day-event-title[b-g7ftbvxern] {
    color: var(--text-900);
    font-size: 13px;
    font-weight: 800;
}

.promotion-cycles-calendar-day-event-meta[b-g7ftbvxern],
.promotion-cycles-calendar-day-event-tooltip[b-g7ftbvxern] {
    color: var(--text-500);
    font-size: 12px;
}

.promotion-cycles-calendar-day-event-tooltip[b-g7ftbvxern] {
    color: var(--text-700);
}


/* Annual Schedule View */
/* ---------------------------------------------------------
   Allows the Annual Schedule child workspace to fill the
   Promotion Cycles card without page-level scrolling.
   --------------------------------------------------------- */

.promotion-cycles-list-body--annual[b-g7ftbvxern] {
    grid-template-rows: minmax(0, 1fr);
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

/* Promotion Cycle Editor Scroll Layout */
/* ---------------------------------------------------------
   Keeps Create/Edit actions outside the scrolling form region.
   Form content owns fallback scrolling while the Participants
   grid retains independent record scrolling.
   --------------------------------------------------------- */

.promotion-cycles-editor-modal-card form[b-g7ftbvxern] {
    width: 100%;
    display: block;
    overflow: visible;
}

.promotion-cycles-editor-modal-card .promotion-cycles-modal-body[b-g7ftbvxern] {
    display: block;
    overflow: visible;
    padding-bottom: 8px;
}

.promotion-cycles-editor-form-scroll[b-g7ftbvxern] {
    width: 100%;
    overflow: visible;
    padding-right: 2px;
    padding-bottom: 4px;
}

.promotion-cycles-editor-modal-card .promotion-cycles-modal-footer[b-g7ftbvxern] {
    flex: 0 0 auto;
    min-height: 58px;
    margin: 0;
    padding: 10px 18px 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    background: #fff;
}

/* Responsive behavior */
/* ---------------------------------------------------------
   Uses container queries for available workspace width and media
   queries for modal and small-screen safety.
   --------------------------------------------------------- */

@container promotion-cycles-page (max-width: 1100px) {
    .promotion-cycles-calendar-body[b-g7ftbvxern] {
        grid-template-columns: minmax(0, 1fr);
    }

    .promotion-cycles-calendar-side[b-g7ftbvxern] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }
}

@container promotion-cycles-page (max-width: 980px) {
    .promotion-cycles-toolbar[b-g7ftbvxern] {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .promotion-cycles-control-page-size .promotion-cycles-filter-select[b-g7ftbvxern] {
        width: 100%;
        min-width: 0;
    }
}

@container promotion-cycles-page (max-width: 820px) {
    .promotion-cycles-stat-grid[b-g7ftbvxern] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container promotion-cycles-page (max-width: 640px) {
    .promotion-cycles-stat-grid[b-g7ftbvxern],
    .promotion-cycles-toolbar[b-g7ftbvxern] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .promotion-cycles-modal-card[b-g7ftbvxern] {
        width: min(960px, calc(100vw - 1.5rem));
    }
}

@media (max-width: 900px) {
    .promotion-cycles-panel-header[b-g7ftbvxern] {
        align-items: flex-start;
        grid-template-columns: 1fr;
    }

    .promotion-cycles-header-actions[b-g7ftbvxern] {
        display: flex;
        justify-content: flex-start;
        width: 100%;
    }

    .promotion-cycles-view-toggle[b-g7ftbvxern] {
        grid-column: auto;
        justify-self: start;
    }

    .promotion-cycles-primary-button[b-g7ftbvxern] {
        grid-column: auto;
        justify-self: start;
    }

    .promotion-cycles-editor-modal-card[b-g7ftbvxern] {
        width: calc(100vw - 1rem);
        height: calc(100vh - 1rem);
        max-height: calc(100vh - 1rem);
    }

        .promotion-cycles-editor-modal-card .promotion-cycles-form-layout[b-g7ftbvxern] {
            grid-template-columns: 1fr;
        }

    .promotion-cycles-participant-grid[b-g7ftbvxern] {
        grid-template-columns: 1fr;
    }

    .promotion-cycles-participant-grid-row:nth-child(odd)[b-g7ftbvxern] {
        border-right: 0;
    }
}

@media (max-height: 760px) {
    .promotion-cycles-modal[b-g7ftbvxern] {
        align-items: flex-start;
        padding: 0.5rem;
        overflow-y: auto;
    }

    .promotion-cycles-editor-modal-card[b-g7ftbvxern] {
        height: auto;
        max-height: calc(100vh - 1rem);
        margin-bottom: 0.5rem;
    }

        .promotion-cycles-editor-modal-card .promotion-cycles-modal-header[b-g7ftbvxern] {
            padding-top: 10px;
            padding-bottom: 8px;
        }

        .promotion-cycles-editor-modal-card .promotion-cycles-modal-body[b-g7ftbvxern] {
            padding-top: 10px;
            padding-bottom: 10px;
        }

    .promotion-cycles-participant-grid-scroll[b-g7ftbvxern] {
        max-height: 200px;
    }
}

@media (max-width: 768px) {
    .promotion-cycles-primary-button[b-g7ftbvxern] {
        width: 100%;
    }

    .promotion-cycles-panel-header[b-g7ftbvxern],
    .promotion-cycles-toolbar[b-g7ftbvxern],
    .promotion-cycles-pager[b-g7ftbvxern] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .promotion-cycles-table-region[b-g7ftbvxern] {
        margin-left: 10px;
        margin-right: 10px;
    }

    .promotion-cycles-header-actions[b-g7ftbvxern] {
        width: 100%;
        justify-content: stretch;
        flex-direction: column;
    }

        .promotion-cycles-header-actions .promotion-cycles-primary-button[b-g7ftbvxern] {
            width: 100%;
        }
}

@media (max-width: 700px) {
    .promotion-cycles-modal-card[b-g7ftbvxern] {
        width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .promotion-cycles-modal-body[b-g7ftbvxern] {
        padding: 14px 14px 12px;
    }
}

@media (max-width: 640px) {
    .promotion-cycles-pager[b-g7ftbvxern] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .promotion-cycles-participant-inline-toolbar[b-g7ftbvxern] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Admin/PromotionEdit.razor.rz.scp.css */
/* =========================================================
   PromotionEdit.razor.css - Admin-only Promotion Edit styles
   ---------------------------------------------------------
   Scope:
   - Admin-projected WAM Review section only
   ========================================================= */

/*This class page-host-fill is currently being reference in PageStylesShared.css in wwwroot*/

/*override the padding-top to save space*/
.page-host-fill[b-lw2kpc1pa1], .trip-top-padding[b-lw2kpc1pa1] {
  padding-top: 0;
}

.page-host-fill[b-lw2kpc1pa1]  .promotion-edit-page {
  flex: 1 1 auto;
  min-height: 0;
}

/* =========================================================
   WAM Review projected card shell
   ========================================================= */

.promotion-edit-card[b-lw2kpc1pa1] {
  background: var(--bg-surface);
  border: 1px solid var(--border-200);
  border-radius: var(--radius-2);
  box-shadow: var(--shadow-1);
  overflow: hidden;
  margin-bottom: 8px;
}

.promotion-edit-card-header[b-lw2kpc1pa1] {
  padding: 7px 14px 6px;
  border-bottom: 1px solid var(--border-200);
}

.promotion-edit-card-header-split[b-lw2kpc1pa1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.promotion-edit-card-title[b-lw2kpc1pa1] {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-900);
}

.promotion-edit-card-body[b-lw2kpc1pa1] {
  padding: 7px 14px 8px;
}

/* =========================================================
   WAM Review header/content layout
   ========================================================= */

.promotion-edit-review-title-block[b-lw2kpc1pa1] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.promotion-edit-review-helper[b-lw2kpc1pa1] {
  font-size: 12px;
  line-height: 1.2;
  color: var(--text-600);
}

.promotion-edit-review-grid[b-lw2kpc1pa1] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.promotion-edit-review-field[b-lw2kpc1pa1] {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

  .promotion-edit-review-field .form-label[b-lw2kpc1pa1] {
    margin-bottom: 3px;
  }

.page-host-fill[b-lw2kpc1pa1]  .promotion-edit-card--review textarea.promotion-edit-review-textarea {
  min-height: 32px !important;
  height: 32px;
  max-height: none;
  line-height: 1.15 !important;
  padding: 5px 10px !important;
  resize: vertical;
  overflow-y: auto;
  box-sizing: border-box;
}

/* =========================================================
   WAM Review actions
   ========================================================= */

.promotion-edit-review-actions[b-lw2kpc1pa1] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.promotion-edit-review-actions--header[b-lw2kpc1pa1] {
  align-items: center;
  margin-top: 0;
}

.promotion-edit-review-actions .btn[b-lw2kpc1pa1] {
  min-height: 32px;
  height: 32px;
  padding: 4px 14px;
  font-size: 14px;
  line-height: 1.15;
  border-radius: 8px;
}

/* =========================================================
   WAM Review emphasis
   ========================================================= */

.promotion-edit-card--review[b-lw2kpc1pa1] {
  border-color: rgba(234, 179, 8, 0.16);
}

  .promotion-edit-card--review .promotion-edit-card-header[b-lw2kpc1pa1] {
    background: rgba(234, 179, 8, 0.07);
    border-bottom: 1px solid rgba(234, 179, 8, 0.14);
  }

  .promotion-edit-card--review .promotion-edit-card-title[b-lw2kpc1pa1] {
    font-weight: 700;
    color: var(--text-900);
  }

.promotion-edit-review-field .validation-message[b-lw2kpc1pa1] {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.25;
}

.promotion-downstream-impact-dialog[b-lw2kpc1pa1] {
  max-width: 920px;
}

  .promotion-downstream-impact-dialog .modal-content[b-lw2kpc1pa1] {
    max-height: calc(100vh - 56px);
    display: flex;
    flex-direction: column;
  }

.promotion-downstream-impact-body[b-lw2kpc1pa1] {
  overflow-y: auto;
  max-height: calc(100vh - 190px);
  padding-right: 16px;
}

  .promotion-downstream-impact-body[b-lw2kpc1pa1]::-webkit-scrollbar {
    width: 10px;
  }

  .promotion-downstream-impact-body[b-lw2kpc1pa1]::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 999px;
  }

  .promotion-downstream-impact-body[b-lw2kpc1pa1]::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
  }

    .promotion-downstream-impact-body[b-lw2kpc1pa1]::-webkit-scrollbar-thumb:hover {
      background: #64748b;
    }

  .promotion-edit-card--admin-override[b-lw2kpc1pa1] {
    margin-bottom: 8px;
  }

    .promotion-edit-card--admin-override .promotion-edit-card-header[b-lw2kpc1pa1] {
      border-bottom: 0;
    }

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 992px) {
  .promotion-edit-card-header[b-lw2kpc1pa1] {
    padding: 8px 12px 7px;
  }

  .promotion-edit-card-body[b-lw2kpc1pa1] {
    padding: 9px 12px 10px;
  }

  .promotion-edit-review-grid[b-lw2kpc1pa1] {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .page-host-fill[b-lw2kpc1pa1]  .promotion-edit-card--review textarea.promotion-edit-review-textarea {
    min-height: 32px !important;
    height: 32px;
  }

  .promotion-edit-review-actions--header[b-lw2kpc1pa1] {
    width: 100%;
    justify-content: flex-end;
  }
}
/* /Components/Pages/Admin/Promotions.razor.rz.scp.css */
/* Admin Promotions page styles */
/* ---------------------------------------------------------
   Provides Admin-specific overrides for PromotionsShared.razor.css.
   Controls Create Promotion type selection, Distributor release
   workflow presentation, pricing access, status badges, and
   responsive release behavior.
   --------------------------------------------------------- */

/* Create Promotion type selector */
/* ---------------------------------------------------------
   Provides the Open-Stock and Pre-Pack selection cards used
   inside the Admin Create Promotion Draft form.
   --------------------------------------------------------- */

.promotions-create-type-selector[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.promotions-create-type-card[b-eh4c7ihr40] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    text-align: left;
    border: 1px solid var(--border-200);
    border-radius: 12px;
    background: var(--bg-surface);
    color: var(--text-900);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

    .promotions-create-type-card:hover[b-eh4c7ihr40] {
        border-color: rgba(59, 130, 246, 0.45);
        box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.08);
        background: #fcfdff;
    }

    .promotions-create-type-card.is-active[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.9);
        box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.18);
        background: rgba(59, 130, 246, 0.04);
    }

.promotions-create-type-card--prepack.is-active[b-eh4c7ihr40] {
    border-color: rgba(63, 111, 159, 0.55);
    box-shadow: 0 0 0 1px rgba(63, 111, 159, 0.12);
    background: linear-gradient(135deg, rgba(63, 111, 159, 0.08), rgba(63, 111, 159, 0.03));
}

.promotions-create-type-card--openstock.is-active[b-eh4c7ihr40] {
    border-color: rgba(142, 59, 103, 0.42);
    box-shadow: 0 0 0 1px rgba(142, 59, 103, 0.10);
    background: linear-gradient(135deg, rgba(142, 59, 103, 0.07), rgba(142, 59, 103, 0.025));
}

.promotions-create-type-card-icon[b-eh4c7ihr40] {
    flex: 0 0 auto;
    width: 20px;
    font-size: 16px;
    line-height: 1;
    margin-top: 2px;
}

.promotions-create-type-card-content[b-eh4c7ihr40] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promotions-create-type-card-title[b-eh4c7ihr40] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-900);
    line-height: 1.2;
}

.promotions-create-type-card-text[b-eh4c7ihr40] {
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-600);
}

/* Distributor release modal */
/* ---------------------------------------------------------
   Controls the Admin release dialog shell, scrollable body,
   header, footer summary, and confirmation actions.
   --------------------------------------------------------- */

.admin-release-modal-backdrop[b-eh4c7ihr40] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.35);
}

.admin-release-modal[b-eh4c7ihr40] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
}

.admin-release-modal-card[b-eh4c7ihr40] {
    width: min(1220px, calc(100vw - 32px));
    height: min(850px, calc(100vh - 24px));
    height: min(850px, calc(100dvh - 24px));
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
}

.admin-release-modal-header[b-eh4c7ihr40] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    padding: 14px 20px 11px;
    border-bottom: 1px solid var(--border-200);
}

.admin-release-modal-title[b-eh4c7ihr40] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-900);
}

.admin-release-modal-subtitle[b-eh4c7ihr40] {
    margin-top: 4px;
    font-size: 13px;
    color: var(--text-600);
}

.admin-release-modal-body[b-eh4c7ihr40] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 12px 20px 14px;
}

.admin-release-modal-footer[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    background: #ffffff;
    padding: 11px 20px 13px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
}

.admin-release-footer-summary[b-eh4c7ihr40] {
    min-width: 0;
    color: var(--text-600);
    font-size: 12px;
    font-weight: 600;
}

.admin-release-footer-actions[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Promotion Cycle Release Overview */
/* ---------------------------------------------------------
   Presents Cycle-level Promotion readiness, Distributor selection,
   and optional Promotion-specific item-access review.
   --------------------------------------------------------- */

.admin-release-guidance[b-eh4c7ihr40] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 8px;
    padding: 8px 11px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 9px;
    background: rgba(239, 246, 255, 0.72);
    color: #475569;
    font-size: 11.5px;
    line-height: 1.35;
}

.admin-release-guidance-icon[b-eh4c7ihr40] {
    flex: 0 0 auto;
    color: #2563eb;
    font-size: 13px;
}

.admin-release-guidance div[b-eh4c7ihr40] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-release-guidance strong[b-eh4c7ihr40] {
    color: #1e3a5f;
    font-weight: 750;
}

.admin-release-cycle-summary[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}

.admin-release-cycle-summary-card[b-eh4c7ihr40] {
    min-width: 0;
    min-height: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 6px 10px;
    border: 1px solid rgba(100, 116, 139, 0.14);
    border-radius: 9px;
    background: #ffffff;
}

    .admin-release-cycle-summary-card span[b-eh4c7ihr40] {
        color: #64748b;
        font-size: 10px;
        font-weight: 700;
    }

    .admin-release-cycle-summary-card strong[b-eh4c7ihr40] {
        color: #14264a;
        font-size: 17px;
        font-weight: 800;
        line-height: 1;
    }

.admin-release-cycle-summary-card--ready[b-eh4c7ihr40] {
    background: rgba(236, 253, 245, 0.54);
}

.admin-release-cycle-summary-card--partial[b-eh4c7ihr40] {
    background: rgba(255, 247, 237, 0.62);
}

.admin-release-cycle-summary-card--released[b-eh4c7ihr40] {
    background: rgba(239, 246, 255, 0.66);
}

.admin-release-cycle-summary-card--attention[b-eh4c7ihr40] {
    background: rgba(254, 242, 242, 0.60);
}

.admin-release-overview-grid[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: minmax(460px, 0.85fr) minmax(0, 1.15fr);
    gap: 12px;
    margin-bottom: 10px;
}

.admin-release-promotions-panel[b-eh4c7ihr40],
.admin-release-review-panel[b-eh4c7ihr40],
.admin-release-cycle-distributors[b-eh4c7ihr40] {
    min-width: 0;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    background: #ffffff;
}

.admin-release-promotions-panel[b-eh4c7ihr40],
.admin-release-review-panel[b-eh4c7ihr40] {
    height: clamp(240px, 31dvh, 310px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-release-section-header[b-eh4c7ihr40] {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

    .admin-release-section-header h4[b-eh4c7ihr40] {
        margin: 0;
        color: #14264a;
        font-size: 12.5px;
        font-weight: 800;
    }

    .admin-release-section-header span[b-eh4c7ihr40] {
        color: #64748b;
        font-size: 10.5px;
    }

.admin-release-promotion-overview[b-eh4c7ihr40] {
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.admin-release-promotion-overview-header[b-eh4c7ihr40],
.admin-release-promotion-overview-row[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: minmax(150px, 1.5fr) 105px 95px 86px;
    gap: 8px;
    align-items: center;
}

.admin-release-promotion-overview-header[b-eh4c7ihr40] {
    min-height: 29px;
    padding: 5px 9px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: #f8fafc;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.admin-release-promotion-overview-body[b-eh4c7ihr40] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.admin-release-promotion-overview-row[b-eh4c7ihr40] {
    min-height: 38px;
    padding: 5px 9px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.065);
}

    .admin-release-promotion-overview-row:last-child[b-eh4c7ihr40] {
        border-bottom: 0;
    }

    .admin-release-promotion-overview-row.is-active[b-eh4c7ihr40] {
        background: rgba(37, 99, 235, 0.045);
    }

/* Clipped Release Text */
/* ---------------------------------------------------------
   Preserves compact enterprise density while exposing full
   Promotion, Distributor, and item text only when truncated.
   --------------------------------------------------------- */

[b-eh4c7ihr40] .admin-release-clipped-tooltip {
    display: flex;
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}

.admin-release-review-title[b-eh4c7ihr40],
.admin-release-review-distributor-name[b-eh4c7ihr40],
.admin-release-cycle-distributor-name[b-eh4c7ihr40] {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-release-promotion-overview-name[b-eh4c7ihr40] {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: #1e293b;
    font-size: 10.75px;
    font-weight: 650;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-release-state[b-eh4c7ihr40] {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    min-height: 19px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 750;
    white-space: nowrap;
}

.admin-release-state--ready[b-eh4c7ihr40] {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.admin-release-state--partial[b-eh4c7ihr40] {
    background: rgba(245, 158, 11, 0.13);
    color: #b45309;
}

.admin-release-state--released[b-eh4c7ihr40] {
    background: rgba(37, 99, 235, 0.11);
    color: #1d4ed8;
}

.admin-release-state--attention[b-eh4c7ihr40] {
    background: rgba(239, 68, 68, 0.10);
    color: #b91c1c;
}

.admin-release-promotion-access-summary[b-eh4c7ihr40] {
    color: #475569;
    font-size: 10px;
    font-weight: 650;
    white-space: nowrap;
}

.admin-release-review-access[b-eh4c7ihr40] {
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 10px;
    font-weight: 750;
    padding: 2px;
    text-align: left;
    cursor: pointer;
}

    .admin-release-review-access:hover[b-eh4c7ihr40] {
        text-decoration: underline;
    }

.admin-release-review-header[b-eh4c7ihr40] {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.admin-release-review-heading[b-eh4c7ihr40] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-release-review-tools[b-eh4c7ihr40] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}

    .admin-release-review-tools > span[b-eh4c7ihr40] {
        color: #94a3b8;
        font-size: 10px;
    }

.admin-release-review-expand-command[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    min-height: 20px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s ease;
}

    .admin-release-review-expand-command i[b-eh4c7ihr40] {
        width: 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: currentColor;
        font-size: 11px;
        line-height: 1;
    }

    .admin-release-review-expand-command:hover:not(:disabled)[b-eh4c7ihr40] {
        color: var(--link-700, #1d4ed8);
        background: transparent;
    }

        .admin-release-review-expand-command:hover:not(:disabled) span[b-eh4c7ihr40] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .admin-release-review-expand-command:disabled[b-eh4c7ihr40] {
        color: #94a3b8;
        cursor: default;
    }

    .admin-release-review-expand-command:focus[b-eh4c7ihr40],
    .admin-release-review-expand-command:active[b-eh4c7ihr40] {
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-release-review-expand-command:focus-visible[b-eh4c7ihr40] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

.admin-release-review-eyebrow[b-eh4c7ihr40] {
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-release-review-header strong[b-eh4c7ihr40] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 11.5px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-release-review-empty[b-eh4c7ihr40] {
    padding: 18px;
    color: #64748b;
    font-size: 11px;
    text-align: center;
}

.admin-release-review-distributors[b-eh4c7ihr40] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.admin-release-review-distributor[b-eh4c7ihr40] {
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

    .admin-release-review-distributor:last-child[b-eh4c7ihr40] {
        border-bottom: 0;
    }

.admin-release-review-distributor-header[b-eh4c7ihr40] {
    width: 100%;
    min-height: 35px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border: 0;
    background: #ffffff;
    color: #334155;
    font-size: 10.5px;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}

    .admin-release-review-distributor-header:hover[b-eh4c7ihr40] {
        background: #f8fafc;
    }

.admin-release-review-distributor-body[b-eh4c7ihr40] {
    padding: 7px 9px 9px;
    background: #f8fafc;
}

.admin-release-review-help[b-eh4c7ihr40] {
    margin-top: 6px;
    color: #64748b;
    font-size: 9.5px;
    line-height: 1.3;
}

.admin-release-review-help--warning[b-eh4c7ihr40] {
    color: #b45309;
}

.admin-release-cycle-distributors[b-eh4c7ihr40] {
    margin-top: 0;
}

/* Cycle Distributor Tools */
/* ---------------------------------------------------------
   Supports high-volume Distributor selection with search and
   compact operational filters for large Promotion Cycles.
   --------------------------------------------------------- */

.admin-release-distributor-tools[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    background: #f8fafc;
}

[b-eh4c7ihr40] .admin-release-distributor-search {
    width: 100%;
    min-width: 0;
}

[b-eh4c7ihr40] .admin-release-distributor-search-input {
    min-height: 30px;
    height: 30px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 10.5px;
}

.admin-release-distributor-filters[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.admin-release-distributor-filter[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 9.75px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-release-distributor-filter:hover[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.26);
        color: #1d4ed8;
    }

    .admin-release-distributor-filter.is-active[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.32);
        background: rgba(37, 99, 235, 0.08);
        color: #1d4ed8;
    }

    .admin-release-distributor-filter span[b-eh4c7ihr40] {
        color: inherit;
        font-size: 9px;
        font-weight: 800;
    }

.admin-release-distributor-empty[b-eh4c7ihr40] {
    padding: 18px 12px;
    color: #64748b;
    font-size: 10.5px;
    text-align: center;
}

.admin-release-distributor-actions[b-eh4c7ihr40] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

.admin-release-cycle-distributor-list[b-eh4c7ihr40] {
    min-height: 0;
    max-height: clamp(220px, 30dvh, 340px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.admin-release-cycle-distributor-row[b-eh4c7ihr40] {
    min-height: 46px;
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) 110px minmax(160px, 0.8fr);
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.065);
    background: #ffffff;
    cursor: pointer;
}

    .admin-release-cycle-distributor-row:last-child[b-eh4c7ihr40] {
        border-bottom: 0;
    }

    .admin-release-cycle-distributor-row.is-selected[b-eh4c7ihr40] {
        background: rgba(37, 99, 235, 0.025);
    }

    .admin-release-cycle-distributor-row.is-released[b-eh4c7ihr40] {
        background: #f8fafc;
    }

    .admin-release-cycle-distributor-row input[b-eh4c7ihr40] {
        margin: 0;
    }

.admin-release-cycle-distributor-main[b-eh4c7ihr40] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .admin-release-cycle-distributor-main strong[b-eh4c7ihr40] {
        overflow: hidden;
        color: #1e293b;
        font-size: 11px;
        font-weight: 750;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-release-cycle-distributor-main span[b-eh4c7ihr40],
    .admin-release-cycle-distributor-progress[b-eh4c7ihr40] {
        color: #64748b;
        font-size: 9.75px;
    }

.admin-release-loading[b-eh4c7ihr40] {
    padding: 24px;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

/* Short Promotion Cycle Release Workspace */
/* ---------------------------------------------------------
   Reallocates vertical space toward Distributor selection on
   shorter laptop displays while preserving internal scrolling.
   --------------------------------------------------------- */

@media (max-height: 760px) {
    .admin-release-modal-header[b-eh4c7ihr40] {
        padding-top: 10px;
        padding-bottom: 8px;
    }

    .admin-release-modal-body[b-eh4c7ihr40] {
        padding-top: 9px;
        padding-bottom: 10px;
    }

    .admin-release-guidance[b-eh4c7ihr40] {
        margin-bottom: 7px;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .admin-release-cycle-summary[b-eh4c7ihr40] {
        margin-bottom: 7px;
    }

    .admin-release-cycle-summary-card[b-eh4c7ihr40] {
        min-height: 44px;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .admin-release-promotions-panel[b-eh4c7ihr40],
    .admin-release-review-panel[b-eh4c7ihr40] {
        height: clamp(215px, 29dvh, 245px);
    }

    .admin-release-overview-grid[b-eh4c7ihr40] {
        margin-bottom: 8px;
    }

    .admin-release-cycle-distributor-list[b-eh4c7ihr40] {
        max-height: clamp(190px, 28dvh, 230px);
    }

    .admin-release-modal-footer[b-eh4c7ihr40] {
        padding-top: 9px;
        padding-bottom: 10px;
    }
}

@media (max-width: 980px) {
    .admin-release-overview-grid[b-eh4c7ihr40] {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-release-cycle-summary[b-eh4c7ihr40] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-release-cycle-distributor-row[b-eh4c7ihr40] {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .admin-release-cycle-distributor-progress[b-eh4c7ihr40] {
        grid-column: 2 / -1;
    }

    .admin-release-modal[b-eh4c7ihr40] {
        padding: 8px;
    }

    .admin-release-modal-card[b-eh4c7ihr40] {
        width: calc(100vw - 16px);
        height: calc(100dvh - 16px);
        max-height: calc(100dvh - 16px);
    }

    .admin-release-modal-header[b-eh4c7ihr40],
    .admin-release-modal-body[b-eh4c7ihr40],
    .admin-release-modal-footer[b-eh4c7ihr40] {
        padding-left: 14px;
        padding-right: 14px;
    }

    .admin-release-distributor-tools[b-eh4c7ihr40] {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-release-distributor-filters[b-eh4c7ihr40] {
        flex-wrap: wrap;
    }
}

/* Distributor release toolbar */
/* ---------------------------------------------------------
   Provides batch selection controls, compact release actions,
   and release-workspace status guidance.
   --------------------------------------------------------- */

.admin-release-toolbar[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #f8fafc;
}

.admin-release-toolbar-summary[b-eh4c7ihr40] {
    min-width: 0;
    color: var(--text-600);
    font-size: 12px;
    font-weight: 600;
}

.admin-release-toolbar-actions[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.admin-release-toolbar-button[b-eh4c7ihr40],
.admin-release-inline-action[b-eh4c7ihr40] {
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    padding: 2px 4px;
    cursor: pointer;
}

    .admin-release-toolbar-button:hover[b-eh4c7ihr40],
    .admin-release-inline-action:hover[b-eh4c7ihr40] {
        text-decoration: underline;
    }

    .admin-release-toolbar-button:disabled[b-eh4c7ihr40],
    .admin-release-inline-action:disabled[b-eh4c7ihr40] {
        color: var(--text-400);
        cursor: not-allowed;
        text-decoration: none;
    }

.admin-release-toolbar-dot[b-eh4c7ihr40] {
    color: var(--text-400);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    user-select: none;
}

.admin-release-toolbar-divider[b-eh4c7ihr40] {
    width: 1px;
    height: 14px;
    margin: 0 2px;
    background: rgba(117, 140, 167, 0.34);
}

/* Distributor release options */
/* ---------------------------------------------------------
   Controls Distributor cards, selection states, expansion controls,
   item counts, and compact option hierarchy.
   --------------------------------------------------------- */

.admin-release-list[b-eh4c7ihr40] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-release-option[b-eh4c7ihr40] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 12px;
    background: #fff;
}

    .admin-release-option:hover[b-eh4c7ihr40] {
        background: rgba(25, 35, 68, 0.018);
    }

    .admin-release-option.is-selected[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.22);
        background: rgba(59, 130, 246, 0.025);
    }

    .admin-release-option.is-expanded[b-eh4c7ihr40] {
        border-color: rgba(25, 35, 68, 0.14);
    }

    .admin-release-option.is-disabled[b-eh4c7ihr40] {
        background: #f8fafc;
        color: var(--text-500);
    }

.admin-release-option-top[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 10px;
}

.admin-release-option-controls[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    padding-top: 1px;
}

.admin-release-distributor-checkbox[b-eh4c7ihr40] {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    margin: 0;
    cursor: pointer;
}

    .admin-release-distributor-checkbox:disabled[b-eh4c7ihr40] {
        cursor: not-allowed;
    }

.admin-release-expand-button[b-eh4c7ihr40] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(117, 140, 167, 0.28);
    border-radius: 999px;
    background: #fff;
    color: var(--text-600);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

    .admin-release-expand-button:hover[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.38);
        background: rgba(59, 130, 246, 0.04);
        color: #1d4ed8;
        box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.06);
    }

    .admin-release-expand-button:focus-visible[b-eh4c7ihr40] {
        outline: 2px solid rgba(37, 99, 235, 0.32);
        outline-offset: 2px;
    }

.admin-release-option.is-expanded .admin-release-expand-button[b-eh4c7ihr40] {
    border-color: rgba(37, 99, 235, 0.38);
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
}

.admin-release-option-main[b-eh4c7ihr40] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.admin-release-option-name[b-eh4c7ihr40] {
    font-weight: 600;
    color: var(--text-900);
}

.admin-release-option-header-row[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-release-item-count[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    min-height: 19px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.admin-release-item-count--selected[b-eh4c7ihr40] {
    background: rgba(16, 185, 129, 0.10);
    color: #047857;
}

/* Open-Stock item pricing access */
/* ---------------------------------------------------------
   Controls item-level pricing availability, locked states,
   opt-out defaults, and WAM Admin overrides.
   --------------------------------------------------------- */

.admin-release-item-access-panel[b-eh4c7ihr40] {
    margin-left: 54px;
    padding: 9px 10px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #f8fafc;
}

    .admin-release-item-access-panel.is-readonly[b-eh4c7ihr40] {
        background: #f9fafb;
    }

.admin-release-item-access-header[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.admin-release-item-access-title[b-eh4c7ihr40] {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-600);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-release-item-access-actions[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-release-item-access-list[b-eh4c7ihr40] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.admin-release-item-access-row[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

    .admin-release-item-access-row.is-locked[b-eh4c7ihr40] {
        background: rgba(248, 250, 252, 0.72);
    }

    .admin-release-item-access-row.is-optout-default[b-eh4c7ihr40] {
        border-color: rgba(250, 169, 75, 0.26);
        background: rgba(250, 169, 75, 0.055);
    }

    .admin-release-item-access-row.is-override[b-eh4c7ihr40] {
        border-color: rgba(37, 99, 235, 0.22);
        background: rgba(59, 130, 246, 0.045);
    }

    .admin-release-item-access-row input:disabled[b-eh4c7ihr40] {
        cursor: not-allowed;
    }

.admin-release-item-access-text[b-eh4c7ihr40] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.admin-release-item-access-number[b-eh4c7ihr40] {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-900);
}

.admin-release-item-access-description[b-eh4c7ihr40] {
    min-width: 0;
    width: 100%;
    text-align: left;
    overflow: hidden;
    color: var(--text-700);
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.admin-release-item-access-status[b-eh4c7ihr40] {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-500);
}

.admin-release-item-access-row:not(.is-locked) .admin-release-item-access-status[b-eh4c7ihr40] {
    color: #15803d;
}

.admin-release-item-access-row.is-locked .admin-release-item-access-status[b-eh4c7ihr40] {
    color: #b45309;
}

.admin-release-item-access-row .admin-release-item-access-status--editable[b-eh4c7ihr40] {
    color: #15803d;
}

.admin-release-item-access-row .admin-release-item-access-status--locked[b-eh4c7ihr40] {
    color: #b45309;
}

.admin-release-item-access-row .admin-release-item-access-status--optout-default[b-eh4c7ihr40] {
    color: #b45309;
}

.admin-release-item-access-row .admin-release-item-access-status--override[b-eh4c7ihr40] {
    color: #1d4ed8;
}

.admin-release-item-access-help--warning[b-eh4c7ihr40] {
    color: #8a4b0f;
}

.admin-release-item-access-help[b-eh4c7ihr40] {
    margin-top: 6px;
    font-size: 11px;
    color: var(--text-500);
}

/* Pre-Pack Distributor release */
/* ---------------------------------------------------------
   Displays component items as informational content while
   keeping release selection at the Distributor level.
   --------------------------------------------------------- */

.admin-release-item-access-panel.is-prepack[b-eh4c7ihr40] {
    background: #f8fafc;
}

.admin-release-item-access-row--included[b-eh4c7ihr40] {
    cursor: default;
    border-color: rgba(22, 163, 74, 0.14);
    background: #ffffff;
}

    .admin-release-item-access-row--included:hover[b-eh4c7ihr40] {
        background: #ffffff;
    }

.admin-release-prepack-check[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #15803d;
    font-size: 12px;
    line-height: 1;
}

.admin-release-item-access-help--prepack[b-eh4c7ihr40] {
    color: #1d4ed8;
    font-weight: 600;
}

/* Distributor release summary */
/* ---------------------------------------------------------
   Displays aggregate release counts and the pricing-review action.
   --------------------------------------------------------- */
.admin-release-summary-row[b-eh4c7ihr40] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.admin-release-summary-pill[b-eh4c7ihr40] {
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    padding: 8px 10px;
    background: #f8fafc;
}

    .admin-release-summary-pill span[b-eh4c7ihr40] {
        display: block;
        font-size: 11px;
        color: var(--text-500);
        margin-bottom: 2px;
    }

    .admin-release-summary-pill strong[b-eh4c7ihr40] {
        display: block;
        font-size: 18px;
        color: var(--text-900);
    }

.admin-release-view-pricing[b-eh4c7ihr40] {
    align-self: flex-start;
    margin-top: 4px;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

    .admin-release-view-pricing:hover[b-eh4c7ihr40] {
        text-decoration: underline;
    }

/* Distributor release status badges */
/* ---------------------------------------------------------
   Clarifies each Distributor release and pricing status inside
   the Admin Promotions release-progress modal.
   --------------------------------------------------------- */

.admin-release-option-status-line[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-height: 22px;
}

.admin-release-option-status[b-eh4c7ihr40] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--text-500);
}

.admin-release-option-status-text[b-eh4c7ihr40] {
    color: var(--text-500);
    font-size: 12px;
}

.admin-release-status-badge[b-eh4c7ihr40] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.admin-release-status-badge--released[b-eh4c7ihr40] {
    background: #e0edff;
    color: #1d4ed8;
}

.admin-release-status-badge--progress[b-eh4c7ihr40] {
    background: #fff7ed;
    color: #c2410c;
}

.admin-release-status-badge--submitted[b-eh4c7ihr40] {
    background: #dbeafe;
    color: #1d4ed8;
}

.admin-release-status-badge--returned[b-eh4c7ihr40] {
    background: #fee2e2;
    color: #b91c1c;
}

.admin-release-status-badge--completed[b-eh4c7ihr40] {
    background: #dcfce7;
    color: #15803d;
}

.admin-release-status-badge--cancelled[b-eh4c7ihr40] {
    background: #e5e7eb;
    color: #4b5563;
}

.admin-release-status-badge--default[b-eh4c7ihr40] {
    background: #f1f5f9;
    color: #475569;
}

/* Short Viewport Release Workspace */
/* ---------------------------------------------------------
   Preserves the fixed modal header and footer while reducing
   internal workspace height on shorter laptop displays.
   --------------------------------------------------------- */

@media (max-height: 760px) {
    .admin-release-cycle-summary-card[b-eh4c7ihr40] {
        min-height: 48px;
    }

    .admin-release-promotions-panel[b-eh4c7ihr40],
    .admin-release-review-panel[b-eh4c7ihr40] {
        height: clamp(235px, 34dvh, 280px);
    }

    .admin-release-guidance[b-eh4c7ihr40] {
        margin-bottom: 8px;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .admin-release-cycle-summary[b-eh4c7ihr40] {
        margin-bottom: 8px;
    }

    .admin-release-overview-grid[b-eh4c7ihr40] {
        margin-bottom: 9px;
    }
}

/* Responsive release behavior */
/* ---------------------------------------------------------
   Stacks release controls and removes the item-access inset
   for narrower Admin workspaces.
   --------------------------------------------------------- */

@media (max-width: 900px) {
    .admin-release-summary-row[b-eh4c7ihr40] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-release-toolbar[b-eh4c7ihr40],
    .admin-release-modal-footer[b-eh4c7ihr40] {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-release-toolbar-actions[b-eh4c7ihr40],
    .admin-release-footer-actions[b-eh4c7ihr40] {
        justify-content: flex-start;
    }

    .admin-release-item-access-panel[b-eh4c7ihr40] {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .promotions-create-type-selector[b-eh4c7ihr40] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Admin/Report.razor.rz.scp.css */
/* Admin Reports workspace styles */
/* ---------------------------------------------------------
   Controls the Reports shell, tabs, shared report panels,
   Distributor Pricing report, filters, internal table scrolling,
   anchored pagination, report modals, Final Book image selection,
   asset details, downloads, and responsive behavior.
   --------------------------------------------------------- */

/* Report page shell */

.report-page[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 2px 0 0;
    overflow: hidden;
}

.report-page-header[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.report-page-title[b-ybid0yn6jv] {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: var(--text-900);
}

.report-page-subtitle[b-ybid0yn6jv] {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-600);
}

.report-active-tab-subtitle[b-ybid0yn6jv] {
    color: #6b7a90;
    font-size: 14px;
    line-height: 1.5;
}

.report-inline-emphasis[b-ybid0yn6jv] {
    color: #0b2a55;
    font-weight: 500;
}

.report-inline-chip[b-ybid0yn6jv] {
    display: inline-block;
    padding: 2px 8px;
    margin: 0 2px;
    border-radius: 999px;
    background: #eef4fb;
    color: #335c8a;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}

.report-shell-card[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 18px;
    overflow: hidden;
}

/* Report tabs */

.report-toolbar[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px 12px;
    padding: 8px 12px 8px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9), #fff);
    flex-wrap: wrap;
}

.report-tab-strip[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
    min-width: 0;
    flex-wrap: nowrap;
}

.report-toolbar-actions[b-ybid0yn6jv] {
    flex: 1 1 420px;
    min-width: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
}

.report-active-tab-subtitle[b-ybid0yn6jv] {
    flex: 0 0 auto;
    padding: 0 16px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-500);
}

.report-tab-button[b-ybid0yn6jv] {
    appearance: none;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    min-width: 112px;
    padding: 0 18px;
    border-radius: 999px;
    color: var(--text-600, #475569);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .report-tab-button:hover[b-ybid0yn6jv] {
        color: #1d3a6d;
        background: rgba(37, 99, 235, 0.06);
    }

.report-tab-button--active[b-ybid0yn6jv] {
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
}

.report-tab-button:focus-visible[b-ybid0yn6jv] {
    outline: none;
    box-shadow: var(--focus-ring);
}

.report-shell-body[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 8px 8px 4px;
    display: flex;
    flex-direction: column;
}

/* Shared report panel layout */

.report-panel[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
}

.report-action-button[b-ybid0yn6jv] {
    min-width: 130px;
    min-height: 30px;
    padding: 4px 16px;
    font-size: 14px;
    border-radius: 8px;
    font-weight: 600;
}

.report-loading-card[b-ybid0yn6jv] {
    padding: 18px;
    border: 1px dashed rgba(29, 58, 109, 0.18);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(29, 58, 109, 0.025), rgba(91, 196, 191, 0.02));
    color: var(--text-700);
    font-size: 14px;
}

/* Report content card and filters */

.report-final-book-cycle-context[b-ybid0yn6jv] {
    grid-column: 1 / -1;
    min-width: 0;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #d7e4f5;
    border-radius: 8px;
    background: #f5f9ff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.report-final-book-cycle-context-main[b-ybid0yn6jv] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

    .report-final-book-cycle-context-main span[b-ybid0yn6jv] {
        flex: 0 0 auto;
        color: #6b82a6;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .report-final-book-cycle-context-main strong[b-ybid0yn6jv] {
        min-width: 0;
        overflow: hidden;
        color: #173764;
        font-size: 12px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.report-final-book-cycle-context-actions[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.report-final-book-cycle-view-all[b-ybid0yn6jv] {
    appearance: none;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: inherit;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

    .report-final-book-cycle-view-all:hover[b-ybid0yn6jv] {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.report-final-book-cycle-context-separator[b-ybid0yn6jv] {
    color: #a3b2c7;
    font-size: 11px;
}

.report-final-book-cycle-back[b-ybid0yn6jv] {
    flex: 0 0 auto;
    color: #2563eb;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

    .report-final-book-cycle-back:hover[b-ybid0yn6jv] {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.report-content-card[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
    padding: 14px 14px 6px 14px;
    border: 1px solid var(--border-200);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--shadow-1);
    overflow: hidden;
    container-type: inline-size;
}

.report-content-card--auto[b-ybid0yn6jv] {
    grid-row: 1 / -1;
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    padding: 0;
}

.report-filters-grid[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) /* Search */
    minmax(145px, 155px) /* Manufacturer */
    minmax(120px, 125px) /* Status */
    minmax(135px, 145px) /* Image */
    minmax(125px, 135px) /* UPC */
    minmax(88px, 92px); /* Page Size */
    gap: 8px;
    align-items: end;
    min-width: 0;
}

.report-filter-control--search[b-ybid0yn6jv] {
    min-width: 0;
}

.report-filter-control[b-ybid0yn6jv] {
    min-width: 0;
}

    .report-filter-control:not(.report-filter-control--search)[b-ybid0yn6jv] {
        justify-self: stretch;
    }

    .report-filter-control .form-select[b-ybid0yn6jv],
    .report-filter-control .form-control[b-ybid0yn6jv] {
        width: 100%;
        min-width: 0;
    }

.report-filter-label[b-ybid0yn6jv] {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-700);
}

/* Distributor Pricing filter layout */
/* ---------------------------------------------------------
   Matches the compact Products report filter behavior while
   accommodating Distributor, Promo Year, Promo Month, Type,
   Status, and page-size controls.
   --------------------------------------------------------- */

/*.report-filters-grid--distributor-pricing {
    display: grid;
    grid-template-columns: minmax(260px, 1fr)*/ /* Search */
    /*minmax(145px, 155px)*/ /* Distributor */
    /*minmax(95px, 105px)*/ /* Promo Year */
    /*minmax(120px, 130px)*/ /* Promo Month */
    /*minmax(130px, 140px)*/ /* Type */
    /*minmax(120px, 130px)*/ /* Status */
    /*minmax(88px, 92px);*/ /* Page Size */
    /*gap: 8px;
    align-items: end;
    min-width: 0;
    padding: 14px 14px 8px;
    border-bottom: 0;
    background: #ffffff;
}*/


.report-filters-grid--distributor-pricing[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(150px, 180px) minmax(220px, 280px) 140px 150px 90px;
    gap: 8px;
    align-items: end;
    min-width: 0;
    padding: 14px 14px 8px;
    border-bottom: 0;
    background: #ffffff;
}

    .report-filters-grid--distributor-pricing .report-filter-control[b-ybid0yn6jv] {
        min-width: 0;
    }

        .report-filters-grid--distributor-pricing .report-filter-control:not(.report-filter-control--search)[b-ybid0yn6jv] {
            justify-self: stretch;
        }

        .report-filters-grid--distributor-pricing .report-filter-control .form-select[b-ybid0yn6jv],
        .report-filters-grid--distributor-pricing .report-filter-control .form-control[b-ybid0yn6jv] {
            width: 100%;
            min-width: 0;
        }

    .report-filters-grid--distributor-pricing .report-filter-control--search[b-ybid0yn6jv]  .form-control {
        min-height: 38px;
        height: 38px;
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 11px;
        line-height: 1.2;
    }

        .report-filters-grid--distributor-pricing .report-filter-control--search[b-ybid0yn6jv]  .form-control::placeholder {
            font-size: 11px;
        }

[b-ybid0yn6jv] .report-distributor-searchable-select {
    width: 100%;
    min-width: 0;
}

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__button {
        min-height: 38px;
        height: 38px;
        padding: 6px 28px 6px 12px;
        font-size: 12px;
        line-height: 1.2;
        border-color: #dbe4ef;
        border-radius: 0.55rem;
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__value {
        font-size: 12px;
        line-height: 1.2;
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__chevron {
        font-size: 12px;
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__menu {
        width: max(100%, 260px);
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__search {
        min-height: 32px;
        height: 32px;
        padding: 5px 30px 5px 10px;
        font-size: 12px;
        line-height: 1.2;
    }

        [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__search::placeholder {
            font-size: 12px;
            line-height: 1.2;
        }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__clear {
        width: 22px;
        height: 22px;
        font-size: 12px;
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__option {
        min-height: 30px;
        padding: 6px 10px;
        font-size: 12px;
        line-height: 1.2;
    }

    [b-ybid0yn6jv] .report-distributor-searchable-select .searchable-select__empty {
        font-size: 12px;
    }


/* Compact report toolbar controls */
/* ---------------------------------------------------------
   Uses denser controls because report workspaces contain more
   filters than standard maintenance pages.
   --------------------------------------------------------- */

.report-filters-grid .form-control[b-ybid0yn6jv],
.report-filters-grid .form-select[b-ybid0yn6jv] {
    min-height: 38px;
    height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 12px;
    line-height: 1.2;
}

    .report-filters-grid .form-control[b-ybid0yn6jv]::placeholder {
        font-size: 12px;
        color: var(--text-500);
    }

.report-filters-grid .form-select[b-ybid0yn6jv] {
    padding-right: 28px;
    background-position: right 0.55rem center;
    background-size: 12px 12px;
}

.report-filter-label[b-ybid0yn6jv] {
    margin-bottom: 3px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-700);
}

/* Distributor Pricing Cycle Groups */
/* ---------------------------------------------------------
   Matches the Promotion Pricing hierarchy for Promotion Cycle
   and nested Manufacturer / Promotion grouping.
   --------------------------------------------------------- */

/* Distributor Pricing Group Controls */
/* ---------------------------------------------------------
   Provides Promotion Cycle and nested Promotion group collapse
   controls while preserving the existing report detail expansion.
   --------------------------------------------------------- */

.report-group-toggle-all[b-ybid0yn6jv] {
    flex: 0 0 auto;
    padding: 3px 5px;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .report-group-toggle-all:hover[b-ybid0yn6jv] {
        color: #143a74;
        text-decoration: underline;
    }

    .report-group-toggle-all:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
        border-radius: 4px;
    }

.report-distributor-pricing-cycle-toggle[b-ybid0yn6jv] {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    margin-left: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 7px;
    background: #f8fbff;
    color: #2563eb;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

    .report-distributor-pricing-cycle-toggle:hover[b-ybid0yn6jv] {
        border-color: #b8cbea;
        background: #f2f7ff;
    }

    .report-distributor-pricing-cycle-toggle:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
    }

.report-distributor-pricing-group-toggle[b-ybid0yn6jv] {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 6px;
    background: #fbfdff;
    color: #2563eb;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

    .report-distributor-pricing-group-toggle:hover[b-ybid0yn6jv] {
        border-color: #c4d4ee;
        background: #f5f9ff;
    }

    .report-distributor-pricing-group-toggle:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.18);
        outline-offset: 2px;
    }

.report-distributor-pricing-cycle-action-link[b-ybid0yn6jv] {
    flex: 0 0 auto;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .report-distributor-pricing-cycle-action-link:hover[b-ybid0yn6jv] {
        color: #143a74;
        text-decoration: underline;
    }

    .report-distributor-pricing-cycle-action-link:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
        border-radius: 4px;
    }

.report-distributor-pricing-cycle-row > td[b-ybid0yn6jv] {
    padding: 0 !important;
    border-top: 1px solid rgba(37, 99, 235, 0.20);
    border-bottom: 1px solid rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, 0.28);
}

.report-distributor-pricing-cycle-row--collapsed + .report-distributor-pricing-cycle-row--collapsed > td[b-ybid0yn6jv] {
    border-top: 6px solid #ffffff !important;
}

.report-table tbody tr.report-distributor-pricing-cycle-row:hover > td[b-ybid0yn6jv] {
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
}

.report-distributor-pricing-cycle-header[b-ybid0yn6jv] {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 10px 4px 8px;
}

.report-distributor-pricing-cycle-main[b-ybid0yn6jv] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.report-distributor-pricing-cycle-label[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 2px 6px;
    border: 1px solid rgba(59, 92, 148, 0.20);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.88);
    color: #526b91;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.report-distributor-pricing-cycle-name[b-ybid0yn6jv] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-distributor-pricing-cycle-period[b-ybid0yn6jv] {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.report-distributor-pricing-cycle-status[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.report-distributor-pricing-cycle-action[b-ybid0yn6jv] {
    flex: 0 0 auto;
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 3px 8px;
    border: 1px solid rgba(37, 99, 235, 0.24);
    border-radius: 6px;
    background: #ffffff;
    color: #2563eb;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

    .report-distributor-pricing-cycle-action:hover:not(:disabled)[b-ybid0yn6jv] {
        border-color: rgba(37, 99, 235, 0.40);
        background: #f8fbff;
        color: #1d4ed8;
    }

    .report-distributor-pricing-cycle-action:disabled[b-ybid0yn6jv] {
        opacity: 0.55;
        cursor: default;
    }

    .report-distributor-pricing-cycle-action .bi[b-ybid0yn6jv] {
        font-size: 11px;
        line-height: 1;
    }

.report-distributor-pricing-cycle-ready[b-ybid0yn6jv],
.report-distributor-pricing-cycle-pending[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    min-height: 19px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

.report-distributor-pricing-cycle-ready[b-ybid0yn6jv] {
    border: 1px solid rgba(22, 163, 74, 0.16);
    background: rgba(22, 163, 74, 0.10);
    color: #15803d;
}

.report-distributor-pricing-cycle-pending[b-ybid0yn6jv] {
    border: 1px solid rgba(217, 119, 6, 0.16);
    background: rgba(245, 158, 11, 0.10);
    color: #b45309;
}

.report-distributor-pricing-cycle-count[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 21px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #475569;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

/* Report table and sorting */

.report-table-region[b-ybid0yn6jv] {
    min-width: 0;
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    overflow: hidden;
    background: #fff;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.report-table-scroll[b-ybid0yn6jv] {
    min-width: 0;
    min-height: 0;
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
    background: #fff;
    padding-bottom: 0;
}

.report-table-region--distributor-pricing .report-table-scroll[b-ybid0yn6jv] {
    scrollbar-gutter: auto;
}

.report-table[b-ybid0yn6jv] {
    width: max-content;
    min-width: 100%;
    margin-bottom: 0;
    vertical-align: middle;
}

    .report-table thead th[b-ybid0yn6jv] {
        position: sticky;
        top: 0;
        z-index: 1;
        background: #fff;
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: var(--text-500);
        border-bottom-width: 1px;
        white-space: nowrap;
    }

    .report-table tbody td[b-ybid0yn6jv] {
        padding-top: 10px;
        padding-bottom: 10px;
        border-color: rgba(25, 35, 68, 0.08);
        color: var(--text-900);
        font-size: 13px;
        line-height: 1.45;
    }

.report-cell-description[b-ybid0yn6jv] {
    min-width: 280px;
    font-weight: 500;
}

.report-table th[b-ybid0yn6jv],
.report-table td[b-ybid0yn6jv] {
    white-space: nowrap;
}

    .report-table td.report-cell-description[b-ybid0yn6jv] {
        white-space: normal;
        min-width: 280px;
        max-width: 360px;
    }

    .report-table td:nth-child(1)[b-ybid0yn6jv] {
        min-width: 170px;
    }

    .report-table td:nth-child(10)[b-ybid0yn6jv],
    .report-table td:nth-child(12)[b-ybid0yn6jv] {
        min-width: 180px;
    }

.report-sort-button[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .report-sort-button:hover[b-ybid0yn6jv],
    .report-sort-button--active[b-ybid0yn6jv] {
        color: #2563eb;
    }

.report-sort-indicator[b-ybid0yn6jv] {
    font-size: 0.72rem;
    line-height: 1;
}

/* Distributor Pricing report table */
/* ---------------------------------------------------------
   Provides the final Distributor Pricing grid. The table expands
   with available workspace and begins horizontal scrolling below
   the protected 1060px minimum width.
   --------------------------------------------------------- */

.report-table--distributor-pricing[b-ybid0yn6jv] {
    width: 100%;
    min-width: 1060px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .report-table--distributor-pricing thead th[b-ybid0yn6jv] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .report-table--distributor-pricing tbody td[b-ybid0yn6jv] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        color: var(--text-900);
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .report-table--distributor-pricing tbody tr:hover td[b-ybid0yn6jv] {
        background: #fbfdff;
    }

    /* Table edge alignment */
    /* ---------------------------------------------------------
     Aligns table content with the filter row and pager inset.
     --------------------------------------------------------- */
    .report-table--distributor-pricing thead th:first-child[b-ybid0yn6jv],
    .report-table--distributor-pricing tbody td:first-child[b-ybid0yn6jv] {
        padding-left: 10px;
    }

    .report-table--distributor-pricing thead th:last-child[b-ybid0yn6jv],
    .report-table--distributor-pricing tbody td:last-child[b-ybid0yn6jv] {
        padding-right: 10px;
    }

    .report-table--distributor-pricing td:nth-child(1)[b-ybid0yn6jv],
    .report-table--distributor-pricing td.report-cell-distributor[b-ybid0yn6jv] {
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
        line-height: 1.32;
    }

    /* Worksheet type column */
    .report-table--distributor-pricing th:nth-child(2)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(2)[b-ybid0yn6jv] {
        width: 96px;
        min-width: 90px;
    }

    /* Pricing status column */
    .report-table--distributor-pricing th:nth-child(3)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(3)[b-ybid0yn6jv] {
        width: 112px;
        min-width: 104px;
    }

    /* Delivery column */
    .report-table--distributor-pricing th:nth-child(4)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(4)[b-ybid0yn6jv] {
        width: 82px;
        min-width: 76px;
    }

    /* Item number column */
    .report-table--distributor-pricing th:nth-child(5)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(5)[b-ybid0yn6jv] {
        width: 92px;
        min-width: 86px;
    }

    /* Description column */
    .report-table--distributor-pricing th:nth-child(6)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(6)[b-ybid0yn6jv] {
        width: auto;
        min-width: 230px;
    }

    .report-table--distributor-pricing td:nth-child(6)[b-ybid0yn6jv],
    .report-table--distributor-pricing td.report-cell-description[b-ybid0yn6jv] {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        line-height: 1.32;
        min-width: 230px;
        max-width: none;
        font-weight: 600;
    }

    /* Participation column */
    .report-table--distributor-pricing th:nth-child(7)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(7)[b-ybid0yn6jv] {
        width: 132px;
        min-width: 124px;
    }

    /* Last Updated column */
    .report-table--distributor-pricing th:nth-child(8)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(8)[b-ybid0yn6jv] {
        width: 122px;
        min-width: 112px;
    }

        .report-table--distributor-pricing th:nth-child(8) .report-sort-button[b-ybid0yn6jv] {
            width: 100%;
            justify-content: flex-start;
            white-space: nowrap;
        }

    .report-table--distributor-pricing td:nth-child(8)[b-ybid0yn6jv],
    .report-cell-updated[b-ybid0yn6jv] {
        color: var(--text-700);
        font-size: 12px;
        line-height: 1.25;
        white-space: nowrap;
    }

    /* Expand action column */
    .report-table--distributor-pricing th:nth-child(9)[b-ybid0yn6jv],
    .report-table--distributor-pricing td:nth-child(9)[b-ybid0yn6jv] {
        width: 56px;
        min-width: 56px;
        max-width: 56px;
    }

.report-distributor-pricing-row-toggle[b-ybid0yn6jv] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 6px;
    background: #ffffff;
    color: #2563eb;
    line-height: 1;
    cursor: pointer;
}

    .report-distributor-pricing-row-toggle:hover[b-ybid0yn6jv] {
        border-color: #bfd0ea;
        background: #f8fbff;
        color: #1d4ed8;
    }

    .report-distributor-pricing-row-toggle:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.18);
        outline-offset: 2px;
    }

    .report-distributor-pricing-row-toggle .bi[b-ybid0yn6jv] {
        font-size: 11px;
        line-height: 1;
    }

/* Sticky report action column */
/* ---------------------------------------------------------
    Pins the expand/action column to the right edge of the report
    table viewport. The sticky cell remains visually neutral.
    --------------------------------------------------------- */
.report-table--distributor-pricing th.report-sticky-action-cell[b-ybid0yn6jv],
.report-table--distributor-pricing td.report-sticky-action-cell[b-ybid0yn6jv] {
    position: sticky;
    right: 0;
    z-index: 10;
    padding-left: 0.72rem;
    padding-right: 0.72rem;
    text-align: center;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
    border-left: 0;
}

    .report-table--distributor-pricing thead th.report-sticky-action-cell[b-ybid0yn6jv] {
        z-index: 18;
        background: #ffffff;
        color: #64748b;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .report-table--distributor-pricing tbody tr:hover td.report-sticky-action-cell[b-ybid0yn6jv] {
        background: #fbfdff;
    }

/* Distributor Pricing Promotion Groups */
/* ---------------------------------------------------------
   Provides the second grouping level beneath Promotion Cycle,
   matching the Promotion Pricing Manufacturer / Promotion rows.
   --------------------------------------------------------- */

.report-distributor-pricing-group-row > td[b-ybid0yn6jv] {
    padding: 8px 12px 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

.report-table tbody tr.report-distributor-pricing-group-row:hover > td[b-ybid0yn6jv] {
    background: #f8fafc !important;
}

.report-distributor-pricing-group-header[b-ybid0yn6jv] {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 6px 12px 6px 14px;
    border: 1px solid rgba(56, 97, 163, 0.18);
    border-bottom: 1px solid rgba(56, 97, 163, 0.12);
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
}

.report-distributor-pricing-group-row--collapsed .report-distributor-pricing-group-header[b-ybid0yn6jv] {
    border-radius: 8px;
}

.report-distributor-pricing-group-title[b-ybid0yn6jv] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.report-distributor-pricing-group-sequence[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    min-height: 18px;
    padding: 1px 6px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.report-distributor-pricing-group-part[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-distributor-pricing-group-label[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 16px;
    padding: 1px 5px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 4px;
    background: #ffffff;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.report-distributor-pricing-group-value[b-ybid0yn6jv] {
    min-width: 0;
    overflow: hidden;
    color: #334155;
    font-size: 11.5px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-distributor-pricing-group-value--promotion[b-ybid0yn6jv] {
    color: #1d4ed8;
    font-weight: 750;
}

.report-distributor-pricing-group-separator[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9px;
    height: 16px;
    color: #b0bac8;
    font-size: 9px;
    line-height: 1;
}

    .report-distributor-pricing-group-separator .bi[b-ybid0yn6jv] {
        font-size: 10px;
        line-height: 1;
    }

.report-distributor-pricing-group-count[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 19px;
    padding: 2px 8px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

.report-distributor-pricing-group-row + tr td[b-ybid0yn6jv] {
    border-top: 0;
}

/* Distributor Pricing Detail Controls */
/* ---------------------------------------------------------
   Styles Manufacturer / Promotion bulk detail actions and
   row-level detail toggles with compact report-table controls.
   --------------------------------------------------------- */

.report-distributor-pricing-group-actions[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.report-distributor-pricing-group-action-link[b-ybid0yn6jv] {
    flex: 0 0 auto;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 6px;
    background: #ffffff;
    color: #2563eb;
    font-size: 10.5px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

    .report-distributor-pricing-group-action-link:hover[b-ybid0yn6jv] {
        border-color: rgba(37, 99, 235, 0.34);
        background: #f8fbff;
        color: #1d4ed8;
    }

    .report-distributor-pricing-group-action-link:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.18);
        outline-offset: 2px;
    }

/* Distributor Pricing Group Child Rows */
/* ---------------------------------------------------------
   Creates a contained Promotion-group boundary so the
   header, child rows, and optional detail row read as
   one owned section inside the Promotion Cycle.
   --------------------------------------------------------- */

.report-distributor-pricing-group-child-row > td[b-ybid0yn6jv],
.report-distributor-pricing-group-detail-row > td[b-ybid0yn6jv] {
    background: #ffffff !important;
    border-top: 0 !important;
}

    .report-distributor-pricing-group-child-row > td:first-child[b-ybid0yn6jv],
    .report-distributor-pricing-group-detail-row > td:first-child[b-ybid0yn6jv] {
        position: relative;
        border-left: 0;
        padding-left: 26px !important;
    }

        .report-distributor-pricing-group-child-row > td:first-child[b-ybid0yn6jv]::before,
        .report-distributor-pricing-group-detail-row > td:first-child[b-ybid0yn6jv]::before {
            content: "";
            position: absolute;
            left: 12px;
            top: 0;
            bottom: 0;
            width: 1px;
            background: rgba(56, 97, 163, 0.18);
            pointer-events: none;
        }

    .report-distributor-pricing-group-child-row > td:last-child[b-ybid0yn6jv],
    .report-distributor-pricing-group-detail-row > td:last-child[b-ybid0yn6jv] {
        position: relative;
        border-right: 0;
        padding-right: 26px !important;
    }

        .report-distributor-pricing-group-child-row > td:last-child[b-ybid0yn6jv]::after,
        .report-distributor-pricing-group-detail-row > td:last-child[b-ybid0yn6jv]::after {
            content: "";
            position: absolute;
            right: 12px;
            top: 0;
            bottom: 0;
            width: 1px;
            background: rgba(56, 97, 163, 0.12);
            pointer-events: none;
        }

.report-distributor-pricing-group-child-row > td[b-ybid0yn6jv] {
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
}

    .report-distributor-pricing-group-child-row > td:first-child[b-ybid0yn6jv] {
        border-bottom: 0;
        background: linear-gradient(to right, transparent 0, transparent 12px, rgba(226, 232, 240, 0.92) 12px, rgba(226, 232, 240, 0.92) 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

    .report-distributor-pricing-group-child-row > td:last-child[b-ybid0yn6jv] {
        border-bottom: 0;
        background: linear-gradient(to right, rgba(226, 232, 240, 0.92) 0, rgba(226, 232, 240, 0.92) calc(100% - 12px), transparent calc(100% - 12px), transparent 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

/* Promotion Group to Cycle Spacing */
/* ---------------------------------------------------------
   Adds visual separation after the final Manufacturer /
   Promotion group before the next Promotion Cycle begins.
   --------------------------------------------------------- */

.report-distributor-pricing-group-child-row--last + .report-distributor-pricing-cycle-row > td[b-ybid0yn6jv],
.report-distributor-pricing-group-detail-row--last + .report-distributor-pricing-cycle-row > td[b-ybid0yn6jv],
.report-distributor-pricing-group-row--collapsed + .report-distributor-pricing-cycle-row > td[b-ybid0yn6jv] {
    border-top: 8px solid #ffffff !important;
}

.report-distributor-pricing-group-child-row--last > td[b-ybid0yn6jv] {
    border-bottom: 0;
}

    .report-distributor-pricing-group-child-row--last > td:first-child[b-ybid0yn6jv] {
        background: linear-gradient(to right, transparent 0, transparent 21px, rgba(56, 97, 163, 0.18) 21px, rgba(56, 97, 163, 0.18) 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

        .report-distributor-pricing-group-child-row--last > td:first-child[b-ybid0yn6jv]::before {
            display: none;
        }

        .report-distributor-pricing-group-child-row--last > td:first-child[b-ybid0yn6jv]::after {
            content: "";
            position: absolute;
            left: 12px;
            top: 0;
            bottom: 0;
            width: 9px;
            border-left: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom-left-radius: 8px;
            pointer-events: none;
        }

    .report-distributor-pricing-group-child-row--last > td:last-child[b-ybid0yn6jv] {
        background: linear-gradient(to right, rgba(56, 97, 163, 0.18) 0, rgba(56, 97, 163, 0.18) calc(100% - 21px), transparent calc(100% - 21px), transparent 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

        .report-distributor-pricing-group-child-row--last > td:last-child[b-ybid0yn6jv]::after {
            display: none;
        }

        .report-distributor-pricing-group-child-row--last > td:last-child[b-ybid0yn6jv]::before {
            content: "";
            position: absolute;
            right: 12px;
            top: 0;
            bottom: 0;
            width: 9px;
            border-right: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom-right-radius: 8px;
            pointer-events: none;
        }

.report-distributor-pricing-group-detail-row > td[b-ybid0yn6jv] {
    border-left: 0;
    border-right: 0;
}

.report-distributor-pricing-group-detail-row--last > td[b-ybid0yn6jv] {
    border-bottom: 1px solid rgba(56, 97, 163, 0.18);
}

    .report-distributor-pricing-group-detail-row--last > td:first-child[b-ybid0yn6jv] {
        border-bottom-left-radius: 10px;
    }

    .report-distributor-pricing-group-detail-row--last > td:last-child[b-ybid0yn6jv] {
        border-bottom-right-radius: 10px;
    }

/* Worksheet type badges */
.report-worksheet-badge[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.report-worksheet-badge--prepack[b-ybid0yn6jv] {
    background: rgba(63, 111, 159, 0.12);
    color: rgb(63, 111, 159);
    border: 1px solid rgba(63, 111, 159, 0.16);
}

.report-worksheet-badge--openstock[b-ybid0yn6jv] {
    background: rgba(142, 59, 103, 0.10);
    color: rgb(142, 59, 103);
    border: 1px solid rgba(142, 59, 103, 0.16);
}

.report-cell-number[b-ybid0yn6jv] {
    text-align: right;
}

.report-table-action-cell[b-ybid0yn6jv] {
    text-align: left;
}

.report-detail-row td[b-ybid0yn6jv] {
    padding: 0 7px 10px;
    background: #fff;
    border-top: 0;
}

.report-detail-panel[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: minmax(0, 675px) minmax(260px, 360px);
    justify-content: start;
    gap: 10px;
    max-width: 1050px;
    padding: 10px;
    border: 1px solid rgba(29, 58, 109, 0.12);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.report-detail-section[b-ybid0yn6jv] {
    min-width: 0;
}

.report-detail-section-title[b-ybid0yn6jv] {
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-700);
}

/* Expanded Distributor Pricing context */
/* ---------------------------------------------------------
   Shows projected, working, submitted, returned, or final
   calculation context together with item participation.
   --------------------------------------------------------- */
.report-detail-section-title-row[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

    .report-detail-section-title-row .report-detail-section-title[b-ybid0yn6jv] {
        margin-bottom: 0;
        flex: 0 0 auto;
    }

.report-detail-context-badges[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-width: 0;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

.report-detail-grid[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: repeat(5, minmax(92px, 1fr));
    gap: 7px;
}

.report-detail-item[b-ybid0yn6jv] {
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #fff;
}

.report-detail-label[b-ybid0yn6jv] {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-500);
}

.report-detail-value[b-ybid0yn6jv] {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-900);
}

.report-detail-notes-grid[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

.report-detail-note[b-ybid0yn6jv] {
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #fff;
}

.report-detail-note-value[b-ybid0yn6jv] {
    display: block;
    min-height: 18px;
    max-height: 68px;
    overflow: auto;
    color: var(--text-900);
    font-size: 12px;
    line-height: 1.4;
    white-space: pre-wrap;
}

/* Status and empty states */

.report-status-badge-distributor-pricing[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    min-width: 75px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.report-empty-state[b-ybid0yn6jv] {
    padding: 18px;
    color: var(--text-600);
    font-size: 13px;
}

/* Distributor Pricing participation badges */
/* ---------------------------------------------------------
   Shows Distributor and item-specific participation in collapsed
   rows for compact WAM Admin review.
   --------------------------------------------------------- */
.report-participation-badge[b-ybid0yn6jv],
.report-context-badge[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.report-participation-badge--participating[b-ybid0yn6jv] {
    background: rgba(91, 196, 191, 0.16);
    color: #206a66;
    border: 1px solid rgba(91, 196, 191, 0.18);
}

.report-participation-badge--pending[b-ybid0yn6jv] {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
    border: 1px solid rgba(100, 116, 139, 0.14);
}

.report-participation-badge--not-participating[b-ybid0yn6jv] {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.report-participation-badge--needs-attention[b-ybid0yn6jv] {
    background: rgba(245, 158, 11, 0.14);
    color: #9a5b00;
    border: 1px solid rgba(245, 158, 11, 0.22);
}

/* Calculation context badges */
/* ---------------------------------------------------------
   Clarifies projected, working-draft, submitted, returned,
   final-approved, cancelled, and default calculation states.
   --------------------------------------------------------- */
.report-context-badge--projected[b-ybid0yn6jv] {
    background: rgba(59, 130, 246, 0.10);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.16);
}

.report-context-badge--working[b-ybid0yn6jv] {
    background: rgba(245, 158, 11, 0.14);
    color: #9a5b00;
    border: 1px solid rgba(245, 158, 11, 0.22);
}

.report-context-badge--submitted[b-ybid0yn6jv] {
    background: rgba(91, 196, 191, 0.16);
    color: #206a66;
    border: 1px solid rgba(91, 196, 191, 0.18);
}

.report-context-badge--returned[b-ybid0yn6jv] {
    background: rgba(241, 95, 87, 0.12);
    color: #9d423c;
    border: 1px solid rgba(241, 95, 87, 0.18);
}

.report-context-badge--final[b-ybid0yn6jv] {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.18);
}

.report-context-badge--cancelled[b-ybid0yn6jv],
.report-context-badge--default[b-ybid0yn6jv] {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
    border: 1px solid rgba(100, 116, 139, 0.14);
}

/* Report pager */

.report-pager[b-ybid0yn6jv] {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
    flex-wrap: wrap;
}

.report-pager-meta[b-ybid0yn6jv] {
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 500;
}

.report-pager-actions[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.report-pager-page[b-ybid0yn6jv] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

/* Future report placeholders */
.report-content-card--auto > .report-placeholder-card[b-ybid0yn6jv] {
    align-self: start;
    margin: 14px;
}

.report-placeholder-card[b-ybid0yn6jv] {
    padding: 18px 18px 16px;
    border: 1px dashed rgba(29, 58, 109, 0.18);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(29, 58, 109, 0.025), rgba(91, 196, 191, 0.02));
}

.report-placeholder-title[b-ybid0yn6jv] {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--text-900);
}

.report-placeholder-text[b-ybid0yn6jv] {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-600);
}

/* Shared report modal shell */
/* ---------------------------------------------------------
   Provides fixed overlay primitives for report-level actions.
   Keeps modal content above the report workspace and prevents
   table scroll regions from clipping modal content.
   --------------------------------------------------------- */

.report-modal-backdrop[b-ybid0yn6jv] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.46);
    backdrop-filter: blur(1px);
}

.report-modal-shell[b-ybid0yn6jv] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.report-modal-card[b-ybid0yn6jv] {
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 72px rgba(15, 23, 42, 0.24);
}

.report-modal-header[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

.report-modal-title[b-ybid0yn6jv] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
}

.report-modal-subtitle[b-ybid0yn6jv] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
    line-height: 1.35;
}

.report-modal-body[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 20px;
    overflow: auto;
}

.report-modal-footer[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px 14px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

/* Report modal download progress */
.report-modal-footer-progress[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 16px;
}

.report-download-progress[b-ybid0yn6jv] {
    width: min(360px, 100%);
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.24);
}

.report-download-progress-bar[b-ybid0yn6jv] {
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1d4ed8, #3b82f6, #1d4ed8);
    animation: report-download-progress-slide-b-ybid0yn6jv 1.05s ease-in-out infinite;
}

.report-download-progress-text[b-ybid0yn6jv] {
    margin-top: 6px;
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 600;
}

.report-image-selection-download-button[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

    .report-image-selection-download-button .bi[b-ybid0yn6jv] {
        font-size: 14px;
        line-height: 1;
    }

@keyframes report-download-progress-slide-b-ybid0yn6jv {
    0% {
        transform: translateX(-115%);
    }

    100% {
        transform: translateX(260%);
    }
}

/* Distributor Pricing image selection modal */
/* ---------------------------------------------------------
   Supports WAM Admin review and selection of Product Catalog
   image assets connected to the current final Distributor
   Pricing report, including ZIP download progress.
   --------------------------------------------------------- */

.report-image-selection-modal[b-ybid0yn6jv] {
    width: min(1080px, calc(100vw - 64px));
}

.report-image-selection-body[b-ybid0yn6jv] {
    min-height: 0;
    max-height: calc(100vh - 190px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.report-image-selection-summary[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #f8fafc;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 700;
}

.report-image-selection-list[b-ybid0yn6jv] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.report-image-selection-item[b-ybid0yn6jv] {
    padding: 10px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 12px;
    background: #ffffff;
}

.report-image-selection-item-header[b-ybid0yn6jv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.report-image-selection-item-title[b-ybid0yn6jv] {
    color: var(--text-900, #0f172a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.report-image-selection-item-meta[b-ybid0yn6jv] {
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 11.5px;
    line-height: 1.3;
}

.report-image-selection-item-count[b-ybid0yn6jv] {
    flex: 0 0 auto;
    color: var(--text-500, #64748b);
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.report-image-selection-assets[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.report-image-selection-card[b-ybid0yn6jv] {
    min-width: 0;
    display: grid;
    grid-template-columns: auto 50px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 8px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #f8fafc;
    cursor: pointer;
}

.report-image-selection-thumb-wrap[b-ybid0yn6jv],
.report-image-selection-thumb-empty[b-ybid0yn6jv] {
    width: 50px;
    height: 50px;
}

.report-image-selection-thumb[b-ybid0yn6jv] {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 8px;
    background: #ffffff;
    object-fit: contain;
}

.report-image-selection-thumb-empty[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(100, 116, 139, 0.28);
    border-radius: 8px;
    background: #ffffff;
    color: var(--text-500, #64748b);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

.report-image-selection-copy[b-ybid0yn6jv] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.report-image-selection-image-title[b-ybid0yn6jv] {
    display: block;
    max-width: 100%;
    min-width: 0;
    color: var(--text-900, #0f172a);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-title-tooltip[b-ybid0yn6jv] {
    position: relative;
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}

.report-image-selection-image-meta[b-ybid0yn6jv] {
    color: var(--text-600, #475569);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.report-image-selection-image-meta-preferred-label[b-ybid0yn6jv] {
    color: #64748b;
    font-weight: 800;
}

.report-image-selection-image-meta-selected[b-ybid0yn6jv] {
    color: #15803d;
    font-weight: 850;
}

.report-image-selection-file[b-ybid0yn6jv] {
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

/* Missing image guidance */
.report-image-selection-missing[b-ybid0yn6jv] {
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px dashed rgba(148, 163, 184, 0.75);
    border-radius: 10px;
    background: #f8fafc;
}

.report-image-selection-missing-title[b-ybid0yn6jv] {
    color: #334155;
    font-size: 13px;
    font-weight: 800;
}

.report-image-selection-missing-text[b-ybid0yn6jv] {
    margin-top: 2px;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

/* Image selection toolbar */
.report-image-selection-summary--toolbar[b-ybid0yn6jv] {
    flex: 0 0 auto;
    align-items: center;
    margin-bottom: 10px;
    background: #f8fafc;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.055);
}

.report-image-selection-summary-counts[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.report-image-selection-toolbar-actions[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
}

.report-image-selection-toolbar-button[b-ybid0yn6jv] {
    appearance: none;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 11.75px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.report-image-selection-toolbar-button--context[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.report-image-selection-toolbar-label[b-ybid0yn6jv] {
    color: #64748b;
    font-weight: 800;
}

.report-image-selection-toolbar-button:disabled[b-ybid0yn6jv] {
    color: #94a3b8;
    cursor: not-allowed;
    text-decoration: none;
}

    .report-image-selection-toolbar-button:disabled .report-image-selection-toolbar-label[b-ybid0yn6jv] {
        color: #94a3b8;
    }

.report-image-selection-toolbar-button:hover[b-ybid0yn6jv],
.report-image-selection-toolbar-button:focus-visible[b-ybid0yn6jv] {
    color: #173a78;
    text-decoration: underline;
}

.report-image-selection-toolbar-button--muted[b-ybid0yn6jv] {
    color: #64748b;
}

.report-image-selection-toolbar-divider[b-ybid0yn6jv] {
    width: 1px;
    height: 14px;
    background: rgba(100, 116, 139, 0.28);
}

.report-image-selection-list--compact[b-ybid0yn6jv] {
    gap: 5px;
}

.report-image-selection-list-scroll[b-ybid0yn6jv] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 8px 10px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
    scrollbar-gutter: stable;
}

/* Final Book image-selection groups */

.report-image-selection-group[b-ybid0yn6jv] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

    .report-image-selection-group + .report-image-selection-group[b-ybid0yn6jv] {
        margin-top: 5px;
    }

.report-image-selection-group-header[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 34px;
    padding: 7px 10px;
    border-top: 1px solid rgba(37, 99, 235, 0.12);
    border-bottom: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 0;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.96), rgba(248, 251, 255, 0.98));
}

.report-image-selection-group-title[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-group-title-part[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-group-title-label[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 17px;
    padding: 1px 6px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.74);
    color: #64748b;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.report-image-selection-group-title-value[b-ybid0yn6jv] {
    min-width: 0;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-group-title-part[b-ybid0yn6jv],
.report-image-selection-group-title-separator[b-ybid0yn6jv] {
    transform: translateY(-1px);
}

.report-image-selection-group-title-part--manufacturer .report-image-selection-group-title-value[b-ybid0yn6jv] {
    color: #0f172a;
    font-weight: 850;
}

.report-image-selection-group-title-part--promotion .report-image-selection-group-title-value[b-ybid0yn6jv] {
    color: #1d4ed8;
    font-weight: 850;
}

.report-image-selection-group-title-separator[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #94a3b8;
    font-size: 10px;
    line-height: 1;
}

    .report-image-selection-group-title-separator .bi[b-ybid0yn6jv] {
        font-size: 10px;
        line-height: 1;
    }

.report-image-selection-group-summary[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

    .report-image-selection-group-summary span[b-ybid0yn6jv] {
        display: inline-flex;
        align-items: center;
        min-height: 22px;
        padding: 2px 9px;
        border: 1px solid rgba(37, 99, 235, 0.14);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.92);
        color: #334155;
        font-size: 11px;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
    }

.report-image-selection-group-body[b-ybid0yn6jv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
}

/* Final Book image-selection item rows */

.report-image-selection-row[b-ybid0yn6jv] {
    border: 1px solid rgba(37, 99, 235, 0.10);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.035);
    overflow: visible;
}

    .report-image-selection-row + .report-image-selection-row[b-ybid0yn6jv] {
        margin-top: 0;
    }

.report-image-selection-row--expanded[b-ybid0yn6jv] {
    border-color: rgba(37, 99, 235, 0.24);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(239, 246, 255, 0.74));
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, 0.24), 0 10px 24px rgba(15, 23, 42, 0.055);
}

.report-image-selection-row-main[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: 26px 54px minmax(390px, 1fr) minmax(132px, 160px) 78px 138px;
    gap: 12px;
    align-items: center;
    min-height: 68px;
    padding: 8px 12px;
}

.report-image-selection-row-check[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.report-image-selection-row-thumb[b-ybid0yn6jv] {
    width: 54px;
    height: 54px;
}

.report-image-selection-row-image[b-ybid0yn6jv],
.report-image-selection-row-image-empty[b-ybid0yn6jv] {
    width: 54px;
    height: 54px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 8px;
    background: #ffffff;
}

.report-image-selection-row-image[b-ybid0yn6jv] {
    object-fit: contain;
}

.report-image-selection-row-image-empty[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
}

.report-image-selection-row-copy[b-ybid0yn6jv] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.report-image-selection-row-title[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #0f172a;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    white-space: nowrap;
}

.report-image-selection-row-code-group[b-ybid0yn6jv] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.report-image-selection-row-title-separator[b-ybid0yn6jv] {
    flex: 0 0 auto;
    width: 1px;
    height: 18px;
    background: rgba(148, 163, 184, 0.38);
}

.report-image-selection-row-mfg-entity[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
}

.report-image-selection-row-code-label[b-ybid0yn6jv] {
    color: #64748b;
    font-size: 10.25px;
    font-weight: 850;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.report-image-selection-row-code[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 1px 6px;
    border-radius: 6px;
    font-size: 11.25px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.report-image-selection-row-code--distributor[b-ybid0yn6jv] {
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.14);
}

.report-image-selection-row-code--manufacturer[b-ybid0yn6jv] {
    background: rgba(100, 116, 139, 0.08);
    color: #334155;
    box-shadow: inset 0 0 0 1px rgba(100, 116, 139, 0.16);
}

.report-image-selection-row-description[b-ybid0yn6jv] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-row-meta[b-ybid0yn6jv] {
    color: #64748b;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.25;
}

.report-image-selection-row-file[b-ybid0yn6jv] {
    color: #6b7a90;
    font-size: 10.5px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-image-selection-row-badges[b-ybid0yn6jv] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.report-image-selection-preferred-text[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-width: 0;
    color: #64748b;
    font-size: 11.25px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.report-image-selection-preferred-label[b-ybid0yn6jv] {
    color: #64748b;
    font-weight: 800;
}

.report-image-selection-preferred-value[b-ybid0yn6jv] {
    color: #1d4ed8;
    font-weight: 850;
}

.report-image-selection-source-badge[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 21px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10.75px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.report-image-selection-source-badge--missing[b-ybid0yn6jv] {
    background: rgba(239, 68, 68, 0.10);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.18);
}

.report-image-selection-row-selected[b-ybid0yn6jv] {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    text-align: right;
}

.report-image-selection-row-action[b-ybid0yn6jv] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.report-image-selection-show-button[b-ybid0yn6jv] {
    appearance: none;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    max-width: 100%;
    color: #1d4ed8;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

    .report-image-selection-show-button:hover[b-ybid0yn6jv],
    .report-image-selection-show-button:focus-visible[b-ybid0yn6jv] {
        color: #173a78;
        text-decoration: underline;
    }

/* Final Book item-level asset options */

.report-image-selection-expanded[b-ybid0yn6jv] {
    margin: 0 10px 10px 90px;
    padding: 10px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.report-image-selection-expanded-title[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: #334155;
    font-size: 11.5px;
    font-weight: 850;
    letter-spacing: 0.015em;
}

.report-image-selection-expanded-hint[b-ybid0yn6jv] {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}

    .report-image-selection-expanded-hint[b-ybid0yn6jv]::before {
        content: "·";
        margin-right: 6px;
        color: #94a3b8;
    }

.report-image-selection-assets--compact[b-ybid0yn6jv] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-image-selection-card--compact[b-ybid0yn6jv] {
    grid-template-columns: auto 46px minmax(0, 1fr);
    min-height: 62px;
    border-color: rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

.report-image-selection-card--selected[b-ybid0yn6jv] {
    border-color: rgba(37, 99, 235, 0.42);
    background: rgba(239, 246, 255, 0.92);
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, 0.42);
}

.report-image-selection-missing--compact[b-ybid0yn6jv] {
    margin: 0 10px 10px 90px;
}

.report-image-selection-thumb-button[b-ybid0yn6jv] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

    .report-image-selection-thumb-button:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.38);
        outline-offset: 2px;
        border-radius: 8px;
    }

.report-image-selection-hover-preview[b-ybid0yn6jv] {
    position: absolute;
    left: calc(100% + 12px);
    top: 0;
    z-index: 1090;
    display: none;
    width: 200px;
    height: 200px;
    padding: 8px;
    border: 1px solid rgba(25, 35, 68, 0.14);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    transform: none;
    pointer-events: none;
}

.report-image-selection-row:last-child .report-image-selection-hover-preview[b-ybid0yn6jv] {
    top: auto;
    bottom: 0;
}

.report-image-selection-hover-preview img[b-ybid0yn6jv] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.report-image-selection-thumb-button:hover .report-image-selection-hover-preview[b-ybid0yn6jv],
.report-image-selection-thumb-button:focus-visible .report-image-selection-hover-preview[b-ybid0yn6jv] {
    display: block;
}

/* Image asset detail modal */
.report-modal-backdrop--image-detail[b-ybid0yn6jv] {
    z-index: 1070;
    background: rgba(15, 23, 42, 0.32);
}

.report-modal-shell--image-detail[b-ybid0yn6jv] {
    z-index: 1080;
}

.report-image-detail-modal[b-ybid0yn6jv] {
    width: min(840px, calc(100vw - 72px));
}

.report-image-detail-layout[b-ybid0yn6jv] {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.report-image-detail-preview[b-ybid0yn6jv] {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.report-image-detail-image[b-ybid0yn6jv] {
    width: 100%;
    height: 260px;
    object-fit: contain;
}

.report-image-detail-empty[b-ybid0yn6jv] {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.report-image-detail-fields[b-ybid0yn6jv] {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.report-image-detail-field[b-ybid0yn6jv] {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #ffffff;
}

.report-image-detail-field--wide[b-ybid0yn6jv] {
    grid-column: 1 / -1;
}

.report-image-detail-label[b-ybid0yn6jv] {
    margin-bottom: 4px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.report-image-detail-value[b-ybid0yn6jv] {
    color: #0f172a;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Report expand and collapse commands */
/* ---------------------------------------------------------
   Provides one compact link-action treatment for report-level
   and row-level expansion while preserving sticky action cells.
   --------------------------------------------------------- */

.report-expand-command[b-ybid0yn6jv] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--link-600, #2563eb);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s ease;
}

    .report-expand-command i[b-ybid0yn6jv] {
        width: 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: currentColor;
        font-size: 11px;
        line-height: 1;
    }

    .report-expand-command:hover[b-ybid0yn6jv] {
        color: var(--link-700, #1d4ed8);
        background: transparent;
    }

        .report-expand-command:hover span[b-ybid0yn6jv] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .report-expand-command:focus[b-ybid0yn6jv],
    .report-expand-command:active[b-ybid0yn6jv] {
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .report-expand-command:focus-visible[b-ybid0yn6jv] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

.report-expand-command--all[b-ybid0yn6jv],
.report-expand-command--row[b-ybid0yn6jv] {
    margin-left: auto;
}


/* Responsive behavior */

@container (max-width: 860px) {
    .report-image-selection-assets[b-ybid0yn6jv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .report-image-detail-layout[b-ybid0yn6jv] {
        grid-template-columns: 1fr;
    }

    .report-image-detail-preview[b-ybid0yn6jv],
    .report-image-detail-image[b-ybid0yn6jv] {
        min-height: 220px;
        height: 220px;
    }
}

@container (max-width: 980px) {
    .report-image-selection-row-main[b-ybid0yn6jv] {
        grid-template-columns: 26px 54px minmax(180px, 1fr) 1fr;
    }

    .report-image-selection-row-badges[b-ybid0yn6jv],
    .report-image-selection-row-selected[b-ybid0yn6jv],
    .report-image-selection-row-action[b-ybid0yn6jv] {
        grid-column: 3 / -1;
    }

    .report-image-selection-row-selected[b-ybid0yn6jv] {
        text-align: left;
    }

    .report-image-selection-assets--compact[b-ybid0yn6jv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1240px) {
    .report-filters-grid[b-ybid0yn6jv] {
        grid-template-columns: repeat(3, minmax(160px, 1fr));
    }

    .report-filter-control--search[b-ybid0yn6jv] {
        grid-column: 1 / -1;
    }
}

@container (max-width: 980px) {
    .report-detail-panel[b-ybid0yn6jv] {
        grid-template-columns: 1fr;
    }

    .report-detail-grid[b-ybid0yn6jv] {
        grid-template-columns: repeat(2, minmax(95px, 1fr));
    }
}

@media (max-width: 900px) {
    .report-filters-grid[b-ybid0yn6jv] {
        grid-template-columns: 1fr;
    }

    .report-filter-control--search[b-ybid0yn6jv] {
        grid-column: auto;
    }
}
/* /Components/Pages/Admin/UserAccessManagement.razor.rz.scp.css */
/* =========================================================
   UserAccessManagement.razor.css
   ---------------------------------------------------------
   Scope:
   - Users page shell
   - Summary cards
   - Manage Users card shell
   - Invite Users modal
   - Queue layout
   - Toolbar / filters
   - Users table
   - Sort controls
   - Sticky Actions column
   - Pager
   - Responsive layout
   ========================================================= */


/* =========================================================
   Page shell
   ========================================================= */

.ua-page[b-e3sr4zjg04] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 2px;
  overflow: hidden;
  container-type: inline-size;
  container-name: ua-page;
}

.ua-workspace[b-e3sr4zjg04] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.ua-header[b-e3sr4zjg04] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.ua-header-copy[b-e3sr4zjg04] {
  min-width: 0;
  flex: 1 1 auto;
}

.ua-header-actions[b-e3sr4zjg04] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.ua-title[b-e3sr4zjg04] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-900);
}

.ua-subtitle[b-e3sr4zjg04] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500);
}

.ua-primary-button[b-e3sr4zjg04] {
  min-width: 150px;
  min-height: 30px;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 600;
}

/* =========================================================
   Companies + Users module tabs
   ---------------------------------------------------------
   Compact left-aligned pill navigation for switching between
   company and user administration workspaces. Match the
   Reports and Books tab behavior while using a wider tab
   width for this two-option administration module.
   ========================================================= */

.companies-users-tabs[b-e3sr4zjg04] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 999px;
  background: #f8fafc;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  min-width: 0;
  flex-wrap: wrap;
}

  /* NavLink renders an anchor from inside another component, so ::deep is required. */
  .companies-users-tabs[b-e3sr4zjg04]  a.companies-users-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    min-width: 150px;
    padding: 0 18px;
    border-radius: 999px;
    color: var(--text-600, #475569);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
  }

    .companies-users-tabs[b-e3sr4zjg04]  a.companies-users-tab:hover {
      color: #1d3a6d;
      background: rgba(37, 99, 235, 0.06);
      text-decoration: none;
    }

    .companies-users-tabs[b-e3sr4zjg04]  a.companies-users-tab.active {
      background: #fff;
      color: #1d4ed8;
      box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
    }

    .companies-users-tabs[b-e3sr4zjg04]  a.companies-users-tab:focus-visible {
      outline: none;
      box-shadow: var(--focus-ring);
    }

/* =========================================================
   Summary cards
   ========================================================= */

.ua-summary-strip[b-e3sr4zjg04] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ua-summary-card[b-e3sr4zjg04] {
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
}

.ua-summary-card-button[b-e3sr4zjg04] {
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

  .ua-summary-card-button:hover[b-e3sr4zjg04] {
    border-color: rgba(29, 58, 109, 0.18);
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .ua-summary-card-button.is-active[b-e3sr4zjg04] {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .ua-summary-card-button:focus-visible[b-e3sr4zjg04] {
    outline: none;
    box-shadow: var(--focus-ring);
  }

.ua-summary-label[b-e3sr4zjg04] {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-600);
}

.ua-summary-value[b-e3sr4zjg04] {
  margin: 0;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  color: var(--text-900);
}

.ua-summary-meta[b-e3sr4zjg04] {
  margin-top: 6px;
  font-size: 12px;
  color: var(--text-500);
}

.ua-summary-card--neutral[b-e3sr4zjg04] {
  border-color: rgba(117, 140, 167, 0.22);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.ua-summary-card--info[b-e3sr4zjg04] {
  border-color: rgba(117, 140, 167, 0.24);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.ua-summary-card--success[b-e3sr4zjg04] {
  border-color: rgba(91, 196, 191, 0.38);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.ua-summary-card--warning[b-e3sr4zjg04] {
  border-color: rgba(250, 169, 75, 0.32);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.ua-summary-card--neutral.is-active[b-e3sr4zjg04] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.ua-summary-card--info.is-active[b-e3sr4zjg04] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.ua-summary-card--success.is-active[b-e3sr4zjg04] {
  border-color: rgba(91, 196, 191, 0.48);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.ua-summary-card--warning.is-active[b-e3sr4zjg04] {
  border-color: rgba(250, 169, 75, 0.42);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

/* =========================================================
   Shared card shell
   ========================================================= */

.ua-card[b-e3sr4zjg04] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200);
  border-radius: 18px;
  /*box-shadow: var(--shadow-1);*/
  overflow: hidden;
  margin-bottom: 0;
  padding: 0;
}

.ua-card-header[b-e3sr4zjg04] {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 0;
}

.ua-card-title[b-e3sr4zjg04] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-900);
}

.ua-card-subtitle[b-e3sr4zjg04] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500);
}

/* =========================================================
   Manage Users list card
   ========================================================= */

.ua-manage-section[b-e3sr4zjg04] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ua-manage-card[b-e3sr4zjg04] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ua-panel-header[b-e3sr4zjg04] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.ua-panel-header-copy[b-e3sr4zjg04] {
  min-width: 0;
  flex: 1 1 auto;
}

.ua-panel-header-actions[b-e3sr4zjg04] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.ua-access-body[b-e3sr4zjg04] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  margin-bottom: 5px;
  padding-bottom: 14px;
}

.ua-state[b-e3sr4zjg04] {
  padding: 18px 16px;
  color: var(--text-600);
}

/* =========================================================
   Toolbar / filters
   ========================================================= */

.ua-controls[b-e3sr4zjg04] {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 160px 140px 88px;
  gap: 10px;
  align-items: end;
  padding: 14px 12px 0;
  margin-bottom: 0;
  flex: 0 0 auto;
}

.ua-control[b-e3sr4zjg04] {
  min-width: 0;
}

.ua-control-label[b-e3sr4zjg04] {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

.ua-search[b-e3sr4zjg04],
.ua-select[b-e3sr4zjg04],
.ua-page-size[b-e3sr4zjg04] {
  width: 100%;
  min-height: 38px;
}

/* =========================================================
   Table shell
   ========================================================= */

.ua-table-region[b-e3sr4zjg04] {
  min-height: 0;
  height: 100%;
  margin: 12px 12px 0;
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.ua-table-wrap[b-e3sr4zjg04] {
  min-height: 0;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #fff;
}

  .ua-table-wrap.table-responsive[b-e3sr4zjg04] {
    margin-bottom: 0;
  }

.ua-table[b-e3sr4zjg04] {
  width: 100%;
  min-width: 1040px;
  margin-bottom: 0;
  vertical-align: middle;
  table-layout: fixed;
}

  .ua-table thead th[b-e3sr4zjg04] {
    position: sticky;
    top: 0;
    z-index: 12;
    background: #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-500);
    border-bottom: 0;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
  }

  .ua-table tbody td[b-e3sr4zjg04] {
    padding-top: 10px;
    padding-bottom: 10px;
    border-color: rgba(25, 35, 68, 0.08);
    color: var(--text-900);
    vertical-align: top;
  }

  .ua-table tbody tr:hover td[b-e3sr4zjg04] {
    background: rgba(25, 35, 68, 0.018);
  }

  .ua-table thead th:first-child[b-e3sr4zjg04],
  .ua-table tbody td:first-child[b-e3sr4zjg04] {
    padding-left: 10px;
  }

  .ua-table thead th:last-child[b-e3sr4zjg04],
  .ua-table tbody td:last-child[b-e3sr4zjg04] {
    padding-right: 10px;
  }

/* =========================================================
   Sort controls
   ========================================================= */

.ua-sort-button[b-e3sr4zjg04] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .ua-sort-button:hover[b-e3sr4zjg04],
  .ua-sort-button.ua-sort-button--active[b-e3sr4zjg04] {
    color: #2563eb;
  }

.ua-sort-indicator[b-e3sr4zjg04] {
  color: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

/* =========================================================
   Column sizing / behavior
   ========================================================= */

.ua-col-email[b-e3sr4zjg04] {
  width: 290px;
  min-width: 290px;
}

.ua-col-company[b-e3sr4zjg04] {
  width: 150px;
  min-width: 150px;
}

.ua-col-role[b-e3sr4zjg04] {
  width: 118px;
  min-width: 118px;
}

.ua-col-invited[b-e3sr4zjg04] {
  width: 148px;
  min-width: 148px;
}

.ua-col-stage[b-e3sr4zjg04] {
  width: 160px;
  min-width: 160px;
}

.ua-col-status[b-e3sr4zjg04] {
  width: 112px;
  min-width: 112px;
}

.ua-col-actions[b-e3sr4zjg04] {
  width: 94px;
  min-width: 94px;
}

.ua-table td.ua-col-company[b-e3sr4zjg04],
.ua-table td.ua-col-role[b-e3sr4zjg04] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ua-table th.ua-col-email[b-e3sr4zjg04],
.ua-table td.ua-col-email[b-e3sr4zjg04] {
  vertical-align: top;
}

.ua-table td.ua-col-role[b-e3sr4zjg04],
.ua-table td.ua-col-invited[b-e3sr4zjg04],
.ua-table td.ua-col-stage[b-e3sr4zjg04],
.ua-table td.ua-col-status[b-e3sr4zjg04],
.ua-table td.ua-col-actions[b-e3sr4zjg04] {
  white-space: nowrap;
}

.ua-table th.ua-col-actions[b-e3sr4zjg04],
.ua-table td.ua-col-actions[b-e3sr4zjg04] {
  position: sticky;
  right: 0;
  text-align: left;
  white-space: nowrap;
  background: #fff;
}

.ua-table thead th.ua-col-actions[b-e3sr4zjg04] {
    z-index: 13;
    padding-left: 8px;
    padding-right: 8px;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.ua-table tbody td.ua-col-actions[b-e3sr4zjg04] {
  z-index: 2;
  padding-left: 8px;
  padding-right: 8px;
  box-shadow: none;
}

.ua-table tbody tr:hover td.ua-col-actions[b-e3sr4zjg04] {
  background: #fff;
}

/* =========================================================
   Row content
   ========================================================= */

.ua-empty[b-e3sr4zjg04] {
  text-align: center;
  color: var(--text-500, #667085);
  padding: 2rem 1rem !important;
}

/*Users images*/
.ua-user-cell[b-e3sr4zjg04] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ua-user-avatar[b-e3sr4zjg04] {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
  position: relative;
  z-index: 1;
}

.ua-user-avatar-fallback[b-e3sr4zjg04] {
  cursor: default;
}

    .ua-table tbody td.ua-col-email[b-e3sr4zjg04] {
      position: relative;
    }

    .ua-user-avatar-fallback[b-e3sr4zjg04] {
      background: rgba(13, 110, 253, 0.10);
      border: 1px solid rgba(13, 110, 253, 0.18);
      color: rgba(13, 110, 253, 0.85);
    }

      .ua-user-avatar-fallback .bi[b-e3sr4zjg04] {
        font-size: 14px;
        line-height: 1;
      }

    .ua-email-wrap[b-e3sr4zjg04] {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      min-width: 0;
    }

    .ua-email-primary[b-e3sr4zjg04] {
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-weight: 500;
      color: var(--text-900);
    }

    .ua-email-primary-updated[b-e3sr4zjg04] {
      color: #c27a2c;
    }

.ua-secondary[b-e3sr4zjg04] {
  max-width: 100%;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.32;
  color: var(--text-600);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

    .ua-secondary-info[b-e3sr4zjg04] {
      color: #1d4ed8;
      font-weight: 500;
    }

    .ua-local-date[b-e3sr4zjg04] {
      font-size: 0.84rem;
      color: rgba(25, 35, 68, 0.78);
    }

    .ua-stage-cell[b-e3sr4zjg04] {
      display: flex;
      flex-direction: column;
      line-height: 1.15;
    }

    .ua-stage-trigger[b-e3sr4zjg04] {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start;
      width: fit-content;
      max-width: max-content;
    }

    .ua-stage-time[b-e3sr4zjg04] {
      font-size: 0.82rem;
      color: #334155;
      white-space: nowrap;
    }

    .ua-stage-label[b-e3sr4zjg04] {
      margin-top: 0.15rem;
      font-size: 0.72rem;
      color: #94a3b8;
      white-space: nowrap;
    }

/* Re-invite History */
/* ---------------------------------------------------------
   Displays compact historical re-invite context beside the
   current invitation expiration label.
   --------------------------------------------------------- */

.ua-stage-label-row[b-e3sr4zjg04] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ua-reinvite-history-tooltip[b-e3sr4zjg04] {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.ua-reinvite-history-icon[b-e3sr4zjg04] {
    font-size: 11px;
    color: #6b84ad;
    cursor: help;
}

/* Expired Invite Stage */
/* ---------------------------------------------------------
   Highlights an invitation deadline after expiration while
   keeping the remaining user row presentation unchanged.
   --------------------------------------------------------- */

.ua-stage-trigger--expired .ua-stage-time[b-e3sr4zjg04],
.ua-stage-trigger--expired .ua-stage-label[b-e3sr4zjg04] {
    color: #b5474f;
    font-weight: 600;
}

   /* =========================================================
   Status badges
   ========================================================= */

    .ua-badge[b-e3sr4zjg04] {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 20px;
      min-width: 80px;
      padding: 0 6px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 600;
      white-space: nowrap;
      border: 1px solid transparent;
    }

    .ua-badge-inactive[b-e3sr4zjg04] {
      background: rgba(241, 95, 87, 0.14); /* soft red inactive background */
      color: #9d423c; /* muted red inactive text */
      border-color: transparent;
    }

    .ua-badge-active[b-e3sr4zjg04] {
      background: rgba(91, 196, 191, 0.18); /* soft teal active background */
      color: #206a66; /* dark teal active text */
      border-color: transparent;
    }

    .ua-badge-pending[b-e3sr4zjg04] {
      color: #8a6a12;
      background: rgba(255, 193, 7, 0.10);
      border-color: rgba(255, 193, 7, 0.18);
    }

    .ua-badge-sent[b-e3sr4zjg04] {
      color: #2f66b3;
      background: rgba(13, 110, 253, 0.07);
      border-color: rgba(13, 110, 253, 0.14);
    }

    .ua-badge-rejected[b-e3sr4zjg04] {
      color: #b5474f;
      background: rgba(220, 53, 69, 0.07);
      border-color: rgba(220, 53, 69, 0.14);
    }

    .ua-badge-expired[b-e3sr4zjg04],
    .ua-badge-canceled[b-e3sr4zjg04] {
      background: rgba(241, 95, 87, 0.14); /* soft red inactive background */
      color: #9d423c; /* muted red inactive text */
      border-color: transparent;
    }
    /* =========================================================
   Row actions
   ========================================================= */

    .ua-inline-actions[b-e3sr4zjg04] {
      width: 100%;
      min-height: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      padding: 0 8px;
      border-radius: 7px;
      background: #f3f6fb;
      box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
      white-space: nowrap;
      transition: background-color 0.15s ease, box-shadow 0.15s ease;
    }

    .ua-table tbody tr:hover .ua-inline-actions[b-e3sr4zjg04] {
      background: #edf4ff;
      box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
    }

    .ua-inline-action[b-e3sr4zjg04] {
      appearance: none;
      background: transparent;
      border: none;
      padding: 0;
      margin: 0;
      font: inherit;
      font-size: 12px;
      font-weight: 600;
      color: var(--link-600, #2563eb);
      cursor: pointer;
      line-height: 1.1;
      letter-spacing: 0;
    }

      .ua-inline-action:hover[b-e3sr4zjg04] {
        color: #1d4ed8;
        text-decoration: underline;
      }

      .ua-inline-action:focus-visible[b-e3sr4zjg04] {
        outline: none;
        box-shadow: none;
        text-decoration: underline;
        border-radius: 4px;
      }

    .ua-inline-action-approve[b-e3sr4zjg04] {
      color: #1f6f43;
    }

    .ua-inline-action-danger[b-e3sr4zjg04] {
      color: #dc2626;
    }

    .ua-action-sep[b-e3sr4zjg04] {
      display: inline-block;
      margin: 0 0.18rem;
      color: rgba(25, 35, 68, 0.35);
      user-select: none;
    }

    .ua-no-action[b-e3sr4zjg04] {
      color: rgba(25, 35, 68, 0.38);
    }
    /* =========================================================
   Pager
   ========================================================= */

    .ua-pager[b-e3sr4zjg04] {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 6px 14px 4px;
      background: #f8fafc;
      border-top: 1px solid rgba(25, 35, 68, 0.06);
      flex-wrap: wrap;
    }

    .ua-pager-meta[b-e3sr4zjg04] {
      font-size: 12px;
      color: var(--text-600);
    }

    .ua-pager-actions[b-e3sr4zjg04] {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .ua-pager-page[b-e3sr4zjg04] {
      min-width: 88px;
      text-align: center;
      font-size: 12px;
      font-weight: 600;
      color: var(--text-700, #334155);
    }
    /* =========================================================
   Invite modal shell
   ========================================================= */

    .ua-modal-backdrop[b-e3sr4zjg04] {
      position: fixed;
      inset: 0;
      z-index: 1040;
      background: rgba(15, 23, 42, 0.35);
    }

    .ua-modal[b-e3sr4zjg04] {
      position: fixed;
      inset: 0;
      z-index: 1050;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
    }

    .ua-modal-card[b-e3sr4zjg04] {
      width: min(1180px, calc(100vw - 2rem));
      max-height: calc(100vh - 2rem);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
      border: 1px solid rgba(25, 35, 68, 0.08);
    }

/* Re-invite Confirmation */
/* ---------------------------------------------------------
   Keeps the re-invite confirmation compact while reusing the
   existing Users modal shell and action styling.
   --------------------------------------------------------- */

.ua-modal-card--confirm[b-e3sr4zjg04] {
    width: min(520px, calc(100vw - 2rem));
}

.ua-reinvite-message[b-e3sr4zjg04] {
    margin: 0 0 14px;
    color: var(--text-600);
    font-size: 13px;
    line-height: 1.45;
}

.ua-reinvite-details[b-e3sr4zjg04] {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #f8fafc;
}

    .ua-reinvite-details > div[b-e3sr4zjg04] {
        display: grid;
        grid-template-columns: 80px minmax(0, 1fr);
        gap: 12px;
        align-items: baseline;
    }

    .ua-reinvite-details span[b-e3sr4zjg04] {
        color: var(--text-500);
        font-size: 12px;
    }

    .ua-reinvite-details strong[b-e3sr4zjg04] {
        min-width: 0;
        color: var(--text-900);
        font-size: 13px;
        font-weight: 600;
        overflow-wrap: anywhere;
    }

    .ua-modal-header[b-e3sr4zjg04] {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px 10px;
      border-bottom: 1px solid var(--border-200);
    }

    .ua-modal-title[b-e3sr4zjg04] {
      font-size: 15px;
      font-weight: 600;
      color: var(--text-900);
    }

    .ua-modal-body[b-e3sr4zjg04] {
      overflow: auto;
      padding: 16px 18px 14px;
    }

    .ua-modal-footer[b-e3sr4zjg04] {
      margin-top: 16px;
      display: flex;
      justify-content: flex-end;
      gap: 8px;
    }
    /* =========================================================
   Invite queue inside modal
   ========================================================= */

    .ua-invite-layout[b-e3sr4zjg04] {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .ua-invite-section[b-e3sr4zjg04] {
      padding: 14px 14px 12px;
      border: 1px solid rgba(25, 35, 68, 0.08);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.55);
    }

    .ua-invite-section-title[b-e3sr4zjg04] {
      margin-bottom: 10px;
      font-size: 14px;
      font-weight: 600;
      color: var(--text-900);
    }

    .ua-invite-section-subtitle[b-e3sr4zjg04] {
      margin-top: -4px;
      margin-bottom: 10px;
      font-size: 12px;
      color: var(--text-600);
    }

    .ua-queue-topbar[b-e3sr4zjg04] {
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-areas: "title tools count";
      align-items: center;
      gap: 0.65rem;
      padding: 0.35rem 0.9rem;
      border: 1px solid rgba(25, 35, 68, 0.08);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.55);
    }

    .ua-queue-title[b-e3sr4zjg04] {
      grid-area: title;
      font-weight: 600;
    }

    .ua-queue-tools[b-e3sr4zjg04] {
      grid-area: tools;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      flex-wrap: wrap;
    }

    .ua-queue-count[b-e3sr4zjg04] {
      grid-area: count;
      justify-self: end;
      font-size: 0.92rem;
      color: var(--text-500);
      white-space: nowrap;
    }

      .ua-queue-count.empty[b-e3sr4zjg04] {
        color: var(--text-muted);
      }

    .ua-queue-sep[b-e3sr4zjg04] {
      color: var(--text-500, #667085);
    }

    .ua-link-btn[b-e3sr4zjg04] {
      padding: 0;
      font-weight: 500;
      text-decoration: none;
    }

    .ua-queue-grid[b-e3sr4zjg04] {
      border: 1px solid rgba(25, 35, 68, 0.08);
      border-radius: 10px;
      overflow: hidden;
      background: #fff;
    }

    .ua-queue-head[b-e3sr4zjg04] {
      display: grid;
      grid-template-columns: minmax(240px, 1.7fr) minmax(150px, 0.9fr) minmax(180px, 1fr) minmax(220px, 1.2fr) auto;
      gap: 0.85rem;
      padding: 0.45rem 0.95rem;
      border-bottom: 1px solid rgba(25, 35, 68, 0.06);
      background: #f8fafc;
      font-weight: 600;
      font-size: 0.90rem;
    }

    .ua-queue-body[b-e3sr4zjg04] {
      display: flex;
      flex-direction: column;
      gap: 0;
      max-height: 220px;
      overflow-y: auto;
      overflow-x: hidden;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
    }

    .ua-queue-row[b-e3sr4zjg04] {
      display: grid;
      grid-template-columns: minmax(240px, 1.7fr) minmax(150px, 0.9fr) minmax(180px, 1fr) minmax(220px, 1.2fr) auto;
      gap: 0.85rem;
      align-items: center;
      padding: 0.45rem 0.95rem;
      border-top: 1px solid rgba(25, 35, 68, 0.05);
    }

      .ua-queue-row:first-child[b-e3sr4zjg04] {
        border-top: none;
      }

    .ua-queue-field[b-e3sr4zjg04] {
      display: flex;
      flex-direction: column;
      gap: 0.22rem;
    }

    .ua-field-error[b-e3sr4zjg04] {
      font-size: 0.74rem;
      color: #b5474f;
      line-height: 1.2;
    }

    .ua-queue-mobile-label[b-e3sr4zjg04] {
      display: none;
      font-weight: 600;
      font-size: 0.88rem;
      color: var(--text-900, #192344);
      margin-bottom: 0.2rem;
    }

    .ua-queue-actions[b-e3sr4zjg04] {
      display: flex;
      justify-content: flex-start;
    }

    .ua-queue-row > .ua-queue-actions[b-e3sr4zjg04] {
      align-self: end;
    }

    .ua-queue-footer[b-e3sr4zjg04] {
      display: flex;
      justify-content: flex-end;
      gap: 0.60rem;
      padding-top: 2px;
      flex-wrap: wrap;
    }

      .ua-queue-footer .btn[b-e3sr4zjg04],
      .ua-queue-actions .btn[b-e3sr4zjg04] {
        min-height: 32px;
        padding: 0.24rem 0.72rem;
        font-size: 0.9rem;
        line-height: 1.15;
        border-radius: 0.45rem;
      }

    .ua-queue-actions .btn[b-e3sr4zjg04] {
      min-width: 80px;
      padding: 0.22rem 0.66rem;
    }

    .ua-queue-footer .btn-primary[b-e3sr4zjg04] {
      min-width: 120px;
    }

    .ua-queue-field .form-control[b-e3sr4zjg04],
    .ua-queue-field .form-select[b-e3sr4zjg04] {
      min-height: 38px;
    }

      .ua-queue-field .form-control.is-invalid[b-e3sr4zjg04],
      .ua-queue-field .form-select.is-invalid[b-e3sr4zjg04] {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.08rem rgba(220, 53, 69, 0.12);
      }

    .ua-bulk-textarea[b-e3sr4zjg04] {
      min-height: 180px;
    }
    /*Invite maintenance*/

    .ua-queue-topbar--maintenance[b-e3sr4zjg04] {
      grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .ua-queue-guidance[b-e3sr4zjg04] {
      grid-area: tools;
      min-width: 0;
      justify-self: center;
      color: var(--text-500);
      font-size: 12px;
      line-height: 1.25;
      text-align: center;
    }

    .ua-maintenance-limit-message[b-e3sr4zjg04] {
      margin-right: auto;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #8a5a12;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.25;
    }

    .ua-maintenance-onboarding-link[b-e3sr4zjg04] {
      appearance: none;
      border: 0;
      background: transparent;
      padding: 0;
      color: #1d4ed8;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }

      .ua-maintenance-onboarding-link:hover[b-e3sr4zjg04] {
        text-decoration: underline;
      }
    /* =========================================================
   Responsive
   ========================================================= */

    @container ua-page (max-width: 960px) {
      .ua-summary-strip[b-e3sr4zjg04] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @container ua-page (max-width: 1200px) {
      .ua-controls[b-e3sr4zjg04] {
        grid-template-columns: minmax(260px, 1fr) 170px 150px 130px 88px;
      }
    }

    @media (max-width: 1100px) {
      .ua-queue-topbar[b-e3sr4zjg04] {
        grid-template-columns: 1fr auto;
        grid-template-areas:
          "title count"
          "tools tools";
        align-items: center;
        row-gap: 0.45rem;
      }

      .ua-queue-tools[b-e3sr4zjg04] {
        justify-content: flex-start;
      }

      .ua-queue-head[b-e3sr4zjg04],
      .ua-queue-row[b-e3sr4zjg04] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

        .ua-queue-row > .ua-queue-actions[b-e3sr4zjg04] {
          grid-column: 1 / -1;
          justify-content: flex-start;
          padding-top: 0.1rem;
        }
    }

    @container ua-page (max-width: 980px) {
      .ua-controls[b-e3sr4zjg04] {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
      }
    }

    @container ua-page (max-width: 640px) {
      .ua-summary-strip[b-e3sr4zjg04],
      .ua-controls[b-e3sr4zjg04] {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 900px) {
      .ua-panel-header[b-e3sr4zjg04] {
        align-items: flex-start;
        flex-direction: column;
      }

      .ua-panel-header-actions[b-e3sr4zjg04] {
        width: 100%;
        justify-content: flex-start;
      }
    }

    @media (max-width: 768px) {
      .ua-header[b-e3sr4zjg04] {
        align-items: flex-start;
        flex-direction: column;
      }

      .ua-header-actions[b-e3sr4zjg04] {
        width: 100%;
        justify-content: stretch;
        flex-direction: column;
      }

        .ua-header-actions .ua-primary-button[b-e3sr4zjg04],
        .ua-panel-header-actions .ua-primary-button[b-e3sr4zjg04] {
          width: 100%;
        }

      .ua-table-region[b-e3sr4zjg04] {
        margin-left: 10px;
        margin-right: 10px;
      }

      .ua-modal-card[b-e3sr4zjg04] {
        width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
      }

      .ua-modal-body[b-e3sr4zjg04] {
        padding: 14px 14px 12px;
      }
    }

    @media (max-width: 760px) {
      .ua-queue-topbar--maintenance[b-e3sr4zjg04] {
        grid-template-columns: 1fr;
        grid-template-areas:
          "title"
          "tools"
          "count";
      }

      .ua-queue-guidance[b-e3sr4zjg04] {
        justify-self: start;
        text-align: left;
      }

      .ua-maintenance-limit-message[b-e3sr4zjg04] {
        width: 100%;
        flex-wrap: wrap;
      }
    }

    @media (max-width: 700px) {
      .ua-queue-topbar[b-e3sr4zjg04] {
        grid-template-columns: 1fr;
        grid-template-areas:
          "title"
          "tools"
          "count";
        align-items: start;
      }

      .ua-queue-tools[b-e3sr4zjg04] {
        justify-content: flex-start;
      }

      .ua-queue-count[b-e3sr4zjg04] {
        justify-self: start;
        text-align: left;
      }

      .ua-queue-head[b-e3sr4zjg04] {
        display: none;
      }

      .ua-queue-row[b-e3sr4zjg04] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
      }

      .ua-queue-mobile-label[b-e3sr4zjg04] {
        display: block;
      }

      .ua-queue-actions[b-e3sr4zjg04] {
        justify-content: flex-start;
      }

      .ua-queue-footer[b-e3sr4zjg04] {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
      }
    }

    @media (max-width: 640px) {
      .ua-table-region[b-e3sr4zjg04] {
        margin-left: 12px;
        margin-right: 12px;
      }

      .ua-pager[b-e3sr4zjg04] {
        padding-left: 12px;
        padding-right: 12px;
      }
    }

    @media (max-width: 520px) {
      .ua-queue-footer[b-e3sr4zjg04] {
        flex-direction: column;
        align-items: stretch;
      }

        .ua-queue-footer .btn[b-e3sr4zjg04] {
          width: 100%;
        }
    }
/* /Components/Pages/Broker/Companies.razor.rz.scp.css */
/* =========================================================
   Broker Companies.razor.css
   ---------------------------------------------------------
   Scope:
   - Broker Companies & Users page shell
   - Summary cards
   - Manufacturer company list card
   - Company details modal
   - Toolbar / filters
   - Table shell
   - Sort controls
   - Sticky Actions column
   - Pager
   - Broker user list inside detail modal
   ========================================================= */

/* =========================================================
   Page shell
   ========================================================= */

.companies-page[b-vncr4j51vc] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 2px;
  overflow: hidden;
  container-type: inline-size;
  container-name: companies-page;
}

.companies-workspace[b-vncr4j51vc] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

/* =========================================================
   Summary cards
   ========================================================= */

.companies-summary-strip[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.companies-summary-card[b-vncr4j51vc] {
  min-width: 0;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
  border-radius: 13px;
  box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
}

.companies-summary-card-button[b-vncr4j51vc] {
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

  .companies-summary-card-button:hover[b-vncr4j51vc] {
    border-color: rgba(29, 58, 109, 0.18);
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .companies-summary-card-button.is-active[b-vncr4j51vc] {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
  }

  .companies-summary-card-button:focus-visible[b-vncr4j51vc] {
    outline: none;
    box-shadow: var(--focus-ring);
  }

.companies-summary-label[b-vncr4j51vc] {
  margin: 0 0 6px;
  overflow: hidden;
  color: var(--text-600, #475569);
  font-size: 13.5px;
  line-height: 1.3;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.companies-summary-value[b-vncr4j51vc] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
}

.companies-summary-meta[b-vncr4j51vc] {
  margin-top: 5px;
  overflow: hidden;
  color: var(--text-500, #64748b);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.companies-summary-card--neutral[b-vncr4j51vc] {
  border-color: rgba(117, 140, 167, 0.22);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.companies-summary-card--info[b-vncr4j51vc] {
  border-color: rgba(117, 140, 167, 0.24);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.companies-summary-card--success[b-vncr4j51vc] {
  border-color: rgba(91, 196, 191, 0.38);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.companies-summary-card--warning[b-vncr4j51vc] {
  border-color: rgba(250, 169, 75, 0.32);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.companies-summary-card--neutral.is-active[b-vncr4j51vc] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.companies-summary-card--info.is-active[b-vncr4j51vc] {
  border-color: rgba(117, 140, 167, 0.34);
  background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.companies-summary-card--success.is-active[b-vncr4j51vc] {
  border-color: rgba(91, 196, 191, 0.48);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.companies-summary-card--warning.is-active[b-vncr4j51vc] {
  border-color: rgba(250, 169, 75, 0.42);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

/* =========================================================
   Shared card shell
   ========================================================= */

.companies-card[b-vncr4j51vc] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200);
  border-radius: 18px;
  overflow: hidden;
}

.companies-card-title[b-vncr4j51vc] {
  margin: 0;
  color: var(--text-900, #0f172a);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.companies-card-subtitle[b-vncr4j51vc] {
  margin: 4px 0 0;
  color: var(--text-500, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

/* =========================================================
   Company list card
   ========================================================= */

.companies-list-section[b-vncr4j51vc] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.companies-manage-card[b-vncr4j51vc] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.companies-panel-header[b-vncr4j51vc] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.companies-panel-header-copy[b-vncr4j51vc] {
  min-width: 0;
  flex: 1 1 auto;
}

.companies-panel-header-actions[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.companies-access-body[b-vncr4j51vc] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  margin-bottom: 5px;
  padding-bottom: 14px;
}

.companies-state[b-vncr4j51vc] {
  padding: 18px 16px;
  color: var(--text-600);
}

/* =========================================================
   Controls
   ========================================================= */

.companies-controls[b-vncr4j51vc] {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 190px 190px 108px;
  gap: 10px;
  align-items: end;
  padding: 14px 12px 0;
  margin-bottom: 0;
  flex: 0 0 auto;
}

.companies-control[b-vncr4j51vc] {
  min-width: 0;
}

.companies-control-label[b-vncr4j51vc] {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

.companies-search[b-vncr4j51vc],
.companies-select[b-vncr4j51vc],
.companies-page-size[b-vncr4j51vc] {
  width: 100%;
  min-height: 38px;
}

.companies-page-size[b-vncr4j51vc] {
  min-width: 108px;
}

.companies-select[b-vncr4j51vc] {
  min-width: 0;
}

/* =========================================================
   Table shell
   ========================================================= */

.companies-table-region[b-vncr4j51vc] {
  min-height: 0;
  height: 100%;
  margin: 12px 12px 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  background: #ffffff;
}

.companies-table-wrap[b-vncr4j51vc] {
  min-height: 0;
  position: relative;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #ffffff;
}

.companies-table[b-vncr4j51vc] {
  width: 100%;
  margin: 0;
  min-width: 1060px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
}

  .companies-table thead th[b-vncr4j51vc] {
    position: sticky;
    top: 0;
    z-index: 12;
    padding: 0.58rem 0.55rem;
    border-bottom: 1px solid #dbe4ef;
    background: #ffffff;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .companies-table tbody td[b-vncr4j51vc] {
    padding: 0.56rem 0.55rem;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
    color: var(--text-900, #0f172a);
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .companies-table tbody tr:hover td[b-vncr4j51vc] {
    background: #fbfdff;
  }

  .companies-table thead th:first-child[b-vncr4j51vc],
  .companies-table tbody td:first-child[b-vncr4j51vc] {
    padding-left: 0;
  }

/* =========================================================
   Sort controls
   ========================================================= */

.companies-sort-button[b-vncr4j51vc] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .companies-sort-button:hover[b-vncr4j51vc],
  .companies-sort-button--active[b-vncr4j51vc] {
    color: #2563eb;
  }

.companies-sort-indicator[b-vncr4j51vc] {
  font-size: 0.72rem;
  line-height: 1;
}

/* =========================================================
   Column sizing / behavior
   ========================================================= */

.companies-company-col[b-vncr4j51vc] {
  width: auto;
  min-width: 180px;
}

.companies-type-col[b-vncr4j51vc] {
  width: 128px;
  min-width: 120px;
}

.companies-users-col[b-vncr4j51vc] {
  width: 96px;
  min-width: 90px;
}

.companies-city-col[b-vncr4j51vc] {
  width: 130px;
  min-width: 100px;
}

.companies-state-col[b-vncr4j51vc] {
  width: 64px;
  min-width: 60px;
}

.companies-status-col[b-vncr4j51vc] {
  width: 112px;
  min-width: 104px;
}

.companies-created-col[b-vncr4j51vc] {
  width: 128px;
  min-width: 120px;
}

.companies-actions-col[b-vncr4j51vc] {
  width: 96px;
  min-width: 96px;
  max-width: 96px;
}

.companies-table th[b-vncr4j51vc],
.companies-table td[b-vncr4j51vc] {
  overflow: hidden;
}

  .companies-table td.companies-type-col[b-vncr4j51vc],
  .companies-table td.companies-users-col[b-vncr4j51vc],
  .companies-table td.companies-state-col[b-vncr4j51vc],
  .companies-table td.companies-status-col[b-vncr4j51vc],
  .companies-table td.companies-created-col[b-vncr4j51vc],
  .companies-table td.companies-actions-col[b-vncr4j51vc] {
    white-space: nowrap;
  }

  .companies-table td.companies-company-col[b-vncr4j51vc],
  .companies-table td.companies-city-col[b-vncr4j51vc] {
    white-space: normal;
  }

  /* Actions column is pinned to the right edge of the table scroll viewport.
   The sticky cell stays neutral; the inner action zone owns emphasis. */
  .companies-table th.companies-actions-col[b-vncr4j51vc],
  .companies-table td.companies-actions-col[b-vncr4j51vc] {
    position: sticky;
    right: 0;
    z-index: 10;
    padding-left: 0.64rem;
    padding-right: 0.64rem;
    text-align: left;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
  }

.companies-table thead th.companies-actions-col[b-vncr4j51vc] {
  z-index: 18;
  background: #ffffff;
  color: #64748b;
}

.companies-table tbody tr:hover td.companies-actions-col[b-vncr4j51vc] {
  background: #fbfdff;
}

/* =========================================================
   Row content
   ========================================================= */

.companies-users-compact[b-vncr4j51vc] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  white-space: nowrap;
}

.companies-users-active[b-vncr4j51vc] {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-900);
}

.companies-users-active-link[b-vncr4j51vc] {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

  .companies-users-active-link:hover[b-vncr4j51vc],
  .companies-users-active-link:focus[b-vncr4j51vc] {
    color: #1d4ed8;
    text-decoration: underline;
  }

  .companies-users-active-link:focus-visible[b-vncr4j51vc] {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
    border-radius: 4px;
  }

.companies-users-info[b-vncr4j51vc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  user-select: none;
}

.companies-users-tooltip-lines[b-vncr4j51vc] {
  display: grid;
  gap: 2px;
  white-space: wrap;
}

  .companies-users-info:focus-visible[b-vncr4j51vc] {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
  }

.companies-company-text[b-vncr4j51vc],
.companies-city-text[b-vncr4j51vc] {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.25;
  vertical-align: middle;
}

.companies-state-text[b-vncr4j51vc],
.companies-created-text[b-vncr4j51vc] {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.companies-state-text[b-vncr4j51vc] {
  min-width: 24px;
  text-align: left;
}

.companies-created-text[b-vncr4j51vc] {
  font-size: 11px;
  line-height: 1.2;
}

/* =========================================================
   Status and type badges
   ========================================================= */

.companies-status-badge[b-vncr4j51vc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 70px;
  padding: 0 2px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.companies-status-badge--active[b-vncr4j51vc] {
  background: rgba(91, 196, 191, 0.18);
  color: #206a66;
}

.companies-status-badge--inactive[b-vncr4j51vc] {
  background: rgba(241, 95, 87, 0.14);
  color: #9d423c;
}

.companies-type-badge[b-vncr4j51vc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 100px;
  padding: 0 2px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.companies-type-badge--manufacturer[b-vncr4j51vc] {
  background: #ede9fe;
  color: #4c1d95;
}

/* =========================================================
   Row actions
   ========================================================= */

.companies-page .ua-inline-actions[b-vncr4j51vc] {
  width: 100%;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 6px;
  border-radius: 7px;
  background: #f3f6fb;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
  flex-wrap: nowrap;
  white-space: nowrap;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.companies-table tbody tr:hover .ua-inline-actions[b-vncr4j51vc] {
  background: #edf4ff;
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.companies-page .ua-inline-action[b-vncr4j51vc] {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--link-600, #2563eb);
  text-decoration: none;
  cursor: pointer;
}

  .companies-page .ua-inline-action:hover[b-vncr4j51vc] {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .companies-page .ua-inline-action:focus-visible[b-vncr4j51vc] {
    outline: none;
    text-decoration: underline;
    border-radius: 4px;
  }

/* =========================================================
   Pager
   ========================================================= */

.companies-pager[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 8px 14px 6px;
  background: #f8fafc;
  border-top: 1px solid rgba(25, 35, 68, 0.06);
  flex-wrap: wrap;
}

.companies-pager-meta[b-vncr4j51vc] {
  font-size: 12px;
  color: var(--text-600);
}

.companies-pager-actions[b-vncr4j51vc] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.companies-pager-page[b-vncr4j51vc] {
  min-width: 88px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

/* =========================================================
   Modal shell
   ========================================================= */

.companies-modal-backdrop[b-vncr4j51vc] {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: rgba(15, 23, 42, 0.28);
}

.companies-modal[b-vncr4j51vc] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.companies-modal-card[b-vncr4j51vc] {
  width: min(760px, calc(100vw - 2rem));
  max-height: calc(100vh - 2.5rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.26);
  border: 1px solid rgba(25, 35, 68, 0.10);
}

.companies-modal-card--details[b-vncr4j51vc] {
  width: min(760px, calc(100vw - 2rem));
}

.companies-modal-header[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), #fff);
}

.companies-modal-title[b-vncr4j51vc] {
  margin: 0;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 800;
  color: var(--text-900);
  letter-spacing: 0.01em;
}

.companies-modal-subtitle[b-vncr4j51vc] {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--text-500);
}

.companies-modal-header .btn[b-vncr4j51vc] {
  min-height: 32px;
  padding: 4px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.companies-modal-body[b-vncr4j51vc] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 18px 20px 16px;
}

.companies-modal-footer[b-vncr4j51vc] {
  flex: 0 0 auto;
  margin-top: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 20px 16px;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  background: #fff;
}

  .companies-modal-footer .btn[b-vncr4j51vc] {
    min-width: 88px;
    min-height: 34px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
  }

/* =========================================================
   Broker user list inside details modal
   ========================================================= */

.broker-company-users-list[b-vncr4j51vc] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.broker-company-user-row[b-vncr4j51vc] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 12px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, 0.75));
}

  .broker-company-user-row:hover[b-vncr4j51vc] {
    border-color: rgba(37, 99, 235, 0.16);
    background: #fff;
  }

.broker-company-user-name[b-vncr4j51vc] {
  min-width: 0;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--text-900);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.broker-company-user-email[b-vncr4j51vc] {
  min-width: 0;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
  color: var(--text-600);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.broker-company-user-status[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* =========================================================
   Page responsive behavior
   ========================================================= */

@container companies-page (max-width: 960px) {
  .companies-summary-strip[b-vncr4j51vc] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container companies-page (max-width: 980px) {
  .companies-controls[b-vncr4j51vc] {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .companies-page-size[b-vncr4j51vc] {
    width: 100%;
    min-width: 0;
  }
}

@container companies-page (max-width: 640px) {
  .companies-summary-strip[b-vncr4j51vc] {
    grid-template-columns: 1fr;
  }

  .companies-controls[b-vncr4j51vc] {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .companies-panel-header[b-vncr4j51vc] {
    align-items: flex-start;
    flex-direction: column;
  }

  .companies-page[b-vncr4j51vc] {
    overflow: auto;
  }

  .companies-list-section[b-vncr4j51vc],
  .companies-manage-card[b-vncr4j51vc],
  .companies-access-body[b-vncr4j51vc] {
    overflow: visible;
  }

  .companies-table thead th[b-vncr4j51vc],
  .companies-table tbody td[b-vncr4j51vc] {
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  .companies-table-region[b-vncr4j51vc] {
    margin-left: 10px;
    margin-right: 10px;
  }

  .companies-modal-card[b-vncr4j51vc] {
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
  }

  .companies-modal-body[b-vncr4j51vc] {
    padding: 14px 14px 12px;
  }

  .companies-modal-footer[b-vncr4j51vc] {
    justify-content: stretch;
  }

    .companies-modal-footer .btn[b-vncr4j51vc] {
      width: 100%;
    }
}

@media (max-width: 640px) {
  .companies-table-region[b-vncr4j51vc] {
    margin-left: 12px;
    margin-right: 12px;
  }

  .companies-pager[b-vncr4j51vc] {
    padding-left: 12px;
    padding-right: 12px;
  }
}


/* =========================================================
   Broker compact company details modal
   ========================================================= */

.companies-modal-card--details[b-vncr4j51vc] {
  width: min(720px, calc(100vw - 2rem));
  max-height: min(680px, calc(100vh - 2.5rem));
}

.broker-company-detail-body[b-vncr4j51vc] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
}

.broker-company-profile-card[b-vncr4j51vc] {
  flex: 0 0 auto;
  padding: 12px 14px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.9), #fff);
}

.broker-company-profile-main[b-vncr4j51vc] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.broker-company-profile-copy[b-vncr4j51vc] {
  min-width: 0;
}

.broker-company-profile-title[b-vncr4j51vc] {
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--text-900);
}

.broker-company-profile-subtitle[b-vncr4j51vc] {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-500);
  overflow-wrap: anywhere;
}

.broker-company-profile-badges[b-vncr4j51vc] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.broker-company-profile-grid[b-vncr4j51vc] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 14px;
  padding-top: 10px;
}

.broker-company-profile-item[b-vncr4j51vc] {
  min-width: 0;
}

.broker-company-profile-label[b-vncr4j51vc] {
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  color: #64748b;
}

.broker-company-profile-value[b-vncr4j51vc] {
  min-width: 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--text-900);
  overflow-wrap: anywhere;
}

.broker-company-users-panel[b-vncr4j51vc] {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.broker-company-section-header[b-vncr4j51vc] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  background: #f8fafc;
}

.broker-company-section-title[b-vncr4j51vc] {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-900);
}

.broker-company-section-subtitle[b-vncr4j51vc] {
  margin-top: 3px;
  font-size: 12px;
  color: var(--text-500);
}

.broker-company-users-scroll[b-vncr4j51vc] {
  min-height: 0;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 10px 12px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.broker-company-users-empty[b-vncr4j51vc] {
  padding: 14px;
  font-size: 13px;
  color: var(--text-600);
}

.broker-company-user-row[b-vncr4j51vc] {
  padding: 8px 10px;
}

.broker-company-user-main[b-vncr4j51vc] {
  min-width: 0;
}

/* =========================================================
   Broker modal responsive behavior
   ========================================================= */

@media (max-height: 760px) {
  .companies-modal-card--details[b-vncr4j51vc] {
    max-height: calc(100vh - 2rem);
  }

  .broker-company-users-scroll[b-vncr4j51vc] {
    max-height: 170px;
  }
}

@media (max-width: 900px) {
  .broker-company-profile-grid[b-vncr4j51vc] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .broker-company-profile-main[b-vncr4j51vc] {
    flex-direction: column;
  }

  .broker-company-profile-badges[b-vncr4j51vc] {
    justify-content: flex-start;
  }

  .broker-company-profile-grid[b-vncr4j51vc] {
    grid-template-columns: 1fr;
  }

  .broker-company-users-scroll[b-vncr4j51vc] {
    max-height: 180px;
  }
}
/* /Components/Pages/Distributor/Books.razor.rz.scp.css */
/* =========================================================
   Distributor Books
   ---------------------------------------------------------
   Books layout is maintained by:
   Components/Shared/Books/BookShared.razor.css

   Add styles here only when behavior or layout is unique to:
   Pages/Distributor/Books.razor
   ========================================================= */
/* /Components/Pages/Distributor/PricingDetail.razor.rz.scp.css */
/* =========================================================
   Distributor Pricing Detail
   ---------------------------------------------------------
   Detail layout is maintained by:
   Components/Shared/Promotions/DistributorPricingDetailShared.razor.css

   This file remains available for Distributor-detail-only overrides.
   Add styles here only when behavior or layout is unique to:
   Pages/Distributor/PricingDetail.razor
   ========================================================= */
/* /Components/Pages/Distributor/PricingQueue.razor.rz.scp.css */
/* =========================================================
   Distributor Pricing Queue
   ---------------------------------------------------------
   Queue layout is maintained by:
   Components/Shared/Promotions/DistributorPricingQueueShared.razor.css

   This file remains available for Distributor-page-only overrides.
   Add styles here only when behavior or layout is unique to:
   Pages/Distributor/PricingQueue.razor
   ========================================================= */
/* /Components/Pages/Distributor/Products.razor.rz.scp.css */
/* Distributor Products page host */
/* ---------------------------------------------------------
   Provides the page-scoped height and overflow host required for
   ProductsShared to own internal table scrolling and keep pagination
   anchored above the application footer.

   This rule remains in Distributor/Products.razor.css because
   .products-page-host is rendered by Distributor/Products.razor and
   Blazor CSS isolation applies only to markup from the matching component.
   --------------------------------------------------------- */

.products-page-host[b-slqdf7bo82] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding-top: 5px;
}

    .products-page-host > *[b-slqdf7bo82] {
        flex: 1 1 auto;
        min-height: 0;
    }

/* Distributor Product Settings modal */
/* ---------------------------------------------------------
   Styles the Distributor-owned Product Settings workflow rendered
   directly by Distributor/Products.razor. These rules remain
   page-scoped because ProductsShared.razor.css isolation does not
   apply to this markup.
   --------------------------------------------------------- */

.products-modal-backdrop[b-slqdf7bo82] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    z-index: 12400;
}

.products-modal-shell[b-slqdf7bo82] {
    position: fixed;
    inset: 0;
    z-index: 12410;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 24px;
}

.products-modal-card[b-slqdf7bo82] {
    width: min(920px, calc(100vw - 64px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
    border-radius: 20px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.20);
    overflow: hidden;
}

.products-modal-header[b-slqdf7bo82] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.products-modal-title[b-slqdf7bo82] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.products-modal-subtitle[b-slqdf7bo82] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
    line-height: 1.35;
}

.products-modal-body[b-slqdf7bo82] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 20px;
    overflow-y: auto;
    overflow-x: hidden;
}

.products-modal-footer[b-slqdf7bo82] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px 16px;
    border-top: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
}

/* Product context summary */
/* ---------------------------------------------------------
   Displays the selected Product image, Manufacturer, and UPC
   context inside Distributor Product Settings.
   --------------------------------------------------------- */

.products-book-assets-product-summary[b-slqdf7bo82] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), #fff);
}

.products-book-assets-product-image[b-slqdf7bo82] {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
}

.products-book-assets-product-empty[b-slqdf7bo82] {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 1px dashed var(--border-300, rgba(25, 35, 68, 0.16));
    border-radius: 12px;
    background: #f8fafc;
    color: var(--text-500, #64748b);
    font-size: 11px;
    text-align: center;
}

.products-book-assets-product-copy[b-slqdf7bo82] {
    min-width: 0;
    flex: 1 1 auto;
}

.products-book-assets-product-kicker[b-slqdf7bo82] {
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-book-assets-product-title[b-slqdf7bo82] {
    margin-top: 3px;
    color: var(--text-900, #0f172a);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
}

.products-book-assets-product-meta[b-slqdf7bo82] {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: var(--text-600, #475569);
    font-size: 12px;
    line-height: 1.35;
}

/* Distributor setting audit details */
/* ---------------------------------------------------------
   Displays the current participation default, Distributor Item #,
   and latest update metadata.
   --------------------------------------------------------- */

.products-detail-audit-strip[b-slqdf7bo82] {
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 14px;
    background: #f8fafc;
}

.products-detail-audit-grid[b-slqdf7bo82] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
}

    .products-detail-audit-grid span[b-slqdf7bo82] {
        display: block;
        color: var(--text-500, #64748b);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .products-detail-audit-grid strong[b-slqdf7bo82] {
        display: block;
        margin-top: 2px;
        color: var(--text-800, #1f2937);
        font-size: 12.5px;
        line-height: 1.3;
        font-weight: 600;
        word-break: break-word;
    }

/* Responsive modal behavior */
/* ---------------------------------------------------------
   Adapts the Distributor Product Settings modal and audit grid
   for narrower browser viewports.
   --------------------------------------------------------- */

@media (max-width: 760px) {
    .products-modal-shell[b-slqdf7bo82] {
        align-items: stretch;
        padding: 12px;
    }

    .products-modal-card[b-slqdf7bo82] {
        width: 100%;
        max-height: calc(100vh - 24px);
    }

    .products-book-assets-product-summary[b-slqdf7bo82] {
        align-items: flex-start;
    }

    .products-detail-audit-grid[b-slqdf7bo82] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Guide.razor.rz.scp.css */
/* Promo$ense Guide Standalone Page */
/* ---------------------------------------------------------
   Provides a full-height host for Guide content opened in a new tab.
   --------------------------------------------------------- */

.promosense-guide-page[b-mcm4dr5wmt] {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}
/* /Components/Pages/Manufacturer/Books.razor.rz.scp.css */
/* =========================================================
   Manufacturer Books
   ---------------------------------------------------------
   Books layout is maintained by:
   Components/Shared/Books/BookShared.razor.css

   Add styles here only when behavior or layout is unique to:
   Pages/Manufacturer/Books.razor
   ========================================================= */
/* /Components/Pages/Manufacturer/Products.razor.rz.scp.css */
/* 
   Products page needs a scoped height/overflow host so the table region can own
   its internal scroll and keep the pager anchored above the footer.

   This is defined in Products.razor.css instead of ProductsShared.razor.css
   because the .products-page-host class is applied in Products.razor, and
   Blazor CSS isolation only affects markup rendered by the matching component.
*/

.products-page-host[b-70gp84no5v] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-top: 5px;
}

  .products-page-host > *[b-70gp84no5v] {
    flex: 1 1 auto;
    min-height: 0;
  }
/* /Components/Pages/Manufacturer/PromotionEdit.razor.rz.scp.css */
/* =========================================================
   PromotionEdit.razor.css - Manufacturer-only Promotion Edit styles
   ========================================================= */
/* /Components/Pages/Manufacturer/Promotions.razor.rz.scp.css */
/* Manufacturer Promotions page styles */
/* ---------------------------------------------------------
   Provides Manufacturer-specific overrides for
   PromotionsShared.razor.css.
   Controls Create Promotion worksheet-type selection and
   responsive card behavior.
   --------------------------------------------------------- */

/* Create Promotion type selector */
/* ---------------------------------------------------------
   Provides the Open-Stock and Pre-Pack selection cards used
   inside the Manufacturer Create Promotion Draft form.
   --------------------------------------------------------- */

.promotions-create-type-selector[b-w7hcdohjah] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.promotions-create-type-card[b-w7hcdohjah] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    text-align: left;
    border: 1px solid var(--border-200);
    border-radius: 12px;
    background: var(--bg-surface);
    color: var(--text-900);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

    .promotions-create-type-card:hover[b-w7hcdohjah] {
        border-color: rgba(59, 130, 246, 0.45);
        box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.08);
        background: #fcfdff;
    }

    .promotions-create-type-card.is-active[b-w7hcdohjah] {
        border-color: rgba(37, 99, 235, 0.9);
        box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.18);
        background: rgba(59, 130, 246, 0.04);
    }

.promotions-create-type-card--prepack.is-active[b-w7hcdohjah] {
    border-color: rgba(63, 111, 159, 0.55);
    box-shadow: 0 0 0 1px rgba(63, 111, 159, 0.12);
    background: linear-gradient(135deg, rgba(63, 111, 159, 0.08), rgba(63, 111, 159, 0.03));
}

.promotions-create-type-card--openstock.is-active[b-w7hcdohjah] {
    border-color: rgba(142, 59, 103, 0.42);
    box-shadow: 0 0 0 1px rgba(142, 59, 103, 0.10);
    background: linear-gradient(135deg, rgba(142, 59, 103, 0.07), rgba(142, 59, 103, 0.025));
}

.promotions-create-type-card-icon[b-w7hcdohjah] {
    flex: 0 0 auto;
    width: 20px;
    font-size: 16px;
    line-height: 1;
    margin-top: 2px;
}

.promotions-create-type-card-content[b-w7hcdohjah] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promotions-create-type-card-title[b-w7hcdohjah] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-900);
    line-height: 1.2;
}

.promotions-create-type-card-text[b-w7hcdohjah] {
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-600);
}

/* Responsive behavior */
/* ---------------------------------------------------------
   Stacks worksheet-type cards into one column for narrower
   Manufacturer workspaces.
   --------------------------------------------------------- */

@media (max-width: 768px) {
    .promotions-create-type-selector[b-w7hcdohjah] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/MyAccount.razor.rz.scp.css */
.account-page[b-ng7rm1j7j6] {
  max-width: 1080px;
}

.account-page__description[b-ng7rm1j7j6] {
  margin: 0.75rem 0 1rem 0;
  color: #6b7280;
  font-size: 0.95rem;
}

.account-layout[b-ng7rm1j7j6] {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.account-nav[b-ng7rm1j7j6] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 0.75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 1rem;
}

.account-nav__item[b-ng7rm1j7j6] {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  border-radius: 12px;
  padding: 0.8rem 0.9rem;
  font-weight: 600;
  color: #374151;
  transition: background-color 0.15s ease, color 0.15s ease;
  margin-bottom: 0.35rem;
}

  .account-nav__item:last-child[b-ng7rm1j7j6] {
    margin-bottom: 0;
  }

  .account-nav__item:hover[b-ng7rm1j7j6] {
    background: #f3f4f6;
  }

  .account-nav__item.is-active[b-ng7rm1j7j6] {
    background: #eef4ff;
    color: #1d4ed8;
  }

.account-panel[b-ng7rm1j7j6] {
  min-width: 0;
}

.account-card[b-ng7rm1j7j6] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.account-card__header[b-ng7rm1j7j6] {
  margin-bottom: 1.25rem;
}

  .account-card__header h4[b-ng7rm1j7j6] {
    margin-bottom: 0.25rem;
  }

  .account-card__header p[b-ng7rm1j7j6] {
    margin: 0;
    color: #6b7280;
  }

.account-inline-actions[b-ng7rm1j7j6] {
  margin-top: 0.5rem;
}

.account-actions[b-ng7rm1j7j6] {
  margin-top: 1.25rem;
  display: flex;
  justify-content: flex-start;
}

.account-save-btn[b-ng7rm1j7j6] {
  min-width: 190px;
}

@media (max-width: 992px) {
  .account-layout[b-ng7rm1j7j6] {
    grid-template-columns: 1fr;
  }

  .account-nav[b-ng7rm1j7j6] {
    position: static;
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
  }

  .account-nav__item[b-ng7rm1j7j6] {
    width: auto;
    min-width: 120px;
    margin-bottom: 0;
    white-space: nowrap;
  }
}
/* /Components/Pages/Notifications/Notifications.razor.rz.scp.css */
.notifications-page[b-mh1beyhzwe] {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
  padding-top: 2px;
}

.notifications-shell[b-mh1beyhzwe] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.notifications-main-card[b-mh1beyhzwe] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200, rgba(25, 35, 68, 0.10));
  border-radius: 18px;
  overflow: hidden;
}

.notifications-card-header[b-mh1beyhzwe] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.notifications-title[b-mh1beyhzwe] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-900, #0f172a);
}

.notifications-subtitle[b-mh1beyhzwe] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500, #64748b);
}

.notifications-loading[b-mh1beyhzwe] {
  min-height: 240px;
  display: grid;
  place-items: center;
  gap: 10px;
}

.notifications-loading-spinner[b-mh1beyhzwe] {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 3px solid rgba(25, 35, 68, 0.10);
  border-top-color: var(--brand-600, #2563eb);
  animation: notifications-spin-b-mh1beyhzwe 0.8s linear infinite;
}

.notifications-loading-text[b-mh1beyhzwe] {
  font-size: 13px;
  color: var(--text-600, #475569);
}

@keyframes notifications-spin-b-mh1beyhzwe {
  to {
    transform: rotate(360deg);
  }
}

.notifications-body[b-mh1beyhzwe] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  padding-bottom: 14px;
}

.notifications-toolbar[b-mh1beyhzwe] {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 170px 140px 88px;
  gap: 10px;
  align-items: end;
  padding: 14px 12px 0;
}

.notifications-search[b-mh1beyhzwe],
.notifications-select[b-mh1beyhzwe],
.notifications-page-size[b-mh1beyhzwe] {
  width: 100%;
  min-height: 38px;
}

.notifications-search-wrapper[b-mh1beyhzwe] {
  width: 100%;
}

.notifications-search-input[b-mh1beyhzwe] {
  width: 100%;
}

.notifications-table-region[b-mh1beyhzwe] {
  min-height: 0;
  height: 100%;
  margin: 12px 12px 0;
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.notifications-table-wrap[b-mh1beyhzwe] {
  min-height: 0;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #fff;
  padding-bottom: 10px;
  padding-left: 8px;
}

.notifications-table[b-mh1beyhzwe] {
  width: 100%;
  min-width: 1080px;
  margin-bottom: 0;
  vertical-align: middle;
  table-layout: fixed;
}

  .notifications-table thead th[b-mh1beyhzwe] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-500, #64748b);
    border-bottom-width: 1px;
    white-space: nowrap;
  }

  .notifications-table tbody td[b-mh1beyhzwe] {
    padding-top: 10px;
    padding-bottom: 10px;
    border-color: rgba(25, 35, 68, 0.08);
    color: var(--text-900, #0f172a);
    vertical-align: top;
  }

.notifications-row.is-unread td[b-mh1beyhzwe] {
  background: rgba(37, 99, 235, 0.025);
}

.notifications-row:hover td[b-mh1beyhzwe] {
  background: rgba(25, 35, 68, 0.018);
}

.notifications-col-status[b-mh1beyhzwe] {
  width: 82px;
  min-width: 82px;
}

.notifications-col-category[b-mh1beyhzwe] {
  width: 136px;
  min-width: 136px;
}

.notifications-col-severity[b-mh1beyhzwe] {
  width: 90px;
  min-width: 90px;
}

.notifications-col-message[b-mh1beyhzwe] {
  width: 366px;
  min-width: 366px;
}

.notifications-col-related[b-mh1beyhzwe] {
  width: 156px;
  min-width: 156px;
}

.notifications-col-date[b-mh1beyhzwe] {
  width: 156px;
  min-width: 156px;
  white-space: nowrap;
}

.notifications-col-action[b-mh1beyhzwe] {
  width: 110px;
  min-width: 110px;
}

.notifications-status-badge[b-mh1beyhzwe],
.notifications-category-badge[b-mh1beyhzwe],
.notifications-severity-badge[b-mh1beyhzwe] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.notification-status-unread[b-mh1beyhzwe] {
  background: #dbeafe;
  color: #1d4ed8;
  border: 1px solid rgba(37, 99, 235, 0.18);
}

.notification-status-read[b-mh1beyhzwe] {
  background: #f1f5f9;
  color: #64748b;
  border: 1px solid rgba(100, 116, 139, 0.16);
}

.notification-category-action[b-mh1beyhzwe] {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid rgba(244, 63, 94, 0.22);
}

.notification-category-review[b-mh1beyhzwe] {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.22);
}

.notification-category-deadline[b-mh1beyhzwe] {
  background: #fefce8;
  color: #a16207;
  border: 1px solid rgba(234, 179, 8, 0.26);
}

.notification-category-assignment[b-mh1beyhzwe] {
  background: #eef2ff;
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.22);
}

.notification-category-system[b-mh1beyhzwe],
.notification-category-status[b-mh1beyhzwe] {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid rgba(100, 116, 139, 0.18);
}

.notification-severity-high[b-mh1beyhzwe] {
  background: #fee2e2;
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.24);
}

.notification-severity-medium[b-mh1beyhzwe] {
  background: #ffedd5;
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.22);
}

.notification-severity-low[b-mh1beyhzwe] {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.22);
}

.notifications-message-title[b-mh1beyhzwe] {
  font-size: 13px;
  font-weight: 800;
  color: var(--text-900, #0f172a);
  line-height: 1.25;
}

.notifications-message-text[b-mh1beyhzwe] {
  margin-top: 3px;
  font-size: 12px;
  color: var(--text-600, #475569);
  line-height: 1.35;
}

.notifications-related-type[b-mh1beyhzwe] {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-800, #1f2937);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.notifications-related-id[b-mh1beyhzwe] {
  margin-top: 2px;
  font-size: 11px;
  color: var(--text-500, #64748b);
}

.notifications-actions[b-mh1beyhzwe] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.notifications-link-button[b-mh1beyhzwe] {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  color: var(--link-600, #2563eb);
}

  .notifications-link-button:hover[b-mh1beyhzwe] {
    text-decoration: underline;
  }

.notifications-empty[b-mh1beyhzwe] {
  text-align: center;
  color: var(--text-500, #64748b);
  padding: 2rem 1rem !important;
}

.notifications-pager[b-mh1beyhzwe] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 6px 14px 4px;
  background: #f8fafc;
  border-top: 1px solid rgba(25, 35, 68, 0.06);
  flex-wrap: wrap;
}

.notifications-pager-meta[b-mh1beyhzwe] {
  font-size: 12px;
  color: var(--text-600, #475569);
}

.notifications-pager-actions[b-mh1beyhzwe] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.notifications-pager-page[b-mh1beyhzwe] {
  min-width: 88px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-700, #334155);
}

@media (max-width: 900px) {
  .notifications-toolbar[b-mh1beyhzwe] {
    grid-template-columns: 1fr 1fr;
  }
}
/* /Components/Pages/PageRefreshButton.razor.rz.scp.css */
.page-refresh-control[b-7jbugvs53q] {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  margin-right: 24px;
}

.page-refresh-button[b-7jbugvs53q] {
  min-height: 31px;
  min-width: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: #263b5f;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}

  .page-refresh-button:hover:not(:disabled)[b-7jbugvs53q] {
    background: rgba(248, 251, 255, 0.92);
    border-color: rgba(31, 55, 99, 0.16);
    color: #1d355f;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
  }

  .page-refresh-button:focus-visible[b-7jbugvs53q] {
    outline: none;
    border-color: rgba(37, 99, 235, 0.32);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
  }

  .page-refresh-button:disabled[b-7jbugvs53q] {
    opacity: 0.58;
    cursor: default;
  }

.page-refresh-button--stale[b-7jbugvs53q] {
  border-color: rgba(37, 99, 235, 0.18);
  background: rgba(248, 251, 255, 0.84);
}

.page-refresh-primary[b-7jbugvs53q] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 740;
  letter-spacing: 0.005em;
}

.page-refresh-meta[b-7jbugvs53q] {
  display: inline-flex;
  align-items: center;
  color: #7d8798;
  font-size: 11px;
  font-weight: 560;
  line-height: 1;
}

  .page-refresh-meta[b-7jbugvs53q]::before {
    content: "·";
    margin-right: 7px;
    color: #aab4c3;
    font-weight: 700;
  }

.page-refresh-button--stale .page-refresh-meta[b-7jbugvs53q] {
  color: #2b5da8;
  font-weight: 680;
}

.page-refresh-icon[b-7jbugvs53q] {
  font-size: 12.5px;
  line-height: 1;
}

.page-refresh-icon--spinning[b-7jbugvs53q] {
  animation: page-refresh-spin-b-7jbugvs53q 850ms linear infinite;
}

@keyframes page-refresh-spin-b-7jbugvs53q {
  to {
    transform: rotate(360deg);
  }
}
/* /Components/Pages/Settings.razor.rz.scp.css */
/* =========================================================
   Settings page shell
   ========================================================= */

.settings-page[b-wj0yi90d58] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-top: 2px;
}

.settings-shell[b-wj0yi90d58] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
  width: 100%;
  max-width: none;
}

/* =========================================================
   Page header
   ========================================================= */

.settings-page-header[b-wj0yi90d58] {
  flex: 0 0 auto;
  padding: 0.10rem 0.05rem 0;
  margin-bottom: 0;
}

.settings-page-header-copy[b-wj0yi90d58] {
  min-width: 0;
}

.settings-page-title[b-wj0yi90d58] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-900, #192344);
  line-height: 1.2;
}

.settings-page-subtitle[b-wj0yi90d58] {
  margin: 4px 0 0;
  color: var(--text-500, #667085);
  font-size: 13px;
  line-height: 1.35;
  max-width: 760px;
}

/* =========================================================
   Main card
   ========================================================= */

.settings-main-card[b-wj0yi90d58] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 18px;
  /*box-shadow: var(--shadow-1);*/
}

.settings-main-card-header[b-wj0yi90d58] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.settings-main-card-copy[b-wj0yi90d58] {
  min-width: 0;
  flex: 1 1 auto;
}

.settings-main-card-title[b-wj0yi90d58] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-900, #192344);
  line-height: 1.2;
}

.settings-main-card-subtitle[b-wj0yi90d58] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-500, #667085);
  line-height: 1.35;
}

.settings-main-card-actions[b-wj0yi90d58] {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* =========================================================
   Scroll region
   ========================================================= */

.settings-scroll[b-wj0yi90d58] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 12px 14px 14px;
}

/* Planned Settings Notice */
/* ---------------------------------------------------------
   Identifies System Settings as a future configuration area
   while keeping planned example controls visible and read-only.
   --------------------------------------------------------- */

.settings-planned-notice[b-wj0yi90d58] {
    margin-bottom: 0.95rem;
    padding: 1rem 1.15rem;
    border: 1px dashed rgba(59, 130, 246, 0.28);
    border-radius: 12px;
    background: #fff;
}

    .settings-planned-notice h3[b-wj0yi90d58] {
        margin: 0;
        font-size: 16px;
        font-weight: 700;
        color: var(--text-900, #192344);
        line-height: 1.25;
    }

    .settings-planned-notice p[b-wj0yi90d58] {
        margin: 0.55rem 0 0;
        font-size: 13px;
        line-height: 1.45;
        color: var(--text-600, #475569);
    }

/* =========================================================
   Settings groups
   ========================================================= */

.settings-group + .settings-group[b-wj0yi90d58] {
  margin-top: 0.85rem;
}

.settings-group-header[b-wj0yi90d58] {
  margin-bottom: 0.32rem;
  padding: 0 2px;
}

.settings-group-title[b-wj0yi90d58] {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-900, #192344);
  line-height: 1.2;
}

.settings-section-card[b-wj0yi90d58] {
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
  padding: 0.80rem 1rem;
}

/* =========================================================
   Form layout
   ========================================================= */

.settings-grid[b-wj0yi90d58] {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px 16px;
  align-items: start;
}

.settings-grid--single-start[b-wj0yi90d58] {
  grid-template-columns: minmax(260px, 420px);
}

.settings-field[b-wj0yi90d58] {
  min-width: 0;
}

.settings-field--full[b-wj0yi90d58] {
  grid-column: 1 / -1;
}

.settings-field--medium[b-wj0yi90d58] {
  max-width: 420px;
}

.settings-field .form-label[b-wj0yi90d58] {
  display: inline-block;
  margin-bottom: 0.26rem;
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--text-900, #192344);
  line-height: 1.2;
}

.settings-field .form-control[b-wj0yi90d58],
.settings-field .form-select[b-wj0yi90d58] {
  min-height: 36px;
}

.settings-check[b-wj0yi90d58] {
  margin: 0.04rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 32px;
}

  .settings-check .form-check-input[b-wj0yi90d58] {
    margin-top: 0;
    flex: 0 0 auto;
  }

  .settings-check .form-check-label[b-wj0yi90d58] {
    margin: 0;
    color: var(--text-900, #192344);
    font-weight: 400;
    line-height: 1.25;
  }

/* =========================================================
   Save button
   ========================================================= */

.settings-save-btn[b-wj0yi90d58] {
  min-width: 150px;
  min-height: 30px;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: none;
}

/* =========================================================
   Disabled field styling
   ========================================================= */

.settings-main-card .form-control:disabled[b-wj0yi90d58],
.settings-main-card .form-select:disabled[b-wj0yi90d58] {
  background-color: #f8fafc;
  color: #64748b;
  opacity: 1;
  border-color: rgba(25, 35, 68, 0.08);
  cursor: not-allowed;
}

  .settings-main-card .form-control:disabled[b-wj0yi90d58]::placeholder {
    color: #94a3b8;
  }

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1100px) {
  .settings-scroll[b-wj0yi90d58] {
    padding: 12px 12px 14px;
  }

  .settings-grid[b-wj0yi90d58] {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }

  .settings-grid--single-start[b-wj0yi90d58] {
    grid-template-columns: 1fr;
  }

  .settings-field--medium[b-wj0yi90d58] {
    max-width: none;
  }
}

@media (max-width: 768px) {
  .settings-main-card-header[b-wj0yi90d58] {
    align-items: flex-start;
    flex-direction: column;
  }

  .settings-main-card-actions[b-wj0yi90d58] {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .settings-page-title[b-wj0yi90d58] {
    font-size: 20px;
  }

  .settings-page-subtitle[b-wj0yi90d58],
  .settings-main-card-subtitle[b-wj0yi90d58] {
    font-size: 12px;
  }

  .settings-section-card[b-wj0yi90d58] {
    padding: 0.75rem 0.85rem;
  }

  .settings-save-btn[b-wj0yi90d58] {
    width: 100%;
    min-width: 0;
  }
}
/* /Components/Pages/Wam.Assets.BrandGuidelines.razor.rz.scp.css */
.brand-guidelines-admin-page[b-brs5peoila] {
  --deep-navy: #192344;
  --honest-blue: #1D3A6D;
  --slate-blue: #758CA7;
  --pale-slate: #D8E2E8;
  --almond-cream: #EBE1CB;
  --paper-white: #FFFFFF;
  --tech-turquoise: #5BC4BF;
  --magnetic-mandarine: #FAA94B;
  --electric-lime: #D2DE31;
  --preeminent-pine: #437367;
  --captivating-coral: #F15F57;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.brand-guidelines-shell[b-brs5peoila] {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.brand-guidelines-page-header[b-brs5peoila] {
  padding: 0.05rem 0.1rem 0.25rem;
}

.brand-guidelines-page-subtitle[b-brs5peoila] {
  margin: 0;
  color: var(--text-500, #758CA7);
  font-size: 0.9rem;
  line-height: 1.35;
}

.brand-guidelines-main-card[b-brs5peoila] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200, rgba(25, 35, 68, 0.08));
  border-radius: 14px;
  box-shadow: var(--shadow-1, 0 1px 2px rgba(15, 23, 42, 0.06), 0 6px 18px rgba(15, 23, 42, 0.06));
  padding: 0.85rem 1rem 0.9rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

.brand-guidelines-group + .brand-guidelines-group[b-brs5peoila] {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--border-200, rgba(25, 35, 68, 0.08));
}

.brand-guidelines-group-header[b-brs5peoila] {
  margin-bottom: 0.6rem;
}

.brand-guidelines-group-title[b-brs5peoila] {
  margin: 0 0 0.1rem;
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 700;
  color: var(--text-500, #758CA7);
}

.brand-guidelines-group-subtitle[b-brs5peoila] {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--text-500, #758CA7);
}

.color-grid[b-brs5peoila] {
  display: grid;
  gap: 1rem 1.25rem;
  align-items: start;
}

.color-grid--three[b-brs5peoila] {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.color-grid--two[b-brs5peoila] {
  grid-template-columns: repeat(auto-fit, minmax(220px, 260px));
}

.color-card[b-brs5peoila] {
  min-width: 0;
  max-width: 240px;
}

.swatch[b-brs5peoila] {
  width: 88px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 0.45rem;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.1;
  color: var(--text-500, #758CA7);
}

.brand-guidelines-group:last-of-type .swatch[b-brs5peoila] {
  font-size: 0.72rem;
  line-height: 1.05;
  padding: 0 0.2rem;
}

.swatch--dark[b-brs5peoila] {
  color: #fff;
}

.swatch--outline[b-brs5peoila] {
  border: 1px solid #c8ced6;
}

.text-light[b-brs5peoila] {
  color: #fff;
}

.color-meta[b-brs5peoila] {
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--text-900, #192344);
}

  .color-meta strong[b-brs5peoila] {
    font-weight: 700;
  }

@media (max-width: 768px) {
  .brand-guidelines-main-card[b-brs5peoila] {
    padding: 0.8rem 0.85rem 0.9rem;
  }

  .brand-guidelines-group-title[b-brs5peoila] {
    font-size: 1.15rem;
  }

  .brand-guidelines-group-subtitle[b-brs5peoila] {
    font-size: 0.9rem;
  }

  .color-card[b-brs5peoila] {
    max-width: unset;
  }
}
/* /Components/Shared/Books/AdminBookPackagesWorkspace.razor.rz.scp.css */
/* Admin Book Packages Workspace */
/* ---------------------------------------------------------
   Controls the fixed-height Promotion Cycle Book Packages
   workspace, parent rows, expanded summaries, and pagination.
   --------------------------------------------------------- */

.admin-book-packages-page[b-ns89yctqsv] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8fafc;
}

.admin-book-packages-workspace[b-ns89yctqsv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Summary Cards */
/* ---------------------------------------------------------
   Keeps cycle-level status summaries compact and stable above
   the internally scrolling Book Packages table.
   --------------------------------------------------------- */

.admin-book-packages-summary-strip[b-ns89yctqsv] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.admin-book-packages-summary-card[b-ns89yctqsv] {
    min-height: 78px;
    padding: 10px 12px;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 3px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

    .admin-book-packages-summary-card:hover[b-ns89yctqsv] {
        border-color: #b9c8dc;
    }

.admin-book-packages-summary-card--active[b-ns89yctqsv] {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
}

.admin-book-packages-summary-card--success[b-ns89yctqsv] {
    border-color: #bdebd2;
}

.admin-book-packages-summary-card--ready[b-ns89yctqsv] {
    border-color: #b8d8ff;
}

.admin-book-packages-summary-card--info[b-ns89yctqsv] {
    border-color: #c9d8f4;
}

.admin-book-packages-summary-label[b-ns89yctqsv] {
    color: #334155;
    font-size: 13px;
    font-weight: 700;
}

.admin-book-packages-summary-value[b-ns89yctqsv] {
    color: #0f274b;
    font-size: 21px;
    line-height: 1;
}

.admin-book-packages-summary-meta[b-ns89yctqsv] {
    color: #7890b2;
    font-size: 12px;
}

/* Main Card */
/* ---------------------------------------------------------
   Preserves fixed-height page behavior. The table region owns
   vertical and horizontal scrolling; pagination remains anchored.
   --------------------------------------------------------- */

.admin-book-packages-card[b-ns89yctqsv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.admin-book-packages-header[b-ns89yctqsv] {
    flex: 0 0 auto;
    min-height: 68px;
    padding: 12px 14px;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

    .admin-book-packages-header h2[b-ns89yctqsv] {
        margin: 0;
        color: #10264a;
        font-size: 19px;
        font-weight: 750;
    }

    .admin-book-packages-header p[b-ns89yctqsv] {
        margin: 3px 0 0;
        color: #7186aa;
        font-size: 12.5px;
    }

.admin-book-packages-cycle-context[b-ns89yctqsv] {
    flex: 0 0 auto;
    margin: 10px 14px 0;
    padding: 8px 10px;
    border: 1px solid #d7e4f5;
    border-radius: 8px;
    background: #f5f9ff;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .admin-book-packages-cycle-context span[b-ns89yctqsv] {
        color: #6b82a6;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .admin-book-packages-cycle-context strong[b-ns89yctqsv] {
        color: #173764;
        font-size: 13px;
    }

.admin-book-packages-body[b-ns89yctqsv] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 12px 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Filters */
/* ---------------------------------------------------------
   Aligns Admin Books filtering with Promotions and Promotion
   Pricing using Status, Promotion Cycle, and Page Size controls.
   --------------------------------------------------------- */

.admin-book-packages-controls[b-ns89yctqsv] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(280px, 340px) 180px 100px;
    gap: 10px;
    margin-bottom: 10px;
    align-items: end;
}

.admin-book-packages-control[b-ns89yctqsv] {
    min-width: 0;
}

    .admin-book-packages-control label[b-ns89yctqsv] {
        display: block;
        margin-bottom: 4px;
        color: #263d63;
        font-size: 11px;
        font-weight: 700;
    }

    .admin-book-packages-control .form-control[b-ns89yctqsv],
    .admin-book-packages-control .form-select[b-ns89yctqsv] {
        min-height: 36px;
        font-size: 13px;
    }

/* Parent table widths */
/* ---------------------------------------------------------
   Gives Promotion Cycle more room while keeping compact
   count and badge columns tighter.
   --------------------------------------------------------- */

.admin-book-packages-table[b-ns89yctqsv] {
    width: 100%;
}

.admin-book-packages-col-cycle[b-ns89yctqsv] {
    width: 360px;
}

.admin-book-packages-col-period[b-ns89yctqsv] {
    width: 100px;
}

.admin-book-packages-col-promotions[b-ns89yctqsv] {
    width: 90px;
}

.admin-book-packages-col-pricing[b-ns89yctqsv] {
    width: 150px;
}

.admin-book-packages-col-books[b-ns89yctqsv] {
    width: 90px;
}

.admin-book-packages-col-status[b-ns89yctqsv] {
    width: 160px;
}

.admin-book-packages-search[b-ns89yctqsv] {
    width: 100%;
}

.admin-book-packages-control--cycle[b-ns89yctqsv] {
    min-width: 0;
}

    .admin-book-packages-control--cycle[b-ns89yctqsv]  .searchable-select {
        width: 100%;
    }

    .admin-book-packages-control--cycle[b-ns89yctqsv]  .admin-book-packages-filter-select {
        width: 100%;
        min-height: 36px;
        font-size: 13px;
    }

.admin-book-packages-state[b-ns89yctqsv] {
    flex: 0 0 auto;
    margin-bottom: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569;
    font-size: 13px;
}

.admin-book-packages-state--error[b-ns89yctqsv] {
    background: #fff1f2;
    color: #be123c;
}

/* Table */
/* ---------------------------------------------------------
   Sticky headers remain visible while the table container owns
   vertical and horizontal scrolling.
   --------------------------------------------------------- */

.admin-book-packages-table-region[b-ns89yctqsv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 10px 10px 0 0;
}

.admin-book-packages-table-wrap[b-ns89yctqsv] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.admin-book-packages-table[b-ns89yctqsv] {
    width: 100%;
    min-width: 1040px;
    margin: 0;
    table-layout: fixed;
}

    .admin-book-packages-table thead th[b-ns89yctqsv] {
        position: sticky;
        top: 0;
        z-index: 3;
        height: 40px;
        padding: 8px 10px;
        border-bottom: 1px solid #dbe4ef;
        background: #f8fafc;
        color: #52709b;
        font-size: 10.5px;
        font-weight: 800;
        text-transform: uppercase;
        vertical-align: middle;
    }

    .admin-book-packages-table tbody td[b-ns89yctqsv] {
        height: 54px;
        padding: 8px 10px;
        border-bottom: 1px solid #edf1f6;
        color: #18335c;
        font-size: 12.5px;
        vertical-align: middle;
    }

    .admin-book-packages-table tbody tr:hover:not(.admin-book-packages-detail-row)[b-ns89yctqsv] {
        background: #fbfdff;
    }

/* Book Proof Disabled Layout */
/* ---------------------------------------------------------
   Reclaims Book Proof column space while preserving the
   fixed Books workspace and table-owned scrolling behavior.
   --------------------------------------------------------- */

.admin-book-packages-page--without-book-proof .admin-book-packages-table[b-ns89yctqsv] {
    min-width: 900px;
}

.admin-book-packages-col-expand[b-ns89yctqsv] {
    width: 42px;
    text-align: center;
}

.admin-book-packages-col-cycle[b-ns89yctqsv] {
    width: 245px;
}

.admin-book-packages-col-period[b-ns89yctqsv] {
    width: 105px;
}

.admin-book-packages-period[b-ns89yctqsv] {
    color: #294568;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
}

.admin-book-packages-sort-button[b-ns89yctqsv] {
    appearance: none;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    text-transform: inherit;
}

    .admin-book-packages-sort-button span[b-ns89yctqsv] {
        margin-left: 3px;
        color: #8da2c1;
    }

.admin-book-packages-sort-button--active[b-ns89yctqsv] {
    color: #1d4ed8;
}

.admin-book-packages-cycle-name[b-ns89yctqsv] {
    color: #10264a;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
}

.admin-book-packages-secondary[b-ns89yctqsv] {
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    color: #7186aa;
    font-size: 11px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
}

.admin-book-packages-secondary-date[b-ns89yctqsv] {
    flex: 0 0 auto;
    color: #6b82a6;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.admin-book-packages-secondary-separator[b-ns89yctqsv] {
    flex: 0 0 auto;
    color: #94a3b8;
}

.admin-book-packages-secondary-status[b-ns89yctqsv] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #7186aa;
}

.admin-book-packages-number[b-ns89yctqsv] {
    color: #10284d;
    font-size: 14px;
}

.admin-book-packages-expand-button[b-ns89yctqsv] {
    width: 27px;
    height: 27px;
    border: 1px solid #d8e2ef;
    border-radius: 7px;
    background: #f8fbff;
    color: #2563eb;
    font-size: 17px;
    line-height: 1;
}

.admin-book-packages-action-link[b-ns89yctqsv] {
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
}

.admin-book-packages-status[b-ns89yctqsv],
.admin-book-packages-progress[b-ns89yctqsv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 24px;
    padding: 3px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.admin-book-packages-status--success[b-ns89yctqsv],
.admin-book-packages-progress--success[b-ns89yctqsv] {
    border-color: #bbf7d0;
    background: #ecfdf5;
    color: #047857;
}

.admin-book-packages-status--ready[b-ns89yctqsv] {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.admin-book-packages-status--info[b-ns89yctqsv],
.admin-book-packages-progress--info[b-ns89yctqsv] {
    border-color: #c7d2fe;
    background: #eef2ff;
    color: #4338ca;
}

.admin-book-packages-status--neutral[b-ns89yctqsv],
.admin-book-packages-progress--neutral[b-ns89yctqsv] {
    border-color: #e2e8f0;
    background: #f1f5f9;
    color: #64748b;
}

.admin-book-packages-progress--warning[b-ns89yctqsv] {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.admin-book-packages-row--expanded[b-ns89yctqsv] {
    background: #f8fbff;
}

/* Expanded Cycle Summary */
/* ---------------------------------------------------------
   Provides an initial consolidated cycle summary. Detailed child
   tables replace these summary bodies in the following increments.
   --------------------------------------------------------- */

.admin-book-packages-detail-row td[b-ns89yctqsv] {
    height: auto !important;
    padding: 10px !important;
    background: #f8fafc;
}

.admin-book-packages-detail-grid[b-ns89yctqsv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.admin-book-packages-detail-card[b-ns89yctqsv] {
    min-width: 0;
    padding: 11px;
    border: 1px solid #dde6f1;
    border-radius: 10px;
    background: #fff;
}

    .admin-book-packages-detail-card > header[b-ns89yctqsv] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }

    .admin-book-packages-detail-card h3[b-ns89yctqsv] {
        margin: 0;
        color: #17335e;
        font-size: 13.5px;
        font-weight: 750;
    }

    .admin-book-packages-detail-card p[b-ns89yctqsv] {
        margin: 3px 0 0;
        color: #7890b2;
        font-size: 11.5px;
    }

.admin-book-packages-detail-metrics[b-ns89yctqsv] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

    .admin-book-packages-detail-metrics > div[b-ns89yctqsv] {
        padding: 7px 8px;
        border: 1px solid #edf1f6;
        border-radius: 7px;
        background: #fafcff;
    }

    .admin-book-packages-detail-metrics span[b-ns89yctqsv] {
        display: block;
        color: #7890b2;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .admin-book-packages-detail-metrics strong[b-ns89yctqsv] {
        display: block;
        margin-top: 2px;
        color: #16335e;
        font-size: 15px;
    }

.admin-book-packages-detail-message[b-ns89yctqsv] {
    margin-top: 9px;
    color: #536b8f;
    font-size: 11.5px;
}

/* Manufacturer Book Proof Child Table */
/* ---------------------------------------------------------
   Displays cycle-scoped Manufacturer Book Proof request and
   lifecycle records inside the expanded Book Package row.
   Horizontal overflow remains inside the child table container.
   --------------------------------------------------------- */

.admin-book-packages-detail-card--wide[b-ns89yctqsv] {
    grid-column: 1 / -1;
}

.admin-book-packages-child-table-wrap[b-ns89yctqsv] {
    width: 100%;
    margin-top: 10px;
    overflow-x: auto;
    border: 1px solid #e3eaf3;
    border-radius: 8px;
}

.admin-book-packages-child-table[b-ns89yctqsv] {
    width: 100%;
    min-width: 980px;
    margin: 0;
    table-layout: fixed;
}

    .admin-book-packages-child-table thead th[b-ns89yctqsv] {
        position: static;
        height: 34px;
        padding: 7px 8px;
        border-bottom: 1px solid #dbe4ef;
        background: #f8fafc;
        color: #59739a;
        font-size: 9.5px;
        font-weight: 800;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .admin-book-packages-child-table tbody td[b-ns89yctqsv] {
        height: 48px;
        padding: 7px 8px;
        border-bottom: 1px solid #edf1f6;
        color: #294568;
        font-size: 11.5px;
        vertical-align: middle;
    }

    .admin-book-packages-child-table tbody tr:last-child td[b-ns89yctqsv] {
        border-bottom: 0;
    }

    .admin-book-packages-child-table th:nth-child(1)[b-ns89yctqsv] {
        width: 150px;
    }

    .admin-book-packages-child-table th:nth-child(2)[b-ns89yctqsv] {
        width: 125px;
    }

    .admin-book-packages-child-table th:nth-child(3)[b-ns89yctqsv] {
        width: 155px;
    }

    .admin-book-packages-child-table th:nth-child(4)[b-ns89yctqsv],
    .admin-book-packages-child-table th:nth-child(6)[b-ns89yctqsv],
    .admin-book-packages-child-table th:nth-child(7)[b-ns89yctqsv] {
        width: 100px;
    }

    .admin-book-packages-child-table th:nth-child(5)[b-ns89yctqsv] {
        width: 135px;
    }

    .admin-book-packages-child-table th:nth-child(8)[b-ns89yctqsv] {
        width: 145px;
        text-align: center;
    }

    .admin-book-packages-child-actions[b-ns89yctqsv] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        white-space: nowrap;
    }

        .admin-book-packages-child-actions
        .admin-book-packages-action-link + .admin-book-packages-action-link[b-ns89yctqsv]::before {
            content: "·";
            margin-right: 9px;
            color: #94a3b8;
            text-decoration: none;
        }

    .admin-book-packages-child-table td:last-child[b-ns89yctqsv] {
        text-align: center;
    }

.admin-book-packages-child-primary[b-ns89yctqsv] {
    color: #17345f;
    font-weight: 700;
}

.admin-book-packages-child-secondary[b-ns89yctqsv] {
    margin-top: 2px;
    color: #8295b2;
    font-size: 10px;
}

.admin-book-packages-child-secondary--warning[b-ns89yctqsv] {
    color: #b45309;
    font-weight: 600;
}

.admin-book-packages-child-version[b-ns89yctqsv] {
    display: inline-flex;
    min-height: 22px;
    padding: 2px 8px;
    align-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #f8fafc;
    color: #526b90;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.admin-book-packages-child-empty[b-ns89yctqsv] {
    padding: 18px;
    color: #7890b2;
    text-align: center;
}

/* Final Book Source Review States */
/* ---------------------------------------------------------
   Distinguishes active source corrections from completed source
   corrections awaiting review of the published Final Book PDF.
   --------------------------------------------------------- */

.admin-book-packages-final-status-stack[b-ns89yctqsv] {
    display: inline-grid;
    justify-items: start;
    gap: 4px;
}

.admin-book-packages-final-review-badge[b-ns89yctqsv],
.admin-book-packages-final-correction-badge[b-ns89yctqsv] {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 750;
    white-space: nowrap;
}

.admin-book-packages-final-review-badge[b-ns89yctqsv] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.admin-book-packages-final-correction-badge[b-ns89yctqsv] {
    border-color: #fecaca;
    background: #fef2f2;
    color: #b91c1c;
}

.admin-book-packages-action-link--review[b-ns89yctqsv] {
    color: #b45309;
}

/* Final Book Packages Child Table */
/* ---------------------------------------------------------
   Displays cycle-scoped Distributor and Book Type Final Book
   readiness. Horizontal overflow remains inside the child region.
   --------------------------------------------------------- */

.admin-book-packages-final-table[b-ns89yctqsv] {
    min-width: 1060px;
}

    .admin-book-packages-final-table th:nth-child(1)[b-ns89yctqsv] {
        width: 155px;
    }

    .admin-book-packages-final-table th:nth-child(2)[b-ns89yctqsv] {
        width: 100px;
    }

    .admin-book-packages-final-table th:nth-child(3)[b-ns89yctqsv] {
        width: 145px;
    }

    .admin-book-packages-final-table th:nth-child(4)[b-ns89yctqsv] {
        width: 145px;
    }

    .admin-book-packages-final-table th:nth-child(5)[b-ns89yctqsv] {
        width: 135px;
    }

    .admin-book-packages-final-table th:nth-child(6)[b-ns89yctqsv] {
        width: 95px;
        text-align: center;
    }

    .admin-book-packages-final-table th:nth-child(7)[b-ns89yctqsv] {
        width: 105px;
    }

    .admin-book-packages-final-table th:nth-child(8)[b-ns89yctqsv] {
        width: 165px;
        text-align: center;
    }

    .admin-book-packages-final-table td:nth-child(6)[b-ns89yctqsv],
    .admin-book-packages-final-table td:nth-child(8)[b-ns89yctqsv] {
        text-align: center;
    }

.admin-book-packages-final-table--without-book-proof[b-ns89yctqsv] {
    min-width: 920px;
}

    .admin-book-packages-final-table--without-book-proof th:nth-child(1)[b-ns89yctqsv] {
        width: 155px;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(2)[b-ns89yctqsv] {
        width: 100px;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(3)[b-ns89yctqsv] {
        width: 145px;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(4)[b-ns89yctqsv] {
        width: 135px;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(5)[b-ns89yctqsv] {
        width: 95px;
        text-align: center;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(6)[b-ns89yctqsv] {
        width: 105px;
        text-align: left;
    }

    .admin-book-packages-final-table--without-book-proof th:nth-child(7)[b-ns89yctqsv] {
        width: 165px;
        text-align: center;
    }

    .admin-book-packages-final-table--without-book-proof td:nth-child(5)[b-ns89yctqsv],
    .admin-book-packages-final-table--without-book-proof td:nth-child(7)[b-ns89yctqsv] {
        text-align: center;
    }

    .admin-book-packages-final-table--without-book-proof td:nth-child(6)[b-ns89yctqsv] {
        text-align: left;
    }

/* Empty State and Pagination */
/* ---------------------------------------------------------
   Pagination remains anchored at the bottom regardless of row count.
   --------------------------------------------------------- */

.admin-book-packages-empty[b-ns89yctqsv] {
    padding: 28px;
    color: #7890b2;
    text-align: center;
    font-size: 13px;
}

.admin-book-packages-pager[b-ns89yctqsv] {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 8px 10px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #60799d;
    font-size: 12px;
}

    .admin-book-packages-pager > div[b-ns89yctqsv] {
        display: flex;
        align-items: center;
        gap: 12px;
    }

@media (max-width: 1100px) {
    .admin-book-packages-controls[b-ns89yctqsv] {
        grid-template-columns: minmax(260px, 1fr) 120px 135px 160px 75px;
    }

    .admin-book-packages-summary-strip[b-ns89yctqsv] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Shared/Books/BooksAdminWorkspace.razor.rz.scp.css */
/* BooksAdminWorkspace.razor.css - Admin Books workspace styles
/* ---------------------------------------------------------
   Hosts the consolidated Promotion Cycle Book Packages
   workspace and its Final Book and Manufacturer Book Proof
   modal workflows.
   --------------------------------------------------------- */

/* Workspace Shell */
/* ---------------------------------------------------------
   Maintains the full-height flex chain so Book Packages owns
   internal scrolling and sticky pagination.
   --------------------------------------------------------- */

.admin-books-workspace[b-1jeyxd4j5c] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8fafc;
}

/* Book Packages Panel */
/* ---------------------------------------------------------
   Allows the consolidated Book Packages workspace to fill the
   available page region without standalone tab navigation.
   --------------------------------------------------------- */

.admin-books-panel[b-1jeyxd4j5c] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Shared Final Book Modal Host */
/* ---------------------------------------------------------
   Preserves fixed-height behavior for BooksShared when hosted
   as a modal workflow inside Book Packages.
   --------------------------------------------------------- */

[b-1jeyxd4j5c] .books-page {
    height: 100%;
    min-height: 0;
}
/* /Components/Shared/Books/BooksManufacturerWorkspace.razor.rz.scp.css */
/* =========================================================
   BooksManufacturerWorkspace.razor.css
   Manufacturer-side Books workspace styles
   ---------------------------------------------------------
   Hosts the shared Manufacturer-side Books tab experience:
   - Published Books
   - Book Proofs

   Broker uses this same workspace with represented
   Manufacturer scope. Keep this file focused on shell and
   tab navigation only.
   ========================================================= */

/* =========================================================
   Workspace shell
   ---------------------------------------------------------
   Maintains the full-height flex chain so Published Books
   and Book Proofs can own internal scrolling.
   ========================================================= */

.manufacturer-books-workspace[b-hjmrvp53kf] {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f8fafc;
}

/* =========================================================
   Books tab strip
   ---------------------------------------------------------
   Compact pill-style navigation aligned with Report tabs.
   Used by Manufacturer and Broker Books pages.
   ========================================================= */

.manufacturer-books-tabs[b-hjmrvp53kf] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  gap: 4px;
  padding: 4px;
  margin: 0 0 10px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 999px;
  background: #f8fafc;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  min-width: 0;
  flex-wrap: wrap;
}

.manufacturer-books-tab[b-hjmrvp53kf] {
  appearance: none;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 124px;
  padding: 0 18px;
  border-radius: 999px;
  color: var(--text-600, #475569);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

  .manufacturer-books-tab:hover[b-hjmrvp53kf] {
    color: #1d3a6d;
    background: rgba(37, 99, 235, 0.06);
  }

.manufacturer-books-tab--active[b-hjmrvp53kf] {
  background: #fff;
  color: #1d4ed8;
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
}

.manufacturer-books-tab:focus-visible[b-hjmrvp53kf] {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* =========================================================
   Active tab panel
   ---------------------------------------------------------
   The active child component fills this region and owns its
   own table/list scrolling behavior.
   ========================================================= */

.manufacturer-books-panel[b-hjmrvp53kf] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Ensure nested BooksShared pages preserve fixed-height behavior. */
[b-hjmrvp53kf] .books-page {
  height: 100%;
  min-height: 0;
}
/* /Components/Shared/Books/BooksShared.razor.rz.scp.css */
/* BooksShared.razor.css */
/* ---------------------------------------------------------
   Provides the shared WAM Admin, Distributor, Manufacturer, and
   Broker Books workspace, including summary cards, filters,
   fixed-height tables, sticky actions, anchored pagination,
   Final Book package details, uploads, replacements, previews,
   and projected create-panel validation.
   --------------------------------------------------------- */

/* Page shell */
/* ---------------------------------------------------------
   Participates in the shared full-height layout chain and
   establishes the Books page container-query context.
   --------------------------------------------------------- */

.books-page[b-m9xufmwp9t] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    color: #0f172a;
    overflow: hidden;
    box-sizing: border-box;
    container-type: inline-size;
    container-name: books-page;
}

.books-workspace[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Summary cards */
/* ---------------------------------------------------------
   Provides compact operational status cards aligned with
   DashboardShared and supports quick status filtering.
   --------------------------------------------------------- */

.books-summary-strip[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: grid;
    gap: 10px;
}

.books-summary-strip--four[b-m9xufmwp9t] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.books-summary-card[b-m9xufmwp9t] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    text-align: left;
    box-shadow: var(--shadow-1);
}

.books-summary-card-button[b-m9xufmwp9t] {
    width: 100%;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .books-summary-card-button:hover[b-m9xufmwp9t] {
        border-color: rgba(29, 58, 109, 0.18);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

.books-summary-card.is-active[b-m9xufmwp9t] {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
}

.books-summary-card--success[b-m9xufmwp9t] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.books-summary-card--warning[b-m9xufmwp9t] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.books-summary-card--info[b-m9xufmwp9t] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.books-summary-card--neutral[b-m9xufmwp9t] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.books-summary-label[b-m9xufmwp9t] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-summary-value[b-m9xufmwp9t] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.books-summary-meta[b-m9xufmwp9t] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Final Book list card */
/* ---------------------------------------------------------
   Contains the page header, role-appropriate actions, filters,
   internally scrolling table, and anchored pagination.
   --------------------------------------------------------- */
.books-card[b-m9xufmwp9t] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.books-list-card[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.books-panel-header[b-m9xufmwp9t] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.95rem 1rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    flex: 0 0 auto;
}

.books-panel-title[b-m9xufmwp9t] {
    min-width: 0;
}

.books-panel-actions[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.books-primary-button[b-m9xufmwp9t] {
    min-height: 2.05rem;
    min-width: 140px;
    padding: 0.38rem 0.85rem;
    border-radius: 0.55rem;
    font-size: 0.86rem;
    font-weight: 750;
    line-height: 1.2;
}

.books-card-title[b-m9xufmwp9t] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-900);
}

.books-card-subtitle[b-m9xufmwp9t] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
}

.books-list-body[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    min-width: 0;
    padding: 0;
}

/* Filters and Search */
/* ---------------------------------------------------------
   Aligns Books filtering with Promotions and Promotion Pricing:
   Search, Status, Book Type, Promotion Cycle, and Page Size.
   --------------------------------------------------------- */

.books-controls[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: minmax(320px, 1.8fr) minmax(130px, 0.55fr) minmax(130px, 0.55fr) minmax(220px, 0.9fr) minmax(110px, 0.4fr);
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.7rem;
    border-bottom: 0;
    background: #ffffff;
    flex: 0 0 auto;
}

.books-control[b-m9xufmwp9t] {
    min-width: 0;
}

/* Prevent search control overflow at reduced content widths. */
.books-control-search[b-m9xufmwp9t] {
    min-width: 0;
}

.books-control-label[b-m9xufmwp9t] {
    display: block;
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: #334155;
}

.books-search[b-m9xufmwp9t],
.books-filter-select[b-m9xufmwp9t] {
    min-height: 2.2rem;
    border-radius: 0.55rem;
    border-color: #dbe4ef;
    font-size: 0.84rem;
    color: #0f172a;
}

    .books-search[b-m9xufmwp9t]::placeholder {
        color: #94a3b8;
    }

/* Filter toolbar container behavior */
/* ---------------------------------------------------------
   Responds to actual Books content width after sidebar
   expansion or collapse rather than browser width alone.
   --------------------------------------------------------- */

@container books-page (max-width: 1120px) {
    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .books-control-search[b-m9xufmwp9t] {
        grid-column: 1 / span 2;
    }
}

@container books-page (max-width: 820px) {
    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .books-control-search[b-m9xufmwp9t] {
        grid-column: 1 / -1;
    }
}

.books-table-region[b-m9xufmwp9t] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    background: #ffffff;
    overflow: hidden;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.books-table-wrap[b-m9xufmwp9t] {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    position: relative;
    background: #ffffff;
}

.books-table[b-m9xufmwp9t] {
    margin: 0;
    min-width: 1100px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
    padding-left: 8px;
}

    /* Sticky table header */
    /* ---------------------------------------------------------
   Keeps Final Book column headings visible inside the
   table-owned vertical scrolling region.
   --------------------------------------------------------- */
    .books-table thead th[b-m9xufmwp9t] {
        position: sticky;
        top: 0;
        z-index: 12;
        background: #ffffff;
        border-bottom: 0;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        white-space: nowrap;
        padding: 0.58rem 0.55rem;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .books-table tbody td[b-m9xufmwp9t] {
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        padding: 0.56rem 0.55rem;
        background: #ffffff;
    }

    .books-table tbody tr:hover td[b-m9xufmwp9t] {
        background: #fbfdff;
    }

/* Promotion Cycle Group Rows */
/* ---------------------------------------------------------
   Groups Final Book packages by exact Promotion Cycle while
   preserving the Books table scroll region and column widths.
   Matches the Promotions and Promotion Pricing group treatment.
   --------------------------------------------------------- */

.books-cycle-group-row td[b-m9xufmwp9t] {
    padding: 0 !important;
    border-top: 1px solid rgba(37, 99, 235, 0.14);
    border-bottom: 1px solid rgba(37, 99, 235, 0.16);
    background: linear-gradient(180deg, #f4f8ff 0%, #f8fbff 100%) !important;
}

.books-table tbody tr.books-cycle-group-row:hover td[b-m9xufmwp9t] {
    background: linear-gradient(180deg, #f4f8ff 0%, #f8fbff 100%) !important;
}

.books-cycle-group-header[b-m9xufmwp9t] {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px 7px 14px;
}

.books-cycle-group-main[b-m9xufmwp9t] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.books-cycle-group-label[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 2px 6px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.84);
    color: #64748b;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.books-cycle-group-name[b-m9xufmwp9t] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-cycle-group-period[b-m9xufmwp9t] {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 11.5px;
    font-weight: 650;
    white-space: nowrap;
}

.books-cycle-group-actions[b-m9xufmwp9t] {
    position: sticky;
    right: 10px;
    z-index: 3;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    padding-left: 10px;
    background: linear-gradient( 90deg, rgba(248, 251, 255, 0) 0%, rgba(248, 251, 255, 0.96) 18%, #f8fbff 38%);
}

.books-cycle-group-count[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.13);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 10.5px;
    font-weight: 750;
    white-space: nowrap;
}

/* Final Book table columns */
/* ---------------------------------------------------------
   Uses fixed column widths to protect the desktop workspace
   and preserve the shared enterprise table layout.
   --------------------------------------------------------- */
.books-col-package[b-m9xufmwp9t] {
    width: 310px;
    min-width: 270px;
}

.books-col-company[b-m9xufmwp9t] {
    width: 155px;
}

.books-col-type[b-m9xufmwp9t] {
    width: 105px;
}

.books-col-status[b-m9xufmwp9t] {
    width: 105px;
}

.books-col-books[b-m9xufmwp9t] {
    width: 72px;
    text-align: center;
}

.books-col-promotions[b-m9xufmwp9t] {
    width: 96px;
    text-align: center;
}

.books-col-published[b-m9xufmwp9t] {
    width: 108px;
}

.books-col-actions[b-m9xufmwp9t] {
    width: 112px;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Keeps Final Book actions visible during horizontal scrolling.
   The sticky cell remains neutral while the inner action zone
   provides visual emphasis.
   --------------------------------------------------------- */
.books-table th.books-col-actions[b-m9xufmwp9t],
.books-table td.books-col-actions[b-m9xufmwp9t] {
    position: sticky;
    right: 0;
    z-index: 10;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.books-table thead th.books-col-actions[b-m9xufmwp9t] {
    z-index: 18;
    background: #ffffff;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.books-table tbody tr:hover td.books-col-actions[b-m9xufmwp9t] {
    background: #fbfdff;
}

[b-m9xufmwp9t] .books-primary-title-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.books-primary-title[b-m9xufmwp9t] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
    color: #0f172a;
}

.books-primary[b-m9xufmwp9t] {
    font-weight: 750;
    color: #0f172a;
}

.books-secondary[b-m9xufmwp9t] {
    margin-top: 0.15rem;
    font-size: 0.76rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-number[b-m9xufmwp9t] {
    font-weight: 800;
    color: #0f172a;
}

/* Sortable table headers */
/* ---------------------------------------------------------
   Provides compact button-based sorting controls and active
   sort indicators.
   --------------------------------------------------------- */
.books-sort-button[b-m9xufmwp9t] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

    .books-sort-button:hover[b-m9xufmwp9t] {
        color: #2563eb;
    }

.books-sort-button--active[b-m9xufmwp9t] {
    color: #2563eb;
}

.books-sort-indicator[b-m9xufmwp9t] {
    font-size: 0.72rem;
}

[b-m9xufmwp9t] .books-source-impact-tooltip-wrap {
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
}

.books-source-impact-pill[b-m9xufmwp9t] {
    display: inline-flex;
    align-items: center;
    margin-top: 4px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.books-source-impact-alert[b-m9xufmwp9t] {
    border: 1px solid #facc15;
    background: #fffbeb;
    color: #78350f;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 12px;
}

.books-source-impact-alert-title[b-m9xufmwp9t] {
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 3px;
}

.books-source-impact-alert-text[b-m9xufmwp9t] {
    font-size: 12px;
    line-height: 1.4;
}

.books-context-badge--source-impact[b-m9xufmwp9t] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.books-source-impact-list[b-m9xufmwp9t] {
    margin-top: 6px;
    display: grid;
    gap: 3px;
}

.books-source-impact-line[b-m9xufmwp9t] {
    font-size: 12px;
    font-weight: 700;
    color: #92400e;
}

/* Book type and status badges */
/* ---------------------------------------------------------
   Aligns Final Book type and workflow status pills with
   Promotions and Promotion Pricing.
   --------------------------------------------------------- */
.books-type-badge[b-m9xufmwp9t],
.books-status-badge[b-m9xufmwp9t],
.books-context-badge[b-m9xufmwp9t] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.books-type-badge[b-m9xufmwp9t] {
    min-width: 76px;
}

.books-type-badge--prepack[b-m9xufmwp9t] {
    border-color: rgba(63, 111, 159, 0.16);
    background: rgba(63, 111, 159, 0.12);
    color: rgb(63, 111, 159);
}

.books-type-badge--openstock[b-m9xufmwp9t] {
    border-color: rgba(142, 59, 103, 0.16);
    background: rgba(142, 59, 103, 0.10);
    color: rgb(142, 59, 103);
}

.books-type-badge--mixed[b-m9xufmwp9t] {
    border-color: rgba(109, 40, 217, 0.14);
    background: rgba(109, 40, 217, 0.10);
    color: #6d28d9;
}

.books-type-badge--default[b-m9xufmwp9t] {
    border-color: rgba(148, 163, 184, 0.18);
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

.books-status-badge[b-m9xufmwp9t] {
    min-width: 80px;
}

.books-status-badge--published[b-m9xufmwp9t] {
    background: rgba(34, 197, 94, 0.16);
    color: #15803d;
}

.books-status-badge--draft[b-m9xufmwp9t] {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
}

.books-status-badge--pending[b-m9xufmwp9t] {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.books-status-badge--archived[b-m9xufmwp9t],
.books-status-badge--default[b-m9xufmwp9t] {
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

/* Row actions */
/* ---------------------------------------------------------
   Provides the compact action zone used for Details and
   View Book commands.
   --------------------------------------------------------- */
.books-row-actions[b-m9xufmwp9t] {
    width: 100%;
    min-height: 34px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 5px 8px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.books-table tbody tr:hover .books-row-actions[b-m9xufmwp9t] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.books-link-action[b-m9xufmwp9t] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

    .books-link-action:hover:not(:disabled)[b-m9xufmwp9t] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .books-link-action:disabled[b-m9xufmwp9t] {
        color: #94a3b8;
        cursor: not-allowed;
        text-decoration: none;
    }

.books-link-action-secondary[b-m9xufmwp9t] {
    color: #334155;
}

/* Expanded package details */
/* ---------------------------------------------------------
   Provides the inline package-detail layout for Final Book files,
   source reports, Promotions, and package context.
   --------------------------------------------------------- */
.books-detail-row td[b-m9xufmwp9t] {
    padding: 0 !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #dbe4ef;
}

.books-detail-panel[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(340px, 2fr);
    gap: 0.65rem;
    padding: 0.65rem 0.75rem 0.75rem;
    background: #f8fafc;
}

.books-detail-section[b-m9xufmwp9t] {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #ffffff;
    padding: 0.65rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
    overflow: visible;
}

.books-detail-section-wide[b-m9xufmwp9t] {
    grid-column: 1 / -1;
}

.books-detail-title-row[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.5rem;
}

.books-detail-section-title[b-m9xufmwp9t] {
    font-size: 0.85rem;
    font-weight: 850;
    color: #0f172a;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.books-detail-section-helper[b-m9xufmwp9t] {
    margin-top: 0.12rem;
    font-size: 0.76rem;
    font-weight: 500;
    color: #64748b;
    text-transform: none;
    letter-spacing: normal;
}

.books-context-badge[b-m9xufmwp9t] {
    color: #475569;
    background: #f8fafc;
    border-color: #e2e8f0;
    font-size: 0.7rem;
}

.books-context-badge--official[b-m9xufmwp9t] {
    color: #047857;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.books-context-badge--source[b-m9xufmwp9t] {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #dbeafe;
}

/* Final Book file cards */
/* ---------------------------------------------------------
   Displays uploaded Final Book PDF files and associated actions.
   --------------------------------------------------------- */
.books-file-list[b-m9xufmwp9t],
.books-source-list[b-m9xufmwp9t],
.books-promotion-grid[b-m9xufmwp9t] {
    display: grid;
    gap: 0.55rem;
}

.books-file-card[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.55rem 0.6rem;
    background: #ffffff;
}

.books-file-icon[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.7rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.7rem;
    font-weight: 900;
}

.books-file-copy[b-m9xufmwp9t] {
    min-width: 0;
}

.books-file-title[b-m9xufmwp9t] {
    font-weight: 850;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-file-meta[b-m9xufmwp9t],
.books-source-meta[b-m9xufmwp9t],
.books-promotion-meta[b-m9xufmwp9t] {
    margin-top: 0.15rem;
    font-size: 0.76rem;
    color: #64748b;
}

.books-file-actions[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

    .books-file-actions .btn[b-m9xufmwp9t] {
        border-radius: 0.5rem;
        font-size: 0.75rem;
        font-weight: 750;
    }

/* Source reports and Promotions */
/* ---------------------------------------------------------
   Displays Distributor Pricing source reports and included
   Promotions within expanded package details.
   --------------------------------------------------------- */
.books-source-card[b-m9xufmwp9t],
.books-promotion-card[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.55rem 0.65rem;
    background: #ffffff;
}

.books-source-title[b-m9xufmwp9t],
.books-promotion-title[b-m9xufmwp9t] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
    color: #0f172a;
}

.books-source-copy[b-m9xufmwp9t],
.books-promotion-copy[b-m9xufmwp9t] {
    min-width: 0;
    flex: 1 1 auto;
}

.books-source-actions[b-m9xufmwp9t] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.18rem;
    flex-shrink: 0;
}

.books-promotion-grid[b-m9xufmwp9t] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.books-source-report-card[b-m9xufmwp9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.65rem 0.75rem;
    background: #ffffff;
}

.books-source-report-main[b-m9xufmwp9t] {
    min-width: 0;
    flex: 1 1 auto;
}

.books-source-report-title[b-m9xufmwp9t] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 850;
    color: #0f172a;
}

.books-source-report-meta[b-m9xufmwp9t] {
    margin-top: 0.16rem;
    font-size: 0.76rem;
    color: #64748b;
}

.books-source-report-included[b-m9xufmwp9t] {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    margin-top: 0.45rem;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.3;
}

.books-source-report-included-label[b-m9xufmwp9t] {
    font-weight: 850;
    color: #334155;
}

.books-source-report-promotion-line[b-m9xufmwp9t] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-source-report-actions[b-m9xufmwp9t] {
    padding-top: 0.05rem;
}

/* Empty states */
/* ---------------------------------------------------------
   Provides list-level and expanded-detail empty-state treatments.
   --------------------------------------------------------- */
.books-empty-cell[b-m9xufmwp9t] {
    padding: 2rem !important;
    background: #ffffff !important;
}

.books-empty-state[b-m9xufmwp9t],
.books-detail-empty[b-m9xufmwp9t] {
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
    padding: 1.1rem;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
}

.books-empty-state--list[b-m9xufmwp9t] {
    align-self: start;
    margin: 14px;
    width: auto;
    max-width: calc(100% - 28px);
    box-sizing: border-box;
}

/* Anchored pagination */
/* ---------------------------------------------------------
   Keeps pagination stable at the bottom of the Books workspace.
   --------------------------------------------------------- */
.books-pager[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.books-pager-summary[b-m9xufmwp9t] {
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 500;
}

.books-pager-page[b-m9xufmwp9t] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.books-pager-actions[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Final Book Package Details modal */
/* ---------------------------------------------------------
   Displays package context, Final Book files, source reports,
   included Promotions, and package-level actions.
   --------------------------------------------------------- */

.books-details-modal[b-m9xufmwp9t] {
    width: min(1080px, 94vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.books-details-modal-header[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.1rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
}

.books-details-title-wrap[b-m9xufmwp9t] {
    min-width: 0;
}

    .books-details-title-wrap .books-upload-modal-subtitle[b-m9xufmwp9t] {
        max-width: 860px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.books-details-modal-body[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    background: #f8fafc;
}

.books-details-context-card[b-m9xufmwp9t] {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    padding: 0.85rem 0.95rem;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
}

.books-details-context-header[b-m9xufmwp9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.books-details-status-pills[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.books-details-context-grid[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) 140px 120px 110px 125px;
    gap: 0.45rem;
}

.books-details-context-item[b-m9xufmwp9t] {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.6rem;
    padding: 0.45rem 0.55rem;
    background: #f8fafc;
}

.books-details-context-label[b-m9xufmwp9t] {
    font-size: 0.64rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.books-details-context-value[b-m9xufmwp9t] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
}

.books-details-section-clean[b-m9xufmwp9t] {
    padding: 0.75rem 0.8rem;
}

.books-file-card--details[b-m9xufmwp9t] {
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
    min-height: 4rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.books-source-report-card--details[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: 0.9rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.books-source-report-included--details[b-m9xufmwp9t] {
    margin-top: 0.65rem;
    padding-top: 0.55rem;
    border-top: 1px solid #edf2f7;
}

.books-source-report-actions--details[b-m9xufmwp9t] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    padding-top: 0;
}

    .books-source-report-actions--details .btn[b-m9xufmwp9t] {
        border-radius: 0.5rem;
        font-size: 0.75rem;
        font-weight: 750;
        white-space: nowrap;
    }

.books-details-modal-footer[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    padding: 0.8rem 1.1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

    .books-details-modal-footer .btn[b-m9xufmwp9t] {
        min-width: 110px;
        border-radius: 0.6rem;
        font-weight: 750;
    }

/* Final Book Source Review Confirmation */
/* ---------------------------------------------------------
   Provides the confirmation workflow used when corrected source
   data does not require replacement of the published PDF.
   --------------------------------------------------------- */

.books-source-impact-alert--review[b-m9xufmwp9t] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #78350f;
}

.books-source-impact-alert--correction[b-m9xufmwp9t] {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.books-confirm-modal[b-m9xufmwp9t] {
    width: min(580px, 94vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.books-confirm-modal-body[b-m9xufmwp9t] {
    padding: 1rem 1.15rem;
    display: grid;
    gap: 0.85rem;
    background: #f8fafc;
}

.books-confirm-current-pdf-context[b-m9xufmwp9t] {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid #dbe4ef;
    border-radius: 9px;
    background: #fff;
}

    .books-confirm-current-pdf-context span[b-m9xufmwp9t] {
        color: #64748b;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .books-confirm-current-pdf-context strong[b-m9xufmwp9t] {
        color: #17345f;
        font-size: 13px;
    }

.books-confirm-current-pdf-notice[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid #fde68a;
    border-radius: 9px;
    background: #fffbeb;
    color: #78350f;
}

    .books-confirm-current-pdf-notice i[b-m9xufmwp9t] {
        margin-top: 2px;
        color: #b45309;
    }

    .books-confirm-current-pdf-notice div[b-m9xufmwp9t] {
        display: grid;
        gap: 3px;
    }

    .books-confirm-current-pdf-notice strong[b-m9xufmwp9t] {
        font-size: 12.5px;
    }

    .books-confirm-current-pdf-notice span[b-m9xufmwp9t] {
        font-size: 12px;
        line-height: 1.45;
    }

.books-confirm-current-pdf-error[b-m9xufmwp9t] {
    margin: 0;
}

/* Upload Final Book modal */
/* ---------------------------------------------------------
   Provides Final Book context selection, source-report selection,
   PDF upload, draft creation, and publishing controls.
   --------------------------------------------------------- */

.books-modal-backdrop[b-m9xufmwp9t] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(15, 23, 42, 0.48);
}

.books-upload-modal[b-m9xufmwp9t] {
    width: min(1180px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.books-upload-modal-header[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.72rem 1rem 0.62rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.books-upload-modal-title[b-m9xufmwp9t] {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 750;
    color: #0f172a;
}

.books-upload-modal-subtitle[b-m9xufmwp9t] {
    margin: 0.14rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
}

.books-modal-close[b-m9xufmwp9t] {
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 1.45rem;
    line-height: 1;
    padding: 0.1rem 0.2rem;
}

    .books-modal-close:hover[b-m9xufmwp9t] {
        color: #0f172a;
    }

.books-upload-modal-body[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.7rem 0.85rem;
    display: grid;
    grid-template-rows: auto minmax(150px, 1fr) auto auto;
    gap: 0.65rem;
    background: #f8fafc;
}

.books-upload-section[b-m9xufmwp9t] {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
    overflow: hidden;
}

    .books-upload-section:nth-of-type(2)[b-m9xufmwp9t] {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

        .books-upload-section:nth-of-type(2) .books-upload-source-list[b-m9xufmwp9t] {
            flex: 1 1 auto;
        }

.books-upload-section-header[b-m9xufmwp9t] {
    padding: 0.55rem 0.75rem 0.48rem;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
}

.books-upload-section-title[b-m9xufmwp9t] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #0f172a;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.books-upload-section-helper[b-m9xufmwp9t] {
    margin-top: 0.12rem;
    font-size: 0.72rem;
    color: #64748b;
}

.books-upload-grid[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.58rem 0.75rem 0.62rem;
}

.books-upload-field[b-m9xufmwp9t] {
    min-width: 0;
}

.books-upload-field-wide[b-m9xufmwp9t] {
    grid-column: 1 / -1;
}

.books-upload-label[b-m9xufmwp9t] {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.74rem;
    font-weight: 800;
    color: #334155;
}

.books-upload-input[b-m9xufmwp9t] {
    min-height: 2.25rem;
    border-radius: 0.55rem;
    border-color: #dbe4ef;
    font-size: 0.84rem;
}

.books-upload-source-list[b-m9xufmwp9t] {
    min-height: 140px;
    max-height: none;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.95rem 0.8rem 0.75rem;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f8fafc;
}

    .books-upload-source-list[b-m9xufmwp9t]::-webkit-scrollbar {
        width: 0.25rem;
    }

    .books-upload-source-list[b-m9xufmwp9t]::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 999px;
    }

    .books-upload-source-list[b-m9xufmwp9t]::-webkit-scrollbar-track {
        background: #f8fafc;
    }

.books-upload-source-row[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #ffffff;
    cursor: pointer;
}

    .books-upload-source-row:hover[b-m9xufmwp9t] {
        border-color: #bfdbfe;
        background: #fbfdff;
    }

.books-upload-source-title[b-m9xufmwp9t] {
    display: block;
    font-size: 0.84rem;
    font-weight: 800;
    color: #0f172a;
}

.books-upload-source-meta[b-m9xufmwp9t] {
    display: block;
    margin-top: 0.14rem;
    font-size: 0.75rem;
    color: #64748b;
}

.books-upload-dropzone[b-m9xufmwp9t] {
    position: relative;
    margin: 0.55rem 0.75rem 0.65rem;
    min-height: 4.25rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    overflow: hidden;
    padding: 0.65rem 0.75rem;
    border: 1px dashed #93c5fd;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

    .books-upload-dropzone:hover[b-m9xufmwp9t] {
        border-color: #2563eb;
        background: linear-gradient(180deg, #ffffff 0%, #dbeafe 100%);
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
    }

    .books-upload-dropzone:focus-within[b-m9xufmwp9t] {
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
    }

    .books-upload-dropzone:active[b-m9xufmwp9t] {
        transform: translateY(1px);
    }

.books-upload-dropzone-icon[b-m9xufmwp9t] {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 900;
}

.books-upload-dropzone-title[b-m9xufmwp9t] {
    font-size: 0.84rem;
    font-weight: 750;
    color: #1d4ed8;
}

.books-upload-dropzone:hover .books-upload-dropzone-title[b-m9xufmwp9t] {
    text-decoration: underline;
    text-underline-offset: 0.16rem;
}

.books-upload-dropzone-helper[b-m9xufmwp9t] {
    margin-top: 0.1rem;
    font-size: 0.72rem;
    color: #64748b;
}

.books-upload-modal-footer[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

    .books-upload-modal-footer .btn[b-m9xufmwp9t] {
        min-width: 110px;
        border-radius: 0.6rem;
        font-weight: 750;
    }

.books-upload-dropzone-content[b-m9xufmwp9t] {
    min-width: 0;
}

.books-upload-dropzone[b-m9xufmwp9t]  .books-upload-file-input {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.books-upload-context-panel[b-m9xufmwp9t] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.books-upload-context-item[b-m9xufmwp9t] {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.6rem;
    padding: 0.45rem 0.6rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.books-upload-context-label[b-m9xufmwp9t] {
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.books-upload-context-value[b-m9xufmwp9t] {
    margin-top: 0.12rem;
    font-size: 0.8rem;
    font-weight: 750;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-m9xufmwp9t] .books-upload-context-tooltip {
    display: block;
    min-width: 0;
    width: 100%;
}

.books-upload-context-value--sources[b-m9xufmwp9t] {
    width: 100%;
    min-width: 0;
}

.books-upload-context-helper[b-m9xufmwp9t] {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    color: #64748b;
}

.books-upload-context-warning[b-m9xufmwp9t] {
    margin-top: 0.6rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid #fed7aa;
    border-radius: 0.65rem;
    background: #fff7ed;
    color: #9a3412;
    font-size: 0.78rem;
    font-weight: 750;
}

.books-upload-section-header-with-action[b-m9xufmwp9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.books-upload-clear-button[b-m9xufmwp9t] {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 0.76rem;
    font-weight: 850;
    padding: 0.1rem 0;
}

    .books-upload-clear-button:hover[b-m9xufmwp9t] {
        color: #1d4ed8;
        text-decoration: underline;
    }

.books-upload-source-row.is-selected[b-m9xufmwp9t] {
    border-color: #93c5fd;
    background: #eff6ff;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.books-upload-source-row.is-disabled[b-m9xufmwp9t] {
    cursor: not-allowed;
    opacity: 0.72;
    background: #f8fafc;
    border-style: dashed;
}

    .books-upload-source-row.is-disabled:hover[b-m9xufmwp9t] {
        border-color: #e2e8f0;
        background: #f8fafc;
    }

    .books-upload-source-row.is-disabled input[b-m9xufmwp9t] {
        cursor: not-allowed;
    }

.books-upload-source-reason[b-m9xufmwp9t] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-weight: 750;
    color: #b45309;
}

.books-upload-source-copy[b-m9xufmwp9t] {
    min-width: 0;
}

.books-upload-source-title-row[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    min-width: 0;
}

    .books-upload-source-title-row .books-upload-source-title[b-m9xufmwp9t] {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.books-upload-selected-badge[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.25rem;
    padding: 0.12rem 0.5rem;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1;
}

.books-upload-generated-title[b-m9xufmwp9t] {
    min-height: 2rem;
    display: flex;
    align-items: center;
    padding: 0.38rem 0.62rem;
    border: 1px solid #dbe4ef;
    border-radius: 0.55rem;
    background: #f8fafc;
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Final Book Publication Readiness */
/* ---------------------------------------------------------
   Displays pricing, Book Proof, PDF, and source-impact
   prerequisites before Final Book publication.
   --------------------------------------------------------- */

.books-publication-readiness[b-m9xufmwp9t] {
    padding: 9px 11px;
    border: 1px solid #dbe5f1;
    border-radius: 12px;
    background: #fbfdff;
}

.books-publication-readiness--details[b-m9xufmwp9t] {
    margin-top: 12px;
}

.books-publication-readiness__header[b-m9xufmwp9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

    .books-publication-readiness__header h3[b-m9xufmwp9t] {
        margin: 0;
        color: #10284d;
        font-size: 12.5px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .books-publication-readiness__header p[b-m9xufmwp9t] {
        margin: 2px 0 0;
        color: #7186a6;
        font-size: 12px;
    }

.books-publication-readiness__badge[b-m9xufmwp9t] {
    flex: 0 0 auto;
    min-height: 24px;
    padding: 3px 10px;
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.books-publication-readiness__badge--ready[b-m9xufmwp9t] {
    border-color: #bbf7d0;
    background: #ecfdf5;
    color: #047857;
}

.books-publication-readiness__badge--blocked[b-m9xufmwp9t] {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.books-publication-readiness__checks[b-m9xufmwp9t] {
    margin-top: 7px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.books-publication-readiness__check[b-m9xufmwp9t] {
    min-width: 0;
    min-height: 48px;
    padding: 7px 9px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border: 1px solid #e3eaf3;
    border-radius: 9px;
    background: #ffffff;
}

    .books-publication-readiness__check > i[b-m9xufmwp9t] {
        flex: 0 0 auto;
        margin-top: 2px;
        font-size: 15px;
    }

    .books-publication-readiness__check strong[b-m9xufmwp9t] {
        display: block;
        color: #203c64;
        font-size: 12px;
    }

    .books-publication-readiness__check span[b-m9xufmwp9t] {
        display: block;
        margin-top: 2px;
        color: #7186a6;
        font-size: 11px;
        line-height: 1.35;
    }

.books-publication-readiness__check--ready[b-m9xufmwp9t] {
    border-color: #cdeedb;
    background: #f8fffb;
}

    .books-publication-readiness__check--ready > i[b-m9xufmwp9t] {
        color: #059669;
    }

.books-publication-readiness__check--blocked[b-m9xufmwp9t] {
    border-color: #fed7aa;
    background: #fffaf5;
}

    .books-publication-readiness__check--blocked > i[b-m9xufmwp9t] {
        color: #ea580c;
    }

.books-publication-readiness__blockers[b-m9xufmwp9t] {
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff7f7;
    color: #9f2d20;
    font-size: 11.5px;
}

    .books-publication-readiness__blockers strong[b-m9xufmwp9t] {
        display: block;
        margin-bottom: 4px;
    }

    .books-publication-readiness__blockers ul[b-m9xufmwp9t] {
        margin: 0;
        padding-left: 18px;
    }

    .books-publication-readiness__blockers li + li[b-m9xufmwp9t] {
        margin-top: 3px;
    }

.books-publication-readiness__note[b-m9xufmwp9t] {
    margin-top: 10px;
    padding: 8px 10px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11.5px;
}

@media (max-width: 900px) {
    .books-publication-readiness__checks[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }
}

/* Replace Final Book PDF modal */
/* ---------------------------------------------------------
   Displays the current file and replacement PDF upload workflow.
   --------------------------------------------------------- */
.books-replace-modal[b-m9xufmwp9t] {
    width: min(720px, 94vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.books-replace-modal-body[b-m9xufmwp9t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.15rem;
    display: grid;
    gap: 0.85rem;
    background: #f8fafc;
}

.books-replace-current-file[b-m9xufmwp9t] {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    background: #ffffff;
    padding: 0.85rem 0.95rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
}

.books-replace-current-label[b-m9xufmwp9t] {
    font-size: 0.72rem;
    font-weight: 850;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.books-replace-current-name[b-m9xufmwp9t] {
    margin-top: 0.25rem;
    font-size: 0.92rem;
    font-weight: 850;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-replace-current-meta[b-m9xufmwp9t] {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #64748b;
}

.books-replace-dropzone[b-m9xufmwp9t] {
    margin: 0;
}



.books-detail-empty-action[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

    .books-detail-empty-action .btn[b-m9xufmwp9t] {
        border-radius: 0.55rem;
        font-size: 0.75rem;
        font-weight: 750;
    }

.books-upload-source-group[b-m9xufmwp9t] {
    align-items: flex-start;
    gap: 0.65rem;
}

.books-upload-source-group-copy[b-m9xufmwp9t] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    flex: 1 1 auto;
}

.books-upload-source-title-row[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.books-upload-source-title[b-m9xufmwp9t] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-upload-source-included[b-m9xufmwp9t] {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    margin-top: 0.2rem;
    color: #475569;
    font-size: 0.78rem;
    line-height: 1.3;
}

.books-upload-source-included-label[b-m9xufmwp9t] {
    font-weight: 800;
    color: #334155;
}

.books-upload-source-promotion-line[b-m9xufmwp9t] {
    padding-left: 0.15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.books-upload-source-group--selected[b-m9xufmwp9t] {
    border-color: #93c5fd;
    background: #eff6ff;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.2);
}

.books-upload-source-group--disabled[b-m9xufmwp9t] {
    cursor: not-allowed;
    opacity: 0.72;
    background: #f8fafc;
}

    .books-upload-source-group--disabled .books-upload-source-title[b-m9xufmwp9t],
    .books-upload-source-group--disabled .books-upload-source-meta[b-m9xufmwp9t],
    .books-upload-source-group--disabled .books-upload-source-included[b-m9xufmwp9t] {
        color: #94a3b8;
    }

.books-upload-source-status-pill[b-m9xufmwp9t] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid #dbe4ef;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 800;
}

.books-upload-source-unavailable[b-m9xufmwp9t] {
    margin-top: 0.25rem;
    color: #991b1b;
    font-size: 0.76rem;
    font-weight: 700;
}


.books-file-title--details[b-m9xufmwp9t],
.books-source-report-title--details[b-m9xufmwp9t] {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.25;
}

.books-source-report-included--details[b-m9xufmwp9t] {
    max-height: none;
    overflow: visible;
    padding-right: 0;
}

.books-source-report-included-header[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

.books-source-report-included-hint[b-m9xufmwp9t] {
    flex: 0 0 auto;
    color: #94a3b8;
    font-size: 0.7rem;
    font-weight: 750;
}

.books-source-report-included-scroll--details[b-m9xufmwp9t] {
    max-height: 7rem;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.35rem;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f8fafc;
}

    .books-source-report-included-scroll--details[b-m9xufmwp9t]::-webkit-scrollbar {
        width: 0.25rem;
    }

    .books-source-report-included-scroll--details[b-m9xufmwp9t]::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 999px;
    }

    .books-source-report-included-scroll--details[b-m9xufmwp9t]::-webkit-scrollbar-track {
        background: #f8fafc;
    }

.books-source-report-promotion-line--details[b-m9xufmwp9t] {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

/* Inline loading and error states */
/* ---------------------------------------------------------
   Provides list-level loading and failure messages.
   --------------------------------------------------------- */
.books-inline-state[b-m9xufmwp9t] {
    margin: 0.65rem 1rem 0;
    padding: 0.55rem 0.75rem;
    border: 1px solid #dbeafe;
    border-radius: 0.65rem;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.8rem;
    font-weight: 700;
}

.books-inline-state--error[b-m9xufmwp9t] {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

/* Upload validation error */
/* ---------------------------------------------------------
   Displays Final Book upload and publishing validation failures.
   --------------------------------------------------------- */

.books-upload-error[b-m9xufmwp9t] {
    margin: 0 1.15rem 0.85rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #fecaca;
    border-radius: 0.65rem;
    background: #fef2f2;
    color: #991b1b;
    font-size: 0.8rem;
    font-weight: 750;
}

/* =====================================
   Promotion Cycle Context
   ---------------------------------------------------------
   Displays the exact Promotion Cycle applied from Cycle Summary
   above the Final Book filters.
   ===================================== */

.books-cycle-context[b-m9xufmwp9t] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 12px;
    padding: 7px 10px;
    border: 1px solid #cfe0fb;
    border-radius: 8px;
    background: #f4f8ff;
}

.books-cycle-context-label[b-m9xufmwp9t] {
    color: #5e7698;
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.books-cycle-context-value[b-m9xufmwp9t] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 11.5px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Final Book modal viewport height */
/* ---------------------------------------------------------
   Allows the modal body to own vertical scrolling on shorter
   laptop displays while preserving the Source Association
   section as an independently scrollable source list.
   --------------------------------------------------------- */

@media (max-height: 820px) {
    .books-modal-backdrop[b-m9xufmwp9t] {
        align-items: flex-start;
        padding: 0.5rem;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .books-upload-modal[b-m9xufmwp9t] {
        width: min(1180px, calc(100vw - 1rem));
        max-height: calc(100vh - 1rem);
        margin: 0 auto 0.5rem;
    }

    .books-upload-modal-header[b-m9xufmwp9t] {
        padding-top: 0.55rem;
        padding-bottom: 0.48rem;
    }

    .books-upload-modal-body[b-m9xufmwp9t] {
        overflow-y: auto;
        overscroll-behavior: contain;
        grid-template-rows: auto auto auto auto;
        padding-top: 0.55rem;
        padding-bottom: 0.55rem;
        scrollbar-gutter: stable;
    }

    .books-upload-source-list[b-m9xufmwp9t] {
        min-height: 150px;
        max-height: 220px;
    }

    .books-upload-modal-footer[b-m9xufmwp9t] {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

/* Viewport responsive behavior */
/* ---------------------------------------------------------
   Adapts filters, expanded details, modal layouts, and actions
   for narrower browser viewports.
   --------------------------------------------------------- */
@media (max-width: 1280px) {
    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .books-control-search[b-m9xufmwp9t] {
        grid-column: 1 / -1;
    }

    .books-detail-panel[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-promotion-grid[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-source-report-card--details[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-source-report-actions--details[b-m9xufmwp9t] {
        justify-content: flex-start;
    }

    .books-details-context-grid[b-m9xufmwp9t] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .books-page[b-m9xufmwp9t] {
        padding: 0.75rem;
    }

    .books-workspace[b-m9xufmwp9t] {
        min-height: 0;
    }

    .books-panel-header[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
    }

    .books-panel-actions[b-m9xufmwp9t],
    .books-panel-actions .btn[b-m9xufmwp9t] {
        width: 100%;
    }

    .books-summary-strip--four[b-m9xufmwp9t],
    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-control-search[b-m9xufmwp9t] {
        min-width: 0;
    }

    .books-file-card[b-m9xufmwp9t] {
        grid-template-columns: 2.65rem minmax(0, 1fr);
    }

    .books-file-actions[b-m9xufmwp9t] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .books-pager[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
    }

    .books-pager-actions[b-m9xufmwp9t] {
        justify-content: space-between;
    }

    .books-upload-modal[b-m9xufmwp9t] {
        width: 100%;
        max-height: 94vh;
    }

    .books-upload-grid[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-upload-modal-footer[b-m9xufmwp9t] {
        flex-direction: column;
    }

        .books-upload-modal-footer .btn[b-m9xufmwp9t] {
            width: 100%;
        }

    .books-upload-context-panel[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-upload-modal-body[b-m9xufmwp9t] {
        overflow-y: auto;
        display: grid;
        grid-template-rows: auto auto auto auto;
    }

    .books-upload-source-list[b-m9xufmwp9t] {
        max-height: 13rem;
    }

    .books-details-modal[b-m9xufmwp9t] {
        width: 100%;
        max-height: 94vh;
    }

    .books-details-modal-header[b-m9xufmwp9t],
    .books-details-modal-footer[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
    }

    .books-file-card--details[b-m9xufmwp9t] {
        grid-template-columns: 2.65rem minmax(0, 1fr);
    }

    .books-source-report-actions--details[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
    }

        .books-source-report-actions--details .btn[b-m9xufmwp9t] {
            width: 100%;
        }

    .books-details-context-header[b-m9xufmwp9t] {
        flex-direction: column;
    }

    .books-details-status-pills[b-m9xufmwp9t] {
        justify-content: flex-start;
    }

    .books-details-context-grid[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-details-context-value[b-m9xufmwp9t] {
        white-space: normal;
    }
}

/* Container responsive behavior */
/* ---------------------------------------------------------
   Responds to available Books content width after sidebar
   expansion or collapse. The desktop table model remains intact
   while summary cards, filters, actions, and pagination adapt.
   --------------------------------------------------------- */

@container books-page (max-width: 1100px) {
    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(120px, 1fr));
    }
}

@container books-page (max-width: 820px) {
    .books-summary-strip--four[b-m9xufmwp9t] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .books-panel-header[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
    }

    .books-panel-actions[b-m9xufmwp9t] {
        justify-content: flex-start;
    }

    .books-primary-button[b-m9xufmwp9t] {
        width: 100%;
    }

    .books-controls[b-m9xufmwp9t] {
        grid-template-columns: 1fr;
    }

    .books-control-search[b-m9xufmwp9t] {
        min-width: 0;
    }

    .books-pager[b-m9xufmwp9t] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
    }

    .books-pager-actions[b-m9xufmwp9t] {
        justify-content: space-between;
    }
}
/* /Components/Shared/Books/ManufacturerBookProofRequirementsAdminShared.razor.rz.scp.css */
/* Book Proof Requirements Workspace */
/* ---------------------------------------------------------
   Fixed-height WAM Admin requirement workspace with internal
   table scrolling, anchored pagination, and modal workflows.
   --------------------------------------------------------- */

.proof-requirements-page[b-m229atk9b1] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8fafc;
    color: #0f172a;
}

.proof-requirements-workspace[b-m229atk9b1] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

.proof-requirements-summary[b-m229atk9b1] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.proof-requirements-summary-card[b-m229atk9b1] {
    appearance: none;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    background: #fff;
    text-align: left;
    box-shadow: var(--shadow-1);
    cursor: pointer;
}

.proof-requirements-summary-card--info[b-m229atk9b1] {
    border-color: rgba(37, 99, 235, 0.22);
}

.proof-requirements-summary-card--warning[b-m229atk9b1] {
    border-color: rgba(250, 169, 75, 0.34);
}

.proof-requirements-summary-card--success[b-m229atk9b1] {
    border-color: rgba(22, 163, 74, 0.24);
}

.proof-requirements-summary-label[b-m229atk9b1],
.proof-requirements-summary-meta[b-m229atk9b1] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proof-requirements-summary-label[b-m229atk9b1] {
    color: var(--text-600);
    font-size: 13px;
    font-weight: 700;
}

.proof-requirements-summary-value[b-m229atk9b1] {
    display: block;
    margin-top: 5px;
    font-size: 21px;
    line-height: 1;
}

.proof-requirements-summary-meta[b-m229atk9b1] {
    margin-top: 5px;
    color: var(--text-500);
    font-size: 12px;
}

.proof-requirements-card[b-m229atk9b1] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.proof-requirements-header[b-m229atk9b1] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}

    .proof-requirements-header h2[b-m229atk9b1] {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
    }

    .proof-requirements-header p[b-m229atk9b1] {
        margin: 4px 0 0;
        color: var(--text-500);
        font-size: 13px;
    }

.proof-requirements-header-actions[b-m229atk9b1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.proof-requirements-primary-button[b-m229atk9b1] {
    min-height: 2.05rem;
    min-width: 120px;
    padding: 0.38rem 0.85rem;
    font-size: 0.86rem;
    font-weight: 750;
}

.proof-requirements-body[b-m229atk9b1] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.proof-requirements-controls[b-m229atk9b1] {
    display: grid;
    grid-template-columns: minmax(280px, 1.7fr) minmax(145px, 0.8fr) minmax(175px, 0.9fr) minmax(145px, 0.75fr) 80px;
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.7rem;
}

.proof-requirements-control[b-m229atk9b1] {
    min-width: 0;
}

    .proof-requirements-control label[b-m229atk9b1] {
        display: block;
        margin-bottom: 0.22rem;
        color: #334155;
        font-size: 0.72rem;
        font-weight: 800;
    }

    .proof-requirements-control .form-select[b-m229atk9b1] {
        min-height: 2.2rem;
        border-radius: 0.55rem;
        border-color: #dbe4ef;
        font-size: 0.84rem;
    }

[b-m229atk9b1] .proof-requirements-search-wrapper,
[b-m229atk9b1] .proof-requirements-filter-searchable {
    width: 100%;
    min-width: 0;
}

    [b-m229atk9b1] .proof-requirements-search-wrapper .form-control,
    [b-m229atk9b1] .proof-requirements-filter-searchable .searchable-select__button {
        min-height: 2.2rem;
        border-radius: 0.55rem;
        border-color: #dbe4ef;
        font-size: 0.84rem;
    }

.proof-requirements-table-region[b-m229atk9b1] {
    min-height: 0;
    height: 100%;
    margin: 0 12px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.proof-requirements-table-wrap[b-m229atk9b1] {
    position: relative;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #ffffff;
}

/* Requirements Table Layout */

/* ---------------------------------------------------------
   Uses a fixed 1080px minimum table width with proportional
   columns. Long text remains inside its assigned cell and uses
   the shared CustomTooltip when clipped.
   --------------------------------------------------------- */
.proof-requirements-table[b-m229atk9b1] {
    width: 100%;
    min-width: 1080px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

.proof-requirements-table thead th[b-m229atk9b1] {
    position: sticky;
    top: 0;
    z-index: 10;
    padding: 0.58rem 0.55rem;
    overflow: hidden;
    background: #fff;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.proof-requirements-table tbody td[b-m229atk9b1] {
    min-width: 0;
    padding: 0.56rem 0.55rem;
    overflow: hidden;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
}

.proof-requirements-col-cycle[b-m229atk9b1] {
    width: 195px;
}

.proof-requirements-col-manufacturer[b-m229atk9b1] {
    width: 155px;
}

.proof-requirements-col-status[b-m229atk9b1] {
    width: 110px;
}

.proof-requirements-col-requested-as[b-m229atk9b1] {
    width: 160px;
}

.proof-requirements-col-reviewer[b-m229atk9b1] {
    width: 205px;
}

.proof-requirements-col-requested[b-m229atk9b1],
.proof-requirements-col-decision[b-m229atk9b1] {
    width: 84px;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    text-align: center;
    white-space: nowrap;
}

.proof-requirements-col-actions[b-m229atk9b1] {
    width: 112px;
    text-align: center;
}

.proof-requirements-primary[b-m229atk9b1],
.proof-requirements-secondary[b-m229atk9b1] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proof-requirements-primary[b-m229atk9b1] {
    color: #0f172a;
    font-weight: 700;
}

.proof-requirements-secondary[b-m229atk9b1] {
    margin-top: 2px;
    color: #64748b;
    font-size: 0.74rem;
}

/* Custom Tooltip Triggers */
/* ---------------------------------------------------------
   Keeps tooltip trigger content inside fixed-width table cells
   and applies ellipsis to clipped primary and secondary text.
   --------------------------------------------------------- */

[b-m229atk9b1] .proof-requirements-tooltip,
[b-m229atk9b1] .proof-requirements-cell-tooltip-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

    [b-m229atk9b1] .proof-requirements-tooltip .proof-requirements-primary,
    [b-m229atk9b1] .proof-requirements-tooltip .proof-requirements-secondary,
    [b-m229atk9b1] .proof-requirements-cell-tooltip-wrap .proof-requirements-primary,
    [b-m229atk9b1] .proof-requirements-cell-tooltip-wrap .proof-requirements-secondary {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.proof-requirements-status[b-m229atk9b1] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.proof-requirements-status--info[b-m229atk9b1] {
    background: #eff6ff;
    color: #1d4ed8;
}

.proof-requirements-status--warning[b-m229atk9b1] {
    background: #fff7ed;
    color: #c2410c;
}

.proof-requirements-status--success[b-m229atk9b1] {
    background: #ecfdf5;
    color: #047857;
}

.proof-requirements-status--neutral[b-m229atk9b1] {
    background: #f1f5f9;
    color: #475569;
}

/* Row Actions */
/* ---------------------------------------------------------
   Compact action zone aligned with the Final Book table.
   --------------------------------------------------------- */

.proof-requirements-row-actions[b-m229atk9b1] {
    width: 100%;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.proof-requirements-table tbody tr:hover
.proof-requirements-row-actions[b-m229atk9b1] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.proof-requirements-link-action[b-m229atk9b1] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

/* Sticky Actions Column */
/* ---------------------------------------------------------
   Keeps Book Proof Requirement actions visible during
   horizontal table scrolling and follows the established
   Final Book Packages table pattern.
   --------------------------------------------------------- */

.proof-requirements-table th.proof-requirements-col-actions[b-m229atk9b1],
.proof-requirements-table td.proof-requirements-col-actions[b-m229atk9b1] {
    position: sticky;
    right: 0;
    z-index: 10;
    overflow: visible;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.proof-requirements-table thead th.proof-requirements-col-actions[b-m229atk9b1] {
    z-index: 18;
    background: #ffffff;
    text-align: center;
    text-overflow: clip;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.proof-requirements-table tbody tr:hover
td.proof-requirements-col-actions[b-m229atk9b1] {
    background: #fbfdff;
}

.proof-requirements-pager[b-m229atk9b1] {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    font-size: 0.78rem;
}

    .proof-requirements-pager div[b-m229atk9b1] {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }

.proof-requirements-state[b-m229atk9b1],
.proof-requirements-empty[b-m229atk9b1] {
    padding: 1rem;
    color: #64748b;
    text-align: center;
}

.proof-requirements-state--error[b-m229atk9b1],
.proof-requirements-form-error[b-m229atk9b1] {
    color: #b42318;
}

/* Requirement Modals */
/* ---------------------------------------------------------
   Compact modal shell for request and WAM decision workflows.
   --------------------------------------------------------- */

.proof-requirements-modal-backdrop[b-m229atk9b1] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.52);
}

.proof-requirements-modal[b-m229atk9b1] {
    width: min(720px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.proof-requirements-modal-header[b-m229atk9b1],
.proof-requirements-modal-footer[b-m229atk9b1] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
}

.proof-requirements-modal-header[b-m229atk9b1] {
    align-items: flex-start;
    border-bottom: 1px solid #e2e8f0;
}

    .proof-requirements-modal-header h2[b-m229atk9b1] {
        margin: 0;
        font-size: 18px;
    }

    .proof-requirements-modal-header p[b-m229atk9b1] {
        margin: 4px 0 0;
        color: #64748b;
        font-size: 13px;
    }

.proof-requirements-modal-close[b-m229atk9b1] {
    appearance: none;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.proof-requirements-modal-body[b-m229atk9b1] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.15rem;
}

.proof-requirements-modal-footer[b-m229atk9b1] {
    justify-content: flex-end;
    border-top: 1px solid #e2e8f0;
}

.proof-requirements-form-grid[b-m229atk9b1] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.proof-requirements-field[b-m229atk9b1] {
    min-width: 0;
}

.proof-requirements-field-wide[b-m229atk9b1] {
    grid-column: 1 / -1;
}

.proof-requirements-field label[b-m229atk9b1] {
    display: block;
    margin-bottom: 0.3rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 800;
}

.proof-requirements-request-context[b-m229atk9b1] {
    display: grid;
    gap: 4px;
    margin-bottom: 1rem;
    padding: 0.75rem;
    border: 1px solid #dbe4ef;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.82rem;
}

.proof-requirements-form-error[b-m229atk9b1] {
    margin-top: 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
}

@container (max-width: 880px) {
    .proof-requirements-summary[b-m229atk9b1] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .proof-requirements-controls[b-m229atk9b1] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .proof-requirements-control-search[b-m229atk9b1] {
        grid-column: 1 / -1;
    }
}
/* /Components/Shared/Books/ManufacturerBookProofsAdminShared.razor.rz.scp.css */
/* ManufacturerBookProofsAdminShared.razor.css */
/* ---------------------------------------------------------
   Provides the WAM Admin Manufacturer Book Proof workflow for
   creation, version upload, sending, override approval, locking,
   and Final Book inclusion.

   The page remains fixed-height. Summary cards, filters, and
   pagination remain stable while the table region owns internal
   vertical and horizontal scrolling. Actions remain sticky.
   --------------------------------------------------------- */

/* Page shell */
/* ---------------------------------------------------------
   Participates in the shared full-height layout chain and
   establishes the page-local container-query context.
   --------------------------------------------------------- */

.proofs-page[b-ylot0h4cmm] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    color: #0f172a;
    overflow: hidden;
    container-type: inline-size;
    container-name: proofs-page;
}

.proofs-workspace[b-ylot0h4cmm] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Summary cards */
/* ---------------------------------------------------------
   Displays WAM Admin proof-readiness counts and provides
   quick status filtering.
   --------------------------------------------------------- */
.proofs-summary-strip[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.proofs-summary-card[b-ylot0h4cmm] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    text-align: left;
    box-shadow: var(--shadow-1);
}

.proofs-summary-card-button[b-ylot0h4cmm] {
    width: 100%;
    appearance: none;
    cursor: pointer;
}

.proofs-summary-card--success[b-ylot0h4cmm] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.proofs-summary-card--warning[b-ylot0h4cmm] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.proofs-summary-card--info[b-ylot0h4cmm] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.proofs-summary-card--neutral[b-ylot0h4cmm] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.proofs-summary-label[b-ylot0h4cmm] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proofs-summary-value[b-ylot0h4cmm] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.proofs-summary-meta[b-ylot0h4cmm] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Proof list card */
/* ---------------------------------------------------------
   Contains proof actions, filters, the internally scrolling table,
   and anchored pagination.
   --------------------------------------------------------- */
.proofs-card[b-ylot0h4cmm] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.proofs-list-card[b-ylot0h4cmm] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.proofs-panel-header[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}

.proofs-panel-title[b-ylot0h4cmm] {
    min-width: 0;
}

.proofs-card-title[b-ylot0h4cmm] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-900);
}

.proofs-card-subtitle[b-ylot0h4cmm] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
}

.proofs-panel-actions[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.proofs-primary-button[b-ylot0h4cmm] {
    min-height: 2.05rem;
    min-width: 130px;
    padding: 0.38rem 0.85rem;
    border-radius: 0.55rem;
    font-size: 0.86rem;
    font-weight: 750;
}

.proofs-list-body[b-ylot0h4cmm] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

/* Filters and search */
/* ---------------------------------------------------------
   Provides the compact proof filter bar. ClearableSearchInput
   requires ::deep because the input is rendered by a child component.
   --------------------------------------------------------- */
.proofs-controls[b-ylot0h4cmm] {
    display: grid;
    grid-template-columns: minmax(320px, 1.8fr) repeat(4, minmax(130px, 0.7fr));
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.7rem;
    background: #ffffff;
}

.proofs-control[b-ylot0h4cmm] {
    min-width: 0;
}

.proofs-control-label[b-ylot0h4cmm] {
    display: block;
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: #334155;
}

.proofs-search[b-ylot0h4cmm],
.proofs-filter-select[b-ylot0h4cmm] {
    min-height: 2.2rem;
    border-radius: 0.55rem;
    border-color: #dbe4ef;
    font-size: 0.84rem;
    color: #0f172a;
}

[b-ylot0h4cmm] .proofs-search-wrapper {
    width: 100%;
    min-width: 0;
}

    [b-ylot0h4cmm] .proofs-search-wrapper .form-control {
        min-height: 2.2rem;
        border-radius: 0.55rem;
        border-color: #dbe4ef;
        font-size: 0.84rem;
        color: #0f172a;
    }

/* Sortable table headers */
/* ---------------------------------------------------------
   Uses button-based headers for keyboard-accessible sorting
   within the compact proof table.
   --------------------------------------------------------- */
.proofs-sort-button[b-ylot0h4cmm] {
    appearance: none;
    width: 100%;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 0;
    color: inherit;
    font: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .proofs-sort-button:hover[b-ylot0h4cmm],
    .proofs-sort-button--active[b-ylot0h4cmm] {
        color: #1d4ed8;
    }

.proofs-sort-indicator[b-ylot0h4cmm] {
    flex: 0 0 auto;
    min-width: 12px;
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 900;
}

/* Proof table workspace */
/* ---------------------------------------------------------
   Keeps the proof list fixed-height. The table wrap owns vertical
   and horizontal scrolling while pagination stays anchored below.
   --------------------------------------------------------- */
.proofs-table-region[b-ylot0h4cmm] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    background: #ffffff;
    overflow: hidden;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.proofs-table-wrap[b-ylot0h4cmm] {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    position: relative;
    background: #ffffff;
}

.proofs-table[b-ylot0h4cmm] {
    width: 100%;
    min-width: 1080px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .proofs-table thead th[b-ylot0h4cmm] {
        position: sticky;
        top: 0;
        z-index: 12;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        white-space: nowrap;
        padding: 0.58rem 0.55rem;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .proofs-table tbody td[b-ylot0h4cmm] {
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        padding: 0.56rem 0.55rem;
        background: #ffffff;
    }

    .proofs-table th.proofs-col-actions[b-ylot0h4cmm],
    .proofs-table td.proofs-col-actions[b-ylot0h4cmm] {
        text-align: left;
    }

    .proofs-table tbody tr:hover td[b-ylot0h4cmm] {
        background: #fbfdff;
    }

/* Admin Proof Table Columns */
/* ---------------------------------------------------------
   Keeps the Promotion Cycle flexible while assigning compact
   widths to workflow and utility columns. The Actions column
   remains wide enough for the complete workflow action group.
   --------------------------------------------------------- */

.proofs-col-cycle[b-ylot0h4cmm] {
    width: auto;
    min-width: 300px;
}

.proofs-col-manufacturer[b-ylot0h4cmm] {
    width: 140px;
}

.proofs-col-status[b-ylot0h4cmm] {
    width: 135px;
}

.proofs-col-version[b-ylot0h4cmm] {
    width: 70px;
    text-align: center;
}

.proofs-col-promotions[b-ylot0h4cmm] {
    width: 65px;
    text-align: center;
}

.proofs-col-ready[b-ylot0h4cmm] {
    width: 65px;
    text-align: center;
}

.proofs-col-activity[b-ylot0h4cmm] {
    width: 105px;
    text-align: center;
    white-space: nowrap;
}

.proofs-col-actions[b-ylot0h4cmm] {
    width: 190px;
    text-align: left;
}

.proofs-col-version .proofs-sort-button[b-ylot0h4cmm],
.proofs-col-promotions .proofs-sort-button[b-ylot0h4cmm],
.proofs-col-ready .proofs-sort-button[b-ylot0h4cmm],
.proofs-col-activity .proofs-sort-button[b-ylot0h4cmm] {
    justify-content: center;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Keeps proof workflow actions visible during horizontal scrolling.
   --------------------------------------------------------- */
.proofs-table th.proofs-col-actions[b-ylot0h4cmm],
.proofs-table td.proofs-col-actions[b-ylot0h4cmm] {
    position: sticky;
    right: 0;
    z-index: 10;
    background: #ffffff;
}

.proofs-table thead th.proofs-col-actions[b-ylot0h4cmm] {
    z-index: 18;
    background: #ffffff;
}


/* ---------------------------------------------------------
   Constrains the shared CustomTooltip trigger to the Promotion
   Cycle cell so clipped text receives an ellipsis and tooltip.
   --------------------------------------------------------- */

[b-ylot0h4cmm] .proofs-title-tooltip.custom-tooltip-trigger {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-align: left;
}

/* Table text, tooltips, and badges */
/* ---------------------------------------------------------
   Defines compact proof-row typography and status treatments.
   CustomTooltip triggers require ::deep child-component styling.
   --------------------------------------------------------- */
/* Promotion Cycle Tooltip */

.proofs-primary-title[b-ylot0h4cmm] {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
    color: #0f172a;
}

.proofs-primary[b-ylot0h4cmm] {
    font-weight: 750;
    color: #0f172a;
}

.proofs-col-manufacturer .proofs-primary[b-ylot0h4cmm] {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
}

.proofs-secondary[b-ylot0h4cmm] {
    margin-top: 0.15rem;
    overflow: hidden;
    color: #64748b;
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proofs-number[b-ylot0h4cmm] {
    font-weight: 800;
    color: #0f172a;
}

.proofs-status-badge[b-ylot0h4cmm],
.proofs-ready-badge[b-ylot0h4cmm],
.proofs-version-pill[b-ylot0h4cmm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0.16rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.proofs-status-badge--success[b-ylot0h4cmm],
.proofs-ready-badge--yes[b-ylot0h4cmm] {
    color: #047857;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.proofs-status-badge--warning[b-ylot0h4cmm],
.proofs-ready-badge--no[b-ylot0h4cmm] {
    color: #92400e;
    background: #fffbeb;
    border-color: #fde68a;
}

.proofs-status-badge--info[b-ylot0h4cmm] {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #dbeafe;
}

.proofs-status-badge--neutral[b-ylot0h4cmm],
.proofs-version-pill[b-ylot0h4cmm] {
    color: #475569;
    background: #f8fafc;
    border-color: #e2e8f0;
}

/* Row Actions */
/* ---------------------------------------------------------
   Groups WAM Admin proof actions into a compact two-column
   action zone matching the Product Catalog table treatment.
   --------------------------------------------------------- */

.proofs-row-actions[b-ylot0h4cmm] {
    width: 100%;
    min-height: 44px;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    align-content: center;
    align-items: center;
    justify-content: center;
    column-gap: 0.48rem;
    row-gap: 0.2rem;
    padding: 5px 7px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.proofs-table tbody tr:hover .proofs-row-actions[b-ylot0h4cmm] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.proofs-link-action[b-ylot0h4cmm] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

    .proofs-link-action:nth-child(odd):not(:last-child)[b-ylot0h4cmm]::after {
        content: "·";
        display: inline-block;
        margin-left: 0.38rem;
        color: rgba(100, 116, 139, 0.62);
        font-weight: 800;
        text-decoration: none;
    }

    .proofs-link-action:hover[b-ylot0h4cmm] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.proofs-link-action-secondary[b-ylot0h4cmm] {
    color: #334155;
}

.proofs-link-action-warning[b-ylot0h4cmm] {
    color: #b45309;
}


/* Pagination and empty states */
/* ---------------------------------------------------------
   Anchors pagination at the bottom of the proof workspace and
   provides shared loading, empty, and error-state treatments.
   --------------------------------------------------------- */
.proofs-pager[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.proofs-pager-summary[b-ylot0h4cmm] {
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 500;
}

.proofs-pager-page[b-ylot0h4cmm] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.proofs-pager-actions[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.proofs-empty-state[b-ylot0h4cmm],
.proofs-inline-state[b-ylot0h4cmm] {
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
    padding: 1.1rem;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
}

.proofs-empty-state[b-ylot0h4cmm] {
    margin: 14px;
}

.proofs-empty-state--compact[b-ylot0h4cmm] {
    margin: 0;
    padding: 0.8rem;
}

.proofs-inline-state--error[b-ylot0h4cmm],
.proofs-form-error[b-ylot0h4cmm] {
    color: #991b1b;
    background: #fef2f2;
    border-color: #fecaca;
}


/* Modal shell */
/* ---------------------------------------------------------
   Provides the shared Create, Upload, Override, and Details modal
   frame. Modal bodies own scrolling when content exceeds the viewport.
   --------------------------------------------------------- */
.proofs-modal-backdrop[b-ylot0h4cmm] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: rgba(15, 23, 42, 0.45);
}

.proofs-modal[b-ylot0h4cmm] {
    width: min(920px, 94vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.proofs-create-modal[b-ylot0h4cmm] {
    width: min(980px, 94vw);
}

.proofs-details-modal[b-ylot0h4cmm] {
    width: min(1080px, 94vw);
}

.proofs-modal-header[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.1rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
}

.proofs-modal-title[b-ylot0h4cmm] {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.proofs-modal-subtitle[b-ylot0h4cmm] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #64748b;
}

.proofs-modal-close[b-ylot0h4cmm] {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 22px;
    line-height: 1;
}

.proofs-modal-body[b-ylot0h4cmm] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem 1rem;
    background: #f8fafc;
}

.proofs-modal-footer[b-ylot0h4cmm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.8rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

/* Details Modal Workflow Actions */
/* ---------------------------------------------------------
   Keeps Manufacturer Book Proof lifecycle actions grouped on
   the left while the Close action remains stable on the right.
   --------------------------------------------------------- */

.proofs-modal-footer--split[b-ylot0h4cmm] {
    justify-content: space-between;
}

.proofs-modal-footer-actions[b-ylot0h4cmm] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}


/* Modal forms */
/* ---------------------------------------------------------
   Provides the shared WAM Admin proof form grid and field layout.
   --------------------------------------------------------- */
.proofs-form-grid[b-ylot0h4cmm] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.proofs-form-field-wide[b-ylot0h4cmm] {
    grid-column: 1 / -1;
}

.proofs-form-label[b-ylot0h4cmm] {
    display: block;
    margin-bottom: 0.25rem;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 850;
}

/* Version Communication */
/* ---------------------------------------------------------
   Displays WAM version notes and Manufacturer/Broker review
   feedback grouped by the exact proof version reviewed.
   --------------------------------------------------------- */

.proofs-communication-list[b-ylot0h4cmm] {
    display: grid;
    gap: 0.75rem;
}

.proofs-communication-card[b-ylot0h4cmm] {
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 0.75rem;
    background: #ffffff;
}

.proofs-communication-header[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.proofs-communication-version[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #172033;
    font-size: 0.85rem;
    font-weight: 700;
}

.proofs-communication-current[b-ylot0h4cmm] {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    padding: 0.1rem 0.45rem;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.65rem;
    font-weight: 700;
}

.proofs-communication-group[b-ylot0h4cmm] {
    padding: 0.75rem 0.8rem;
}

    .proofs-communication-group + .proofs-communication-group[b-ylot0h4cmm] {
        border-top: 1px solid #edf2f7;
    }

.proofs-communication-group-title[b-ylot0h4cmm] {
    margin-bottom: 0.55rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.proofs-communication-field[b-ylot0h4cmm] {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.3rem 0;
}

.proofs-communication-label[b-ylot0h4cmm] {
    color: #64748b;
    font-size: 0.73rem;
    font-weight: 700;
}

.proofs-communication-value[b-ylot0h4cmm] {
    min-width: 0;
    color: #1e293b;
    font-size: 0.78rem;
    line-height: 1.45;
}

.proofs-communication-message[b-ylot0h4cmm] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.proofs-communication-empty[b-ylot0h4cmm] {
    color: #94a3b8;
    font-size: 0.75rem;
    font-style: italic;
}

.proofs-review-entry + .proofs-review-entry[b-ylot0h4cmm] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed #dbe3ec;
}

.proofs-review-summary[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.4rem;
}

.proofs-review-decision[b-ylot0h4cmm] {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.12rem 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
}

.proofs-review-decision--approved[b-ylot0h4cmm] {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

.proofs-review-decision--revision[b-ylot0h4cmm] {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.proofs-review-decision--override[b-ylot0h4cmm] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #a16207;
}

/* Fixed Create Proof Context */
/* ---------------------------------------------------------
   Displays the Promotion Cycle and Manufacturer supplied by
   the selected Book Proof requirement as locked context.
   --------------------------------------------------------- */

.proofs-create-context-input[readonly][b-ylot0h4cmm] {
    border-color: #dbe3ec;
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    box-shadow: none;
}

    .proofs-create-context-input[readonly]:focus[b-ylot0h4cmm] {
        border-color: #dbe3ec;
        box-shadow: none;
    }


/* Create Proof Promotion selection */
/* ---------------------------------------------------------
   Displays eligible WAM Approved Promotions selected for the
   Manufacturer Book Proof package.
   --------------------------------------------------------- */
.proofs-create-promotions-panel[b-ylot0h4cmm],
.proofs-detail-section[b-ylot0h4cmm] {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    padding: 0.75rem;
    background: #ffffff;
}

.proofs-create-promotions-header[b-ylot0h4cmm],
.proofs-version-row[b-ylot0h4cmm],
.proofs-promotion-line[b-ylot0h4cmm],
.proofs-history-line[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.proofs-section-title[b-ylot0h4cmm] {
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 850;
}

.proofs-section-helper[b-ylot0h4cmm],
.proofs-section-count[b-ylot0h4cmm] {
    margin-top: 0.12rem;
    color: #64748b;
    font-size: 0.76rem;
}

.proofs-create-promotions-list[b-ylot0h4cmm],
.proofs-detail-list[b-ylot0h4cmm] {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.proofs-create-promotion-row[b-ylot0h4cmm] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: flex-start;
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    padding: 0.55rem 0.65rem;
    background: #ffffff;
    cursor: pointer;
}

.proofs-create-promotion-title[b-ylot0h4cmm] {
    display: block;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 800;
}

.proofs-create-promotion-meta[b-ylot0h4cmm] {
    display: block;
    margin-top: 0.12rem;
    color: #64748b;
    font-size: 0.75rem;
}

/* Proof Update Required */
/* ---------------------------------------------------------
   Highlights newly approved requested Promotions that are not
   represented in the current Manufacturer Book Proof version.
   --------------------------------------------------------- */

.proofs-detail-section--update-required[b-ylot0h4cmm] {
    border-color: #fed7aa;
    background: #fffaf5;
}

.proofs-detail-section-header[b-ylot0h4cmm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.proofs-update-required-count[b-ylot0h4cmm] {
    flex: 0 0 auto;
    padding: 0.25rem 0.6rem;
    border: 1px solid #fdba74;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

/* Current Proof PDF Replacement */
/* ---------------------------------------------------------
   Identifies Draft PDF replacement without implying creation
   of another Manufacturer Book Proof review version.
   --------------------------------------------------------- */

.proofs-replace-upload-notice[b-ylot0h4cmm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 1rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid #bfdbfe;
    border-radius: 0.625rem;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.8rem;
    line-height: 1.35;
}

.proofs-update-upload-notice[b-ylot0h4cmm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 1rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid #fdba74;
    border-radius: 0.625rem;
    background: #fff7ed;
    color: #9a3412;
    font-size: 0.8rem;
    line-height: 1.35;
}

/* PDF upload dropzone */
/* ---------------------------------------------------------
   Provides the Proof Version PDF upload surface. The transparent
   file input covers the complete dropzone.
   --------------------------------------------------------- */
.proofs-upload-dropzone[b-ylot0h4cmm] {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
    padding: 0.85rem;
    background: #ffffff;
    cursor: pointer;
    overflow: hidden;
}

.proofs-upload-icon[b-ylot0h4cmm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 0.75rem;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 900;
}

.proofs-upload-title[b-ylot0h4cmm] {
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 850;
}

.proofs-upload-helper[b-ylot0h4cmm] {
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.76rem;
}

.proofs-upload-dropzone[b-ylot0h4cmm]  .proofs-upload-input {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Details modal content */
/* ---------------------------------------------------------
   Displays read-only proof context, uploaded versions, included
   Promotions, and workflow history.
   --------------------------------------------------------- */
.proofs-detail-grid[b-ylot0h4cmm] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.proofs-detail-item[b-ylot0h4cmm] {
    min-width: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.6rem;
    padding: 0.45rem 0.55rem;
    background: #f8fafc;
}

.proofs-detail-label[b-ylot0h4cmm] {
    display: block;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.proofs-detail-value[b-ylot0h4cmm] {
    display: block;
    margin-top: 0.12rem;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proofs-version-row[b-ylot0h4cmm],
.proofs-promotion-line[b-ylot0h4cmm],
.proofs-history-line[b-ylot0h4cmm] {
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    padding: 0.55rem 0.65rem;
    background: #ffffff;
}
/* /Components/Shared/Books/ManufacturerBookProofsManufacturerShared.razor.rz.scp.css */
/* ManufacturerBookProofsManufacturerShared.razor.css */
/* ---------------------------------------------------------
   Provides the shared Manufacturer and Broker Book Proof review
   workspace.

   Manufacturer scope displays proofs for the current Manufacturer.
   Broker scope displays proofs across represented Manufacturers
   and adds the Mfg column with a wider table minimum.

   The page remains fixed-height. The table region owns internal
   scrolling while pagination and the Actions column remain stable.
   --------------------------------------------------------- */

/* Page shell */
/* ---------------------------------------------------------
   Participates in the shared full-height layout chain. The Broker
   modifier expands table capacity without changing Manufacturer layout.
   --------------------------------------------------------- */

.mfg-proofs-page[b-y169lncey7] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    color: #0f172a;
    overflow: hidden;
    container-type: inline-size;
    container-name: mfg-proofs-page;
}

.mfg-proofs-workspace[b-y169lncey7] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}


/* Summary cards */
/* ---------------------------------------------------------
   Displays Manufacturer and Broker proof-review counts and
   provides quick status filtering.
   --------------------------------------------------------- */
.mfg-proofs-summary-strip[b-y169lncey7] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.mfg-proofs-summary-card[b-y169lncey7] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    text-align: left;
    box-shadow: var(--shadow-1);
}

.mfg-proofs-summary-card-button[b-y169lncey7] {
    width: 100%;
    appearance: none;
    cursor: pointer;
}

.mfg-proofs-summary-card--success[b-y169lncey7] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.mfg-proofs-summary-card--warning[b-y169lncey7] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.mfg-proofs-summary-card--info[b-y169lncey7] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.mfg-proofs-summary-card--neutral[b-y169lncey7] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.mfg-proofs-summary-label[b-y169lncey7] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mfg-proofs-summary-value[b-y169lncey7] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.mfg-proofs-summary-meta[b-y169lncey7] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Proof list card */
/* ---------------------------------------------------------
   Contains the review header, filters, internally scrolling table,
   and anchored pagination.
   --------------------------------------------------------- */
.mfg-proofs-card[b-y169lncey7] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.mfg-proofs-list-card[b-y169lncey7] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mfg-proofs-panel-header[b-y169lncey7] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}

.mfg-proofs-panel-title[b-y169lncey7] {
    min-width: 0;
}

.mfg-proofs-panel-actions[b-y169lncey7] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mfg-proofs-card-title[b-y169lncey7] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-900);
}

.mfg-proofs-card-subtitle[b-y169lncey7] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
}

.mfg-proofs-list-body[b-y169lncey7] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}


/* Filters and search */
/* ---------------------------------------------------------
   Provides the compact proof filter bar. ClearableSearchInput
   requires ::deep because the input is rendered by a child component.
   --------------------------------------------------------- */
.mfg-proofs-controls[b-y169lncey7] {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(150px, 0.35fr) minmax(95px, 0.2fr);
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.7rem;
    background: #ffffff;
}

.mfg-proofs-control[b-y169lncey7] {
    min-width: 0;
}

.mfg-proofs-control-label[b-y169lncey7] {
    display: block;
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: #334155;
}

.mfg-proofs-search[b-y169lncey7],
.mfg-proofs-filter-select[b-y169lncey7] {
    min-height: 2.2rem;
    border-radius: 0.55rem;
    border-color: #dbe4ef;
    font-size: 0.84rem;
    color: #0f172a;
}

[b-y169lncey7] .mfg-proofs-search-wrapper {
    width: 100%;
    min-width: 0;
}

    [b-y169lncey7] .mfg-proofs-search-wrapper .form-control {
        min-height: 2.2rem;
        border-radius: 0.55rem;
        border-color: #dbe4ef;
        font-size: 0.84rem;
        color: #0f172a;
    }

/* Sortable table headers */
/* ---------------------------------------------------------
   Uses button-based headers for keyboard-accessible sorting
   within the compact enterprise proof table.
   --------------------------------------------------------- */
.mfg-proofs-sort-button[b-y169lncey7] {
    appearance: none;
    width: 100%;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 0;
    color: inherit;
    font: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .mfg-proofs-sort-button:hover[b-y169lncey7],
    .mfg-proofs-sort-button--active[b-y169lncey7] {
        color: #1d4ed8;
    }

.mfg-proofs-sort-indicator[b-y169lncey7] {
    flex: 0 0 auto;
    min-width: 12px;
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 900;
}


/* Proof table workspace */
/* ---------------------------------------------------------
   Keeps the proof list fixed-height. The table wrap owns vertical
   and horizontal scrolling while pagination stays anchored below.
   --------------------------------------------------------- */
.mfg-proofs-table-region[b-y169lncey7] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    background: #ffffff;
    overflow: hidden;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.mfg-proofs-table-wrap[b-y169lncey7] {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    position: relative;
    background: #ffffff;
}

.mfg-proofs-table[b-y169lncey7] {
    margin: 0;
    min-width: 1040px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .mfg-proofs-table thead th[b-y169lncey7] {
        position: sticky;
        top: 0;
        z-index: 12;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        white-space: nowrap;
        padding: 0.58rem 0.55rem;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .mfg-proofs-table tbody td[b-y169lncey7] {
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        padding: 0.56rem 0.55rem;
        background: #ffffff;
    }

    .mfg-proofs-table th.mfg-proofs-col-actions[b-y169lncey7],
    .mfg-proofs-table td.mfg-proofs-col-actions[b-y169lncey7] {
        text-align: left;
    }

    .mfg-proofs-table tbody tr:hover td[b-y169lncey7] {
        background: #fbfdff;
    }

/* Manufacturer and Broker table columns */
/* ---------------------------------------------------------
   Uses fixed column widths to protect the desktop workspace.
   Broker scope adds the Mfg column and a wider table minimum.
   --------------------------------------------------------- */
.mfg-proofs-col-cycle[b-y169lncey7] {
    width: 310px;
}

.mfg-proofs-col-status[b-y169lncey7] {
    width: 150px;
}

.mfg-proofs-col-version[b-y169lncey7] {
    width: 88px;
}

.mfg-proofs-col-promotions[b-y169lncey7] {
    width: 95px;
    text-align: center;
}

.mfg-proofs-col-sent[b-y169lncey7],
.mfg-proofs-col-reviewed[b-y169lncey7] {
    width: 105px;
}

.mfg-proofs-col-actions[b-y169lncey7] {
    width: 185px;
}

.mfg-proofs-col-manufacturer[b-y169lncey7] {
    width: 128px;
}

.mfg-proofs-manufacturer-name[b-y169lncey7] {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
}

.mfg-proofs-page--broker .mfg-proofs-table[b-y169lncey7] {
    min-width: 1120px;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Keeps proof-review actions visible during horizontal scrolling.
   --------------------------------------------------------- */
.mfg-proofs-table th.mfg-proofs-col-actions[b-y169lncey7],
.mfg-proofs-table td.mfg-proofs-col-actions[b-y169lncey7] {
    position: sticky;
    right: 0;
    z-index: 10;
    background: #ffffff;
}

.mfg-proofs-table thead th.mfg-proofs-col-actions[b-y169lncey7] {
    z-index: 18;
    background: #ffffff;
}


/* Table text, tooltips, and badges */
/* ---------------------------------------------------------
   Defines compact row typography and proof-status treatments for
   Manufacturer and Broker review tables.
   --------------------------------------------------------- */
[b-y169lncey7] .mfg-proofs-title-tooltip {
    display: block;
    width: 100%;
    min-width: 0;
}

.mfg-proofs-primary-title[b-y169lncey7] {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
    color: #0f172a;
}

.mfg-proofs-primary[b-y169lncey7] {
    font-weight: 750;
    color: #0f172a;
}

.mfg-proofs-secondary[b-y169lncey7] {
    margin-top: 0.15rem;
    overflow: hidden;
    color: #64748b;
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mfg-proofs-number[b-y169lncey7] {
    font-weight: 800;
    color: #0f172a;
}

.mfg-proofs-status-badge[b-y169lncey7],
.mfg-proofs-version-pill[b-y169lncey7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0.16rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.mfg-proofs-status-badge--success[b-y169lncey7] {
    color: #047857;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.mfg-proofs-status-badge--warning[b-y169lncey7] {
    color: #92400e;
    background: #fffbeb;
    border-color: #fde68a;
}

.mfg-proofs-status-badge--info[b-y169lncey7] {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #dbeafe;
}

.mfg-proofs-status-badge--neutral[b-y169lncey7],
.mfg-proofs-version-pill[b-y169lncey7] {
    color: #475569;
    background: #f8fafc;
    border-color: #e2e8f0;
}


/* Row actions */
/* ---------------------------------------------------------
   Keeps proof-review actions compact in two columns with
   dot separators between paired text actions.
   --------------------------------------------------------- */
.mfg-proofs-row-actions[b-y169lncey7] {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    align-items: center;
    justify-content: flex-start;
    column-gap: 0.45rem;
    row-gap: 0.18rem;
}

.mfg-proofs-link-action[b-y169lncey7] {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--link-600, #2563eb);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

    .mfg-proofs-link-action:nth-child(odd):not(:last-child)[b-y169lncey7]::after {
        content: "·";
        display: inline-block;
        margin-left: 0.34rem;
        color: #94a3b8;
        font-weight: 800;
        text-decoration: none;
    }

    .mfg-proofs-link-action:hover[b-y169lncey7] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.mfg-proofs-link-action-approve[b-y169lncey7] {
    color: #047857;
}

.mfg-proofs-link-action-warning[b-y169lncey7] {
    color: #b45309;
}

/* Pagination and empty states */
/* ---------------------------------------------------------
   Anchors pagination at the bottom of the proof workspace and
   provides shared loading, empty, and error-state treatments.
   --------------------------------------------------------- */
.mfg-proofs-pager[b-y169lncey7] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.mfg-proofs-pager-summary[b-y169lncey7],
.mfg-proofs-pager-page[b-y169lncey7] {
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

.mfg-proofs-pager-actions[b-y169lncey7] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mfg-proofs-empty-state[b-y169lncey7],
.mfg-proofs-inline-state[b-y169lncey7] {
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
    padding: 1.1rem;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
}

.mfg-proofs-empty-state[b-y169lncey7] {
    margin: 14px;
}

.mfg-proofs-inline-state--error[b-y169lncey7],
.mfg-proofs-form-error[b-y169lncey7] {
    color: #991b1b;
    background: #fef2f2;
    border-color: #fecaca;
}


/* Review and detail content */
/* ---------------------------------------------------------
   Provides review-action modals and read-only proof context,
   versions, included Promotions, and workflow history.
   --------------------------------------------------------- */
.mfg-proofs-modal-backdrop[b-y169lncey7] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: rgba(15, 23, 42, 0.45);
}

.mfg-proofs-modal[b-y169lncey7] {
    width: min(860px, 94vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.mfg-proofs-details-modal[b-y169lncey7] {
    width: min(1080px, 94vw);
}

.mfg-proofs-modal-header[b-y169lncey7] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.1rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
}

.mfg-proofs-modal-title[b-y169lncey7] {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.mfg-proofs-modal-subtitle[b-y169lncey7] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #64748b;
}

.mfg-proofs-modal-close[b-y169lncey7] {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 22px;
    line-height: 1;
}

.mfg-proofs-modal-body[b-y169lncey7] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem 1rem;
    background: #f8fafc;
}

.mfg-proofs-modal-footer[b-y169lncey7] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.8rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
}

.mfg-proofs-review-callout[b-y169lncey7],
.mfg-proofs-detail-section[b-y169lncey7] {
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    padding: 0.75rem;
    background: #ffffff;
}

/* Proof Update Required */
/* ---------------------------------------------------------
   Displays newly approved requested Promotions that are not
   represented in the current Manufacturer Book Proof version.
   --------------------------------------------------------- */

.mfg-proofs-detail-section--update-required[b-y169lncey7] {
    border-color: #fed7aa;
    background: #fffaf5;
}

.mfg-proofs-detail-section-header[b-y169lncey7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.mfg-proofs-section-helper[b-y169lncey7] {
    margin-top: 0.2rem;
    color: #9a3412;
    font-size: 0.76rem;
    line-height: 1.35;
}

.mfg-proofs-update-required-count[b-y169lncey7] {
    flex: 0 0 auto;
    padding: 0.25rem 0.6rem;
    border: 1px solid #fdba74;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.mfg-proofs-review-callout[b-y169lncey7] {
    color: #334155;
    font-size: 0.84rem;
    font-weight: 650;
}

.mfg-proofs-form-label[b-y169lncey7] {
    display: block;
    margin-bottom: 0.25rem;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 850;
}

.mfg-proofs-section-title[b-y169lncey7] {
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 850;
}

.mfg-proofs-detail-grid[b-y169lncey7] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.mfg-proofs-detail-item[b-y169lncey7] {
    min-width: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.6rem;
    padding: 0.45rem 0.55rem;
    background: #f8fafc;
}

.mfg-proofs-detail-label[b-y169lncey7] {
    display: block;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mfg-proofs-detail-value[b-y169lncey7] {
    display: block;
    margin-top: 0.12rem;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mfg-proofs-detail-list[b-y169lncey7] {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.mfg-proofs-version-row[b-y169lncey7],
.mfg-proofs-promotion-line[b-y169lncey7],
.mfg-proofs-history-line[b-y169lncey7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    padding: 0.55rem 0.65rem;
    background: #ffffff;
}

/* Version Communication */
/* ---------------------------------------------------------
   Displays WAM version notes and Manufacturer/Broker review
   feedback grouped by the exact proof version reviewed.
   --------------------------------------------------------- */

.mfg-proofs-communication-list[b-y169lncey7] {
    display: grid;
    gap: 0.75rem;
}

.mfg-proofs-communication-card[b-y169lncey7] {
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 0.75rem;
    background: #ffffff;
}

.mfg-proofs-communication-header[b-y169lncey7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.mfg-proofs-communication-version[b-y169lncey7] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #172033;
    font-size: 0.85rem;
    font-weight: 700;
}

.mfg-proofs-communication-current[b-y169lncey7] {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    padding: 0.1rem 0.45rem;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.65rem;
    font-weight: 700;
}

.mfg-proofs-communication-group[b-y169lncey7] {
    padding: 0.75rem 0.8rem;
}

    .mfg-proofs-communication-group + .mfg-proofs-communication-group[b-y169lncey7] {
        border-top: 1px solid #edf2f7;
    }

.mfg-proofs-communication-group-title[b-y169lncey7] {
    margin-bottom: 0.55rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.mfg-proofs-communication-field[b-y169lncey7] {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.3rem 0;
}

.mfg-proofs-communication-label[b-y169lncey7] {
    color: #64748b;
    font-size: 0.73rem;
    font-weight: 700;
}

.mfg-proofs-communication-value[b-y169lncey7] {
    min-width: 0;
    color: #1e293b;
    font-size: 0.78rem;
    line-height: 1.45;
}

.mfg-proofs-communication-message[b-y169lncey7] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.mfg-proofs-communication-empty[b-y169lncey7] {
    color: #94a3b8;
    font-size: 0.75rem;
    font-style: italic;
}

.mfg-proofs-review-entry + .mfg-proofs-review-entry[b-y169lncey7] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed #dbe3ec;
}

.mfg-proofs-review-summary[b-y169lncey7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.4rem;
}

.mfg-proofs-review-decision[b-y169lncey7] {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.12rem 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
}

.mfg-proofs-review-decision--approved[b-y169lncey7] {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

.mfg-proofs-review-decision--revision[b-y169lncey7] {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.mfg-proofs-review-decision--override[b-y169lncey7] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #a16207;
}
/* /Components/Shared/Books/PdfPreviewModal.razor.rz.scp.css */
/* PDF Preview Modal */
/* ---------------------------------------------------------
   Displays Book Proof PDF files inside the current page using
   the browser PDF viewer. The modal body owns all PDF scrolling.
   --------------------------------------------------------- */

.pdf-preview-modal-backdrop[b-ppx8aumhka] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(15, 23, 42, 0.58);
}

.pdf-preview-modal[b-ppx8aumhka] {
    width: min(1180px, 96vw);
    height: min(900px, 92vh);
    min-height: 560px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.34);
}

.pdf-preview-modal-header[b-ppx8aumhka] {
    flex: 0 0 auto;
    min-height: 62px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #dfe7f1;
    background: #ffffff;
}

.pdf-preview-modal-heading[b-ppx8aumhka] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pdf-preview-modal-icon[b-ppx8aumhka] {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 18px;
}

.pdf-preview-modal-copy[b-ppx8aumhka] {
    min-width: 0;
}

    .pdf-preview-modal-copy h2[b-ppx8aumhka] {
        margin: 0;
        overflow: hidden;
        color: #10264a;
        font-size: 17px;
        font-weight: 800;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* PDF File Metadata */
/* ---------------------------------------------------------
   Displays the file name, file size, and uploaded date in
   one compact line beneath the PDF preview title.
   --------------------------------------------------------- */

.pdf-preview-modal-file-details[b-ppx8aumhka] {
    min-width: 0;
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    color: #7186a6;
    font-size: 12px;
    line-height: 1.3;
}

.pdf-preview-modal-file-name[b-ppx8aumhka] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pdf-preview-modal-file-meta[b-ppx8aumhka] {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* PDF Header Actions */
/* ---------------------------------------------------------
   Keeps the Open in New Tab and close actions aligned in the
   upper-right area of the shared PDF preview modal.
   --------------------------------------------------------- */

.pdf-preview-modal-header-actions[b-ppx8aumhka] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pdf-preview-modal-open[b-ppx8aumhka] {
    border-radius: 8px;
    font-weight: 700;
    white-space: nowrap;
}

.pdf-preview-modal-close[b-ppx8aumhka] {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #f8fafc;
    color: #526680;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .pdf-preview-modal-close:hover[b-ppx8aumhka] {
        border-color: #bfd0e5;
        background: #eef4fb;
        color: #173764;
    }

.pdf-preview-modal-body[b-ppx8aumhka] {
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    overflow: hidden;
    background: #e7edf5;
}

.pdf-preview-modal-frame[b-ppx8aumhka] {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    background: #ffffff;
}

.pdf-preview-modal-state[b-ppx8aumhka] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #526680;
    font-size: 13px;
    font-weight: 650;
}

.pdf-preview-modal-state--error[b-ppx8aumhka] {
    color: #b42318;
}

@media (max-width: 900px) {
    .pdf-preview-modal-backdrop[b-ppx8aumhka] {
        padding: 10px;
    }

    .pdf-preview-modal[b-ppx8aumhka] {
        width: 98vw;
        height: 94vh;
        min-height: 480px;
    }
}
/* /Components/Shared/ClearableSearchInput.razor.rz.scp.css */
.clearable-search[b-ohyzdmrgh6] {
  position: relative;
  width: 100%;
  min-width: 0;
}

.clearable-search__input[b-ohyzdmrgh6] {
  width: 100%;
  min-width: 0;
  padding-right: 34px !important;
}

.clearable-search__clear[b-ohyzdmrgh6] {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-500);
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}

  .clearable-search__clear:hover[b-ohyzdmrgh6] {
    background: rgba(25, 35, 68, 0.08);
    color: var(--text-900);
  }

  .clearable-search__clear:focus-visible[b-ohyzdmrgh6] {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 1px;
  }
/* /Components/Shared/ClearFiltersButton.razor.rz.scp.css */
/* =========================================================
   Clear filters button
   ---------------------------------------------------------
   Reusable secondary utility action for table/report pages.
   Used when search or filters are active. This button clears
   search/filter criteria only and should not reset sort,
   page size, selected tab, or page workflow state.
   ========================================================= */

.clear-filters-button[b-kisy5ycclf] {
  appearance: none;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid rgba(100, 116, 139, 0.26);
  border-radius: 8px;
  background: #ffffff;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

  .clear-filters-button:hover[b-kisy5ycclf] {
    border-color: rgba(37, 99, 235, 0.34);
    background: rgba(37, 99, 235, 0.04);
    color: #1d4ed8;
  }

  .clear-filters-button:focus-visible[b-kisy5ycclf] {
    outline: none;
    box-shadow: var(--focus-ring);
  }

  .clear-filters-button:disabled[b-kisy5ycclf] {
    cursor: not-allowed;
    opacity: 0.58;
  }

  .clear-filters-button i[b-kisy5ycclf] {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1;
  }
/* /Components/Shared/CustomTooltip.razor.rz.scp.css */
.custom-tooltip-trigger[b-gvcilhs0fz] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.custom-tooltip-trigger--nav[b-gvcilhs0fz] {
  display: block;
  width: 100%;
}

.custom-tooltip[b-gvcilhs0fz] {
  position: fixed;
  z-index: 2147483000;
  box-sizing: border-box;
  pointer-events: none;
  padding: 9px 12px 9px 14px;
  border-radius: 10px;
  color: #1f2937;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.13);
}

  .custom-tooltip[b-gvcilhs0fz]::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    box-sizing: border-box;
    background: inherit;
    border: 1px solid rgba(100, 116, 139, 0.24);
    transform: rotate(45deg);
    pointer-events: none;
  }

.custom-tooltip--warm[b-gvcilhs0fz] {
  --custom-tooltip-accent-color: rgba(245, 158, 11, 0.58);
  --custom-tooltip-border-color: rgba(245, 158, 11, 0.44);
  border: 1px solid var(--custom-tooltip-border-color);
  border-left-width: 4px;
  border-left-color: var(--custom-tooltip-accent-color);
  border-right-width: 1px;
  border-right-color: var(--custom-tooltip-border-color);
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
  color: #1f2937;
  padding-left: 12px;
  padding-right: 12px;
}

.custom-tooltip--warm[b-gvcilhs0fz] {
  --custom-tooltip-border-color: rgba(245, 158, 11, 0.44);
  border-left-width: 4px;
  border-left-color: var(--custom-tooltip-accent-color);
  border-right-width: 1px;
  border-right-color: var(--custom-tooltip-border-color);
  padding-left: 12px;
  padding-right: 12px;
}

  .custom-tooltip--warm[data-placement="right"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="top"][data-horizontal-align="left"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="bottom"][data-horizontal-align="left"][b-gvcilhs0fz] {
    border-left-width: 1px;
    border-left-color: var(--custom-tooltip-border-color);
    border-right-width: 4px;
    border-right-color: var(--custom-tooltip-accent-color);
  }

  .custom-tooltip--warm[data-placement="left"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="top"][data-horizontal-align="center"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="top"][data-horizontal-align="right"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="bottom"][data-horizontal-align="center"][b-gvcilhs0fz],
  .custom-tooltip--warm[data-placement="bottom"][data-horizontal-align="right"][b-gvcilhs0fz] {
    border-left-width: 4px;
    border-left-color: var(--custom-tooltip-accent-color);
    border-right-width: 1px;
    border-right-color: var(--custom-tooltip-border-color);
  }

.custom-tooltip--dark[b-gvcilhs0fz] {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 42, 0.96);
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22);
}

  .custom-tooltip--dark[b-gvcilhs0fz]::before {
    background: rgba(15, 23, 42, 0.96);
    border-color: rgba(255, 255, 255, 0.08);
  }

.custom-tooltip--neutral[b-gvcilhs0fz] {
  border: 1px solid rgba(100, 116, 139, 0.24);
  background: #ffffff;
  color: #334155;
}

.custom-tooltip--info[b-gvcilhs0fz] {
  border: 1px solid rgba(59, 130, 246, 0.22);
  background: #eff6ff;
  color: #1e3a8a;
}

.custom-tooltip--sm[b-gvcilhs0fz] {
  width: max-content;
  max-width: 220px;
}

.custom-tooltip--md[b-gvcilhs0fz] {
  width: max-content;
  max-width: 300px;
}

.custom-tooltip--lg[b-gvcilhs0fz] {
  width: max-content;
  max-width: 380px;
}

.custom-tooltip--wide[b-gvcilhs0fz] {
  width: max-content;
  max-width: 460px;
}

.custom-tooltip--nowrap[b-gvcilhs0fz] {
  width: max-content;
  max-width: min(520px, calc(100vw - 32px));
  white-space: nowrap;
}

.custom-tooltip--compact[b-gvcilhs0fz] {
  padding: 7px 10px 7px 12px;
  border-radius: 8px;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.3;
}

.custom-tooltip--standard[b-gvcilhs0fz] {
  min-height: 0;
}

.custom-tooltip--block[b-gvcilhs0fz] {
  min-width: 240px;
  padding: 11px 13px;
  border-radius: 12px;
}

/*Arrow*/
.custom-tooltip[data-placement="top"][b-gvcilhs0fz]::before {
  left: calc(50% - 4.5px);
  bottom: -5px;
  border-left: 0;
  border-top: 0;
}

.custom-tooltip[data-placement="bottom"][b-gvcilhs0fz]::before {
  left: calc(50% - 4.5px);
  top: -5px;
  border-right: 0;
  border-bottom: 0;
}

.custom-tooltip[data-placement="left"][b-gvcilhs0fz]::before {
  right: -5px;
  top: calc(50% - 4.5px);
  border-left: 0;
  border-bottom: 0;
}

.custom-tooltip[data-placement="right"][b-gvcilhs0fz]::before {
  left: -5px;
  top: calc(50% - 4.5px);
  border-right: 0;
  border-top: 0;
}

.custom-tooltip--warm[b-gvcilhs0fz]::before {
  border-color: rgba(245, 158, 11, 0.44);
}

/*Align*/
.custom-tooltip[data-placement="top"][data-horizontal-align="left"][b-gvcilhs0fz]::before,
.custom-tooltip[data-placement="bottom"][data-horizontal-align="left"][b-gvcilhs0fz]::before {
  left: 18px;
}

.custom-tooltip[data-placement="top"][data-horizontal-align="right"][b-gvcilhs0fz]::before,
.custom-tooltip[data-placement="bottom"][data-horizontal-align="right"][b-gvcilhs0fz]::before {
  left: auto;
  right: 18px;
}

.custom-tooltip[data-placement="left"][data-vertical-align="top"][b-gvcilhs0fz]::before,
.custom-tooltip[data-placement="right"][data-vertical-align="top"][b-gvcilhs0fz]::before {
  top: 18px;
}

.custom-tooltip[data-placement="left"][data-vertical-align="bottom"][b-gvcilhs0fz]::before,
.custom-tooltip[data-placement="right"][data-vertical-align="bottom"][b-gvcilhs0fz]::before {
  top: auto;
  bottom: 18px;
}
/* /Components/Shared/CycleCalendar.razor.rz.scp.css */
/* Cycle Calendar Page Host */
/* ---------------------------------------------------------
   Keeps the standalone Cycle Calendar inside the application
   fixed-height content workspace.
   --------------------------------------------------------- */

.cycle-calendar-page[b-xi8n0z0yb9] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 2px 2px 2px 0;
    overflow: hidden;
}

.cycle-calendar-state[b-xi8n0z0yb9] {
    padding: 18px;
    color: #64748b;
    font-size: 14px;
}
/* /Components/Shared/Dashboards/DashboardShared.razor.rz.scp.css */
/* =========================================================
   DashboardShared.razor.css
   ---------------------------------------------------------
   Scope:
   - Shared dashboard layout for WAM Admin, Manufacturer,
     Distributor, Broker, and future role dashboards
   - Welcome hero and optional cycle calendar snapshot
   - Compact dashboard stat cards
   - Shared dashboard panels and section headers
   - Recent activity card list
   - Quick Links navigation panel
   - Badge, empty-state, and responsive behavior

   Layout notes:
   - The dashboard is designed as a fixed-height workspace.
   - Vertical scrolling stays inside panel bodies on desktop.
   - Container queries respond to available dashboard content
     width, not only browser viewport width. This is important
     because sidebar expansion changes usable content width.
   ========================================================= */

/* =========================================================
   Page Shell
   ---------------------------------------------------------
   Root dashboard container and shared section spacing.
   The container name powers responsive rules at the end of
   this file.
   ========================================================= */

.dashboard-shared[b-9j6q7i9axt] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 6px 2px 2px;
  overflow: hidden;
  container-type: inline-size;
  container-name: dashboard-page;
}

/* =========================================================
   Welcome Hero
   ---------------------------------------------------------
   Role label, greeting, subtitle, create action, and optional
   cycle calendar snapshot.
   ========================================================= */

.dashboard-hero-card[b-9j6q7i9axt] {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 24px;
  padding: 12px 14px;
  background: linear-gradient(135deg, rgba(29, 58, 109, 0.04), rgba(91, 196, 191, 0.05)), var(--bg-surface);
  border: 1px solid var(--border-200);
  border-radius: 18px;
  box-shadow: var(--shadow-1);
}

.dashboard-hero-content[b-9j6q7i9axt] {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dashboard-role-label[b-9j6q7i9axt] {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-600);
}

.dashboard-title[b-9j6q7i9axt] {
  margin: 0;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 700;
  color: var(--text-900);
}

.dashboard-subtitle[b-9j6q7i9axt] {
  margin: 8px 0 0;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-600);
}

/* Promotion Workflow Guide Link */
/* ---------------------------------------------------------
   Provides a compact welcoming entry point to the role-specific
   Promotion Workflow without increasing Dashboard hero height
   more than necessary.
   --------------------------------------------------------- */

.dashboard-promotion-workflow-link[b-9j6q7i9axt] {
    width: fit-content;
    margin-top: 6px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12.5px;
    line-height: 1.25;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
}

.dashboard-promotion-workflow-prompt[b-9j6q7i9axt] {
    color: var(--text-500);
    font-weight: 500;
}

.dashboard-promotion-workflow-link i[b-9j6q7i9axt] {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.15s ease;
}

.dashboard-promotion-workflow-link:hover[b-9j6q7i9axt] {
    color: #143a74;
}

    .dashboard-promotion-workflow-link:hover i[b-9j6q7i9axt] {
        transform: translateX(2px);
    }

.dashboard-promotion-workflow-link:focus-visible[b-9j6q7i9axt] {
    outline: 2px solid rgba(37, 99, 235, 0.24);
    outline-offset: 3px;
    border-radius: 4px;
}

.dashboard-hero-actions[b-9j6q7i9axt] {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  margin-left: auto;
  padding-left: 0;
}

.dashboard-create-button[b-9j6q7i9axt] {
  min-width: 190px;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 12px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(29, 58, 109, 0.12);
}

/* =========================================================
   Cycle Calendar Snapshot
   ---------------------------------------------------------
   Compact two-column cycle snapshot displayed inside the
   welcome hero when ShowCycleSnapshot is enabled.
   ========================================================= */

.dashboard-cycle-calendar[b-9j6q7i9axt] {
  flex: 0 0 auto;
  width: min(355px, 100%);
  max-width: 355px;
  min-width: 335px;
  margin-left: auto;
  align-self: flex-start;
  overflow: hidden;
  border: 1px solid rgba(91, 196, 191, 0.38);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.055), rgba(255, 255, 255, 0.96));
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035);
  color: inherit;
  font-size: 12px;
}

.dashboard-cycle-calendar-link[b-9j6q7i9axt] {
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

  .dashboard-cycle-calendar-link:hover[b-9j6q7i9axt] {
    color: inherit;
    text-decoration: none;
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
    transform: translateY(-1px);
  }

  .dashboard-cycle-calendar-link:focus-visible[b-9j6q7i9axt] {
    outline: 3px solid rgba(37, 99, 235, 0.24);
    outline-offset: 3px;
  }

.dashboard-cycle-calendar-header[b-9j6q7i9axt] {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 7px 12px;
  border-bottom: 1px solid rgba(91, 196, 191, 0.20);
  color: var(--text-800);
  font-size: 12px;
  line-height: 1.1;
  font-weight: 600;
}

  .dashboard-cycle-calendar-header i[b-9j6q7i9axt] {
    font-size: 13px;
    color: var(--text-500);
  }

.dashboard-cycle-calendar-body[b-9j6q7i9axt] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-cycle-calendar-cell[b-9j6q7i9axt] {
  min-width: 0;
  padding: 7px 10px 8px;
}

  .dashboard-cycle-calendar-cell + .dashboard-cycle-calendar-cell[b-9j6q7i9axt] {
    border-left: 1px solid rgba(91, 196, 191, 0.16);
  }

.dashboard-cycle-calendar-title-line[b-9j6q7i9axt] {
  display: flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  margin-bottom: 5px;
  white-space: nowrap;
}

.dashboard-cycle-calendar-cell-current .dashboard-cycle-calendar-label[b-9j6q7i9axt] {
  color: #168254;
}

.dashboard-cycle-calendar-cell-next .dashboard-cycle-calendar-label[b-9j6q7i9axt] {
  color: #2563eb;
}

.dashboard-cycle-calendar-value[b-9j6q7i9axt] {
  min-width: 0;
  overflow: hidden;
  color: var(--text-900);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-cycle-calendar-status[b-9j6q7i9axt] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-cycle-calendar-status-current[b-9j6q7i9axt] {
  color: #168254;
}

.dashboard-cycle-calendar-status-next[b-9j6q7i9axt] {
  color: #2563eb;
}

.dashboard-cycle-calendar-dot[b-9j6q7i9axt] {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  background: currentColor;
}

/* =========================================================
   Dashboard Stat Cards
   ---------------------------------------------------------
   Compact role-aware summary cards used directly under the
   welcome hero. This sizing is intended as the dashboard
   reference pattern for future role dashboards.
   ========================================================= */

.dashboard-stat-grid[b-9j6q7i9axt] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 10px;
}

.dashboard-stat-card[b-9j6q7i9axt] {
  min-width: 0;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: 13px;
  box-shadow: var(--shadow-1);
}

.dashboard-stat-label[b-9j6q7i9axt] {
  margin: 0 0 6px;
  overflow: hidden;
  color: var(--text-600);
  font-size: 13.5px;
  line-height: 1.3;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-stat-value[b-9j6q7i9axt] {
  margin: 0;
  color: var(--text-900);
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
}

.dashboard-stat-meta[b-9j6q7i9axt] {
  margin-top: 5px;
  overflow: hidden;
  color: var(--text-500);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-accent-review[b-9j6q7i9axt] {
  border-color: rgba(250, 169, 75, 0.32);
  background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.dashboard-accent-success[b-9j6q7i9axt] {
  border-color: rgba(91, 196, 191, 0.38);
  background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.dashboard-accent-alert[b-9j6q7i9axt] {
  border-color: rgba(241, 95, 87, 0.28);
  background: linear-gradient(180deg, rgba(241, 95, 87, 0.05), #fff);
}

/* =========================================================
   Main Dashboard Panels
   ---------------------------------------------------------
   My Tasks remains the primary operational workspace while
   Quick Links retains the established desktop navigation width.
   ========================================================= */

.dashboard-main-grid[b-9j6q7i9axt] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(380px, 0.9fr);
    gap: 10px;
    overflow: hidden;
}

.dashboard-panel[b-9j6q7i9axt] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: 18px;
}

.dashboard-panel-header[b-9j6q7i9axt] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 16px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.dashboard-panel-title[b-9j6q7i9axt] {
  margin: 0;
  color: var(--text-900);
  font-size: 21px;
  font-weight: 700;
}

.dashboard-panel-subtitle[b-9j6q7i9axt] {
  margin: 4px 0 0;
  color: var(--text-500);
  font-size: 13px;
}

/* Dashboard Panel Header Actions */
/* ---------------------------------------------------------
   Keeps task display controls separate from task filters while
   preserving the compact shared Dashboard panel header.
   --------------------------------------------------------- */

.dashboard-panel-header-actions[b-9j6q7i9axt] {
    flex: 0 0 auto;
    align-self: center;
    display: flex;
    align-items: center;
    gap: 10px;
}

.dashboard-panel-action[b-9j6q7i9axt] {
  flex: 0 0 auto;
  align-self: center;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

  .dashboard-panel-action:hover[b-9j6q7i9axt] {
    color: #143a74;
    text-decoration: underline;
  }

.dashboard-panel-action-button[b-9j6q7i9axt] {
    appearance: none;
    padding: 2px 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

    .dashboard-panel-action-button:focus-visible[b-9j6q7i9axt] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 3px;
        border-radius: 4px;
    }

.dashboard-panel-body[b-9j6q7i9axt] {
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px 0 8px 8px;
  overflow: hidden;
}

/* Panel lists own desktop scrolling instead of the full page. */
.dashboard-recent-list[b-9j6q7i9axt],
.dashboard-quick-links[b-9j6q7i9axt] {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding-right: 2px;
  scrollbar-gutter: stable;
}

/* =========================================================
   Recent Activity Cards
   ---------------------------------------------------------
   Primary dashboard activity feed. Titles remain stronger than
   Quick Links to preserve the desired visual hierarchy.
   ========================================================= */

.dashboard-recent-item[b-9j6q7i9axt] {
  margin-top: 1px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  padding: 8px 12px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  text-decoration: none;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

  .dashboard-recent-item:hover[b-9j6q7i9axt] {
    transform: translateY(-1px);
    text-decoration: none;
    border-color: rgba(29, 58, 109, 0.16);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
  }

.dashboard-recent-item-main[b-9j6q7i9axt] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dashboard-recent-item-top[b-9j6q7i9axt] {
  min-width: 0;
  display: block;
  margin-bottom: 0;
}

.dashboard-recent-item-title[b-9j6q7i9axt] {
  display: block;
  max-width: 100%;
  color: var(--text-900);
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.dashboard-recent-item-tags[b-9j6q7i9axt] {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.dashboard-recent-item-meta[b-9j6q7i9axt] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--text-600);
  font-size: 13px;
}

.dashboard-meta-dot[b-9j6q7i9axt] {
  color: var(--text-500);
}

.dashboard-recent-item-side[b-9j6q7i9axt] {
  min-width: 142px;
  max-width: 172px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  text-align: right;
}

.dashboard-recent-item-updated[b-9j6q7i9axt] {
  color: var(--text-500);
  font-size: 12px;
  line-height: 1.25;
  white-space: nowrap;
}

/* =========================================================
   Dashboard Badges
   ---------------------------------------------------------
   Worksheet type, activity type, and workflow status badges
   used in Recent Activity cards.
   ========================================================= */

.dashboard-type-badge[b-9j6q7i9axt],
.dashboard-status-badge[b-9j6q7i9axt],
.dashboard-activity-type-badge[b-9j6q7i9axt] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 4px 10px;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
}

.dashboard-type-badge[b-9j6q7i9axt],
.dashboard-status-badge[b-9j6q7i9axt] {
  font-size: 11px;
  font-weight: 600;
}

.dashboard-type-badge[b-9j6q7i9axt] {
  min-width: 80px;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.dashboard-status-badge[b-9j6q7i9axt] {
  min-width: 140px;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.dashboard-activity-type-badge[b-9j6q7i9axt] {
  min-width: 80px;
  font-size: 11px;
  font-weight: 700;
}

.dashboard-type-badge--prepack[b-9j6q7i9axt] {
  background: rgba(63, 111, 159, 0.12);
  color: rgb(63, 111, 159);
  border: 1px solid rgba(63, 111, 159, 0.16);
}

.dashboard-type-badge--openstock[b-9j6q7i9axt] {
  background: rgba(142, 59, 103, 0.10);
  color: rgb(142, 59, 103);
  border: 1px solid rgba(142, 59, 103, 0.16);
}

.dashboard-type-badge--default[b-9j6q7i9axt],
.dashboard-activity-type-badge--default[b-9j6q7i9axt],
.dashboard-activity-type-badge--promotion[b-9j6q7i9axt],
.dashboard-status-draft[b-9j6q7i9axt] {
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.dashboard-activity-type-badge--pricing[b-9j6q7i9axt],
.dashboard-status-submitted[b-9j6q7i9axt],
.dashboard-status-released[b-9j6q7i9axt] {
  background: rgba(59, 130, 246, 0.14);
  color: #1d4ed8;
}

.dashboard-activity-type-badge--final-book[b-9j6q7i9axt] {
  background: rgba(16, 185, 129, 0.14);
  color: #047857;
}

.dashboard-status-revision[b-9j6q7i9axt] {
  background: #ffe4e6;
  color: #dc2626;
}

.dashboard-status-review[b-9j6q7i9axt] {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
}

.dashboard-status-approved[b-9j6q7i9axt] {
  background: rgba(34, 197, 94, 0.16);
  color: #15803d;
}

/* =========================================================
   Quick Links
   ---------------------------------------------------------
   Secondary navigation panel. Link titles are intentionally
   softer than Recent Activity titles to avoid visual competition.
   ========================================================= */

.dashboard-quick-link-card[b-9j6q7i9axt] {
  display: block;
  padding: 7px 10px 8px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  text-decoration: none;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

  .dashboard-quick-link-card:hover[b-9j6q7i9axt] {
    transform: translateY(-1px);
    text-decoration: none;
    border-color: rgba(29, 58, 109, 0.16);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
  }

.dashboard-quick-link-group-title[b-9j6q7i9axt] {
  margin: 8px 0 -1px;
  padding: 4.5px 8px;
  border-radius: 7px;
  background: #f1f5f9;
  color: #8a95a3;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

  .dashboard-quick-link-group-title:first-child[b-9j6q7i9axt] {
    margin-top: 2px;
  }

.dashboard-quick-link-title[b-9j6q7i9axt] {
  margin: 0 0 2px;
  color: #3f78a8;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 600;
}

.dashboard-quick-link-description[b-9j6q7i9axt] {
  color: var(--text-600);
  font-size: 13px;
  line-height: 1.25;
}

/* =========================================================
   Empty and Limited States
   ---------------------------------------------------------
   Shared messages for dashboards with limited role access,
   empty activity, or missing Quick Links.
   ========================================================= */

.dashboard-limited-message[b-9j6q7i9axt],
.dashboard-empty-state[b-9j6q7i9axt] {
  padding: 18px 18px 16px;
  border: 1px dashed rgba(29, 58, 109, 0.20);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(29, 58, 109, 0.03), rgba(91, 196, 191, 0.03));
}

.dashboard-limited-message-title[b-9j6q7i9axt],
.dashboard-empty-state-title[b-9j6q7i9axt] {
  margin: 0;
  color: var(--text-900);
  font-size: 16px;
  font-weight: 700;
}

.dashboard-limited-message-text[b-9j6q7i9axt],
.dashboard-empty-state-text[b-9j6q7i9axt] {
  margin: 8px 0 0;
  color: var(--text-600);
  font-size: 13px;
  line-height: 1.55;
}

.dashboard-empty-state--compact[b-9j6q7i9axt] {
  padding: 14px 16px;
}

/* =========================================================
   Responsive Rules
   ---------------------------------------------------------
   Container queries are based on dashboard content width.
   This keeps behavior aligned when the sidebar is expanded,
   collapsed, or when the dashboard appears in a narrower role
   workspace.
   ========================================================= */

@container dashboard-page (max-width: 1000px) {
  .dashboard-main-grid[b-9j6q7i9axt] {
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
    align-items: start;
    align-content: start;
    gap: 10px;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .dashboard-panel[b-9j6q7i9axt] {
    height: auto;
    min-height: 0;
    display: block;
  }

  .dashboard-panel-body[b-9j6q7i9axt] {
    display: block;
    min-height: 0;
    overflow: visible;
  }

  .dashboard-recent-list[b-9j6q7i9axt],
  .dashboard-quick-links[b-9j6q7i9axt] {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  .dashboard-recent-item[b-9j6q7i9axt] {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .dashboard-recent-item-side[b-9j6q7i9axt] {
    min-width: 0;
    max-width: none;
    align-items: flex-start;
    gap: 6px;
    text-align: left;
  }

  .dashboard-recent-item-updated[b-9j6q7i9axt] {
    white-space: normal;
  }

  .dashboard-quick-link-description[b-9j6q7i9axt] {
    overflow-wrap: anywhere;
  }
}

@container dashboard-page (max-width: 980px) {
  .dashboard-hero-card[b-9j6q7i9axt] {
    flex-wrap: wrap;
  }

  .dashboard-hero-actions[b-9j6q7i9axt] {
    width: 100%;
    align-items: stretch;
    margin-left: 0;
  }

  .dashboard-cycle-calendar[b-9j6q7i9axt] {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}

@container dashboard-page (max-width: 960px) {
  .dashboard-stat-grid[b-9j6q7i9axt] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container dashboard-page (max-width: 640px) {
  .dashboard-shared[b-9j6q7i9axt] {
    gap: 8px;
    padding: 4px 2px 10px;
  }

  .dashboard-hero-card[b-9j6q7i9axt] {
    flex-direction: column;
    align-items: stretch;
    padding: 20px 18px 18px;
  }

  .dashboard-title[b-9j6q7i9axt] {
    font-size: 28px;
  }

  .dashboard-subtitle[b-9j6q7i9axt] {
    font-size: 14px;
  }

  .dashboard-hero-actions[b-9j6q7i9axt] {
    min-width: 0;
    width: 100%;
    align-items: stretch;
    margin-left: 0;
  }

  .dashboard-stat-grid[b-9j6q7i9axt] {
    grid-template-columns: 1fr;
  }

  .dashboard-cycle-calendar[b-9j6q7i9axt] {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .dashboard-cycle-calendar-body[b-9j6q7i9axt] {
    grid-template-columns: 1fr;
  }

  .dashboard-cycle-calendar-cell + .dashboard-cycle-calendar-cell[b-9j6q7i9axt] {
    border-left: 0;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
  }
}
/* /Components/Shared/Dashboards/DashboardTaskQueue.razor.rz.scp.css */
/* Dashboard Task Queue */
/* ---------------------------------------------------------
   Displays role-owned actionable work inside a fixed-height
   dashboard panel. Only the task records scroll vertically.
   --------------------------------------------------------- */

.dashboard-task-queue[b-erc2bt8raf] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dashboard-task-filters[b-erc2bt8raf] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 8px 8px 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

/* Promotion Cycle Filter */
/* ---------------------------------------------------------
   Adds exact Promotion Cycle filtering while preserving the
   compact category-filter treatment in the task queue header.
   --------------------------------------------------------- */

.dashboard-task-cycle-filter[b-erc2bt8raf] {
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 7px;
}

.dashboard-task-cycle-filter-label[b-erc2bt8raf] {
    flex: 0 0 auto;
    color: var(--text-600);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.dashboard-task-cycle-filter-host[b-erc2bt8raf] {
    width: 148px;
    min-width: 148px;
    flex: 0 0 148px;
}

    .dashboard-task-cycle-filter-host[b-erc2bt8raf]  .searchable-select__button {
        min-height: 29px;
        height: 29px;
        padding-top: 4px;
        padding-bottom: 4px;
        font-size: 11px;
        line-height: 1.1;
    }

    .dashboard-task-cycle-filter-host[b-erc2bt8raf]  .searchable-select__menu {
        left: auto;
        right: 0;
        width: 300px;
        min-width: 300px;
        max-width: calc(100vw - 32px);
    }

.dashboard-task-filter[b-erc2bt8raf] {
    min-height: 29px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--border-200);
    border-radius: 999px;
    background: #fff;
    color: var(--text-600);
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    cursor: pointer;
}

    .dashboard-task-filter:hover[b-erc2bt8raf] {
        border-color: rgba(37, 99, 235, 0.30);
        color: #1d4ed8;
    }

    .dashboard-task-filter span[b-erc2bt8raf] {
        min-width: 19px;
        padding: 3px 5px;
        border-radius: 999px;
        background: var(--bg-muted);
        color: var(--text-700);
        font-size: 10px;
        text-align: center;
    }

.dashboard-task-filter--active[b-erc2bt8raf] {
    border-color: rgba(37, 99, 235, 0.35);
    background: rgba(37, 99, 235, 0.07);
    color: #1d4ed8;
}

/* Promotion Cycle Task Groups */
/* ---------------------------------------------------------
   Separates actionable Dashboard work by exact Promotion Cycle.
   Task priority styling remains responsible for urgency within a Cycle.
   --------------------------------------------------------- */

.dashboard-task-cycle-group-toggle[b-erc2bt8raf] {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 7px;
    background: #f8fbff;
    color: #2563eb;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

    .dashboard-task-cycle-group-toggle:hover[b-erc2bt8raf] {
        border-color: #b8cbea;
        background: #f2f7ff;
    }

    .dashboard-task-cycle-group-toggle:focus-visible[b-erc2bt8raf] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
    }

.dashboard-task-cycle-group[b-erc2bt8raf] {
    flex: 0 0 auto;
    min-height: 33px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 3px;
    padding: 3px 8px 3px 6px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-left: 3px solid rgba(37, 99, 235, 0.32);
    border-radius: 8px;
    background: linear-gradient(180deg, #f3f7ff 0%, #f8fbff 100%);
}

.dashboard-task-cycle-group-main[b-erc2bt8raf] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.dashboard-task-cycle-group-label[b-erc2bt8raf] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 17px;
    padding: 1px 5px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.88);
    color: #64748b;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.dashboard-task-cycle-group-name[b-erc2bt8raf] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-task-cycle-group-period[b-erc2bt8raf] {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 650;
    white-space: nowrap;
}

.dashboard-task-cycle-group-count[b-erc2bt8raf] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 19px;
    padding: 2px 7px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 9.5px;
    font-weight: 750;
    white-space: nowrap;
}

.dashboard-task-list[b-erc2bt8raf] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 8px 3px 8px 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.dashboard-task-item[b-erc2bt8raf] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border-200);
    border-left-width: 3px;
    border-radius: 11px;
    background: #fff;
}

.dashboard-task-item--critical[b-erc2bt8raf] {
    border-left-color: #dc2626;
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.035), #fff 20%);
}

.dashboard-task-item--high[b-erc2bt8raf] {
    border-left-color: #f59e0b;
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.04), #fff 20%);
}

.dashboard-task-item--normal[b-erc2bt8raf] {
    border-left-color: #2563eb;
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.035), #fff 20%);
}

.dashboard-task-priority[b-erc2bt8raf] {
    align-self: start;
    padding-top: 2px;
    color: var(--text-600);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.dashboard-task-content[b-erc2bt8raf] {
    min-width: 0;
}

.dashboard-task-title[b-erc2bt8raf] {
    overflow: hidden;
    color: var(--text-900);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-task-context[b-erc2bt8raf] {
    margin-top: 3px;
    overflow: hidden;
    color: var(--text-700);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-task-description[b-erc2bt8raf] {
    margin-top: 3px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-task-meta[b-erc2bt8raf] {
    margin-top: 4px;
    color: var(--text-500);
    font-size: 11px;
    line-height: 1.25;
}

.dashboard-task-action[b-erc2bt8raf] {
    flex: 0 0 auto;
    align-self: center;
}

    .dashboard-task-action .btn[b-erc2bt8raf] {
        min-width: 72px;
        white-space: nowrap;
    }

@container dashboard-page (max-width: 900px) {
    .dashboard-task-cycle-filter[b-erc2bt8raf] {
        width: 100%;
        margin-left: 0;
    }

    .dashboard-task-cycle-filter-host[b-erc2bt8raf] {
        flex: 1 1 auto;
        width: auto;
    }

    .dashboard-task-item[b-erc2bt8raf] {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .dashboard-task-action[b-erc2bt8raf] {
        grid-column: 2;
        justify-self: start;
    }
}
/* /Components/Shared/FooterPolicyLinks.razor.rz.scp.css */
/* Footer Privacy Policy Link */
/* ---------------------------------------------------------
   Provides the shared Privacy Policy footer action used by
   authenticated and authentication layouts.
   --------------------------------------------------------- */

.footer-policy-links[b-1yqmqxe7me] {
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.app-footer-link[b-1yqmqxe7me] {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    color: #6b7280;
    font: inherit;
    line-height: inherit;
    white-space: nowrap;
    cursor: pointer;
}

    .app-footer-link:hover[b-1yqmqxe7me] {
        text-decoration: underline;
    }

    .app-footer-link:focus-visible[b-1yqmqxe7me] {
        outline: 2px solid rgba(37, 99, 235, 0.45);
        outline-offset: 3px;
        border-radius: 2px;
    }

/* Privacy Policy Modal */
/* ---------------------------------------------------------
   Keeps the policy modal centered with a stable header and
   action bar. Only the policy body owns vertical scrolling.
   --------------------------------------------------------- */

.footer-policy-modal-backdrop[b-1yqmqxe7me] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(15, 23, 42, 0.42);
    white-space: normal;
}

.footer-policy-modal[b-1yqmqxe7me] {
    width: min(900px, calc(100vw - 48px));
    max-height: min(840px, calc(100vh - 56px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.12);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24);
    box-sizing: border-box;
}

/* Modal Header */
/* ---------------------------------------------------------
   Keeps policy identity and close action visually stable
   while the policy document scrolls independently below.
   --------------------------------------------------------- */

.footer-policy-modal-header[b-1yqmqxe7me] {
    flex: 0 0 auto;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.footer-policy-modal-title[b-1yqmqxe7me] {
    min-width: 0;
}

    .footer-policy-modal-title h2[b-1yqmqxe7me] {
        margin: 0;
        color: var(--text-900, #192344);
        font-size: 18px;
        line-height: 1.2;
        font-weight: 750;
        letter-spacing: 0.01em;
    }

    .footer-policy-modal-title span[b-1yqmqxe7me] {
        display: block;
        margin-top: 2px;
        color: #7c8ba1;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 500;
    }

.footer-policy-modal-close[b-1yqmqxe7me] {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

    .footer-policy-modal-close:hover[b-1yqmqxe7me] {
        background: rgba(25, 35, 68, 0.06);
        color: var(--text-900, #192344);
    }

    .footer-policy-modal-close:focus-visible[b-1yqmqxe7me] {
        outline: 2px solid rgba(37, 99, 235, 0.45);
        outline-offset: 2px;
    }

/* Modal Scroll Region */
/* ---------------------------------------------------------
   Owns all policy scrolling so the modal title and Close
   action remain visible regardless of document length.
   --------------------------------------------------------- */

.footer-policy-modal-body[b-1yqmqxe7me] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 24px 18px;
    background: #ffffff;
    scrollbar-gutter: stable;
}

/* Modal Action Bar */
/* ---------------------------------------------------------
   Keeps the Close action anchored at the bottom of the modal
   regardless of policy document length.
   --------------------------------------------------------- */

.footer-policy-modal-actions[b-1yqmqxe7me] {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    padding: 11px 18px;
    border-top: 1px solid #e5e7eb;
    background: #ffffff;
}

.footer-policy-done-btn[b-1yqmqxe7me] {
    min-width: 92px;
    min-height: 34px;
    padding: 0.4rem 1rem;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .footer-policy-modal-backdrop[b-1yqmqxe7me] {
        padding: 14px;
    }

    .footer-policy-modal[b-1yqmqxe7me] {
        width: 100%;
        max-height: calc(100vh - 28px);
    }

    .footer-policy-modal-header[b-1yqmqxe7me] {
        min-height: 60px;
        padding: 8px 16px;
    }

    .footer-policy-modal-body[b-1yqmqxe7me] {
        padding: 14px 18px 16px;
    }

    .footer-policy-modal-actions[b-1yqmqxe7me] {
        padding: 10px 16px;
    }
}
/* /Components/Shared/Guide/PromoSenseGuide.razor.rz.scp.css */
/* PromoSense Guide Shell */
/* ---------------------------------------------------------
   Shared modal and standalone Guide workspace. The Guide shell
   remains fixed while the topic content owns vertical scrolling.
   --------------------------------------------------------- */

.promosense-guide-host[b-ek5x7kdykc] {
    z-index: 1080;
}

.promosense-guide-host--modal[b-ek5x7kdykc] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: rgba(15, 23, 42, 0.42);
}

.promosense-guide-host--standalone[b-ek5x7kdykc] {
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 16px;
    background: #f8fafc;
}

.promosense-guide[b-ek5x7kdykc] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.promosense-guide--modal[b-ek5x7kdykc] {
    width: min(1120px, calc(100vw - 80px));
    height: min(760px, calc(100vh - 80px));
}

.promosense-guide--standalone[b-ek5x7kdykc] {
    width: 100%;
    height: 100%;
    min-height: 640px;
    box-shadow: none;
}

/* Guide Header */
/* ---------------------------------------------------------
   Keeps Guide identity, role context, and top-level actions
   stable while topic content changes below.
   --------------------------------------------------------- */

.promosense-guide-header[b-ek5x7kdykc] {
    flex: 0 0 auto;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border-bottom: 1px solid #e5eaf1;
    background: #ffffff;
}

.promosense-guide-heading[b-ek5x7kdykc] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.promosense-guide-heading-icon[b-ek5x7kdykc] {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 9px;
    background: rgba(239, 246, 255, 0.72);
    color: #1d4ed8;
    font-size: 15px;
    line-height: 1;
}

.promosense-guide-heading-copy[b-ek5x7kdykc] {
    min-width: 0;
}

.promosense-guide-title-row[b-ek5x7kdykc] {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .promosense-guide-title-row h2[b-ek5x7kdykc] {
        margin: 0;
        color: #0f274e;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.2;
    }

.promosense-guide-heading-copy p[b-ek5x7kdykc] {
    margin: 3px 0 0;
    color: #7183a1;
    font-size: 12px;
}

.promosense-guide-role-badge[b-ek5x7kdykc] {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.promosense-guide-header-actions[b-ek5x7kdykc] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.promosense-guide-open-tab[b-ek5x7kdykc] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 11px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

    .promosense-guide-open-tab:hover[b-ek5x7kdykc] {
        border-color: #94a3b8;
        background: #f8fafc;
        color: #0f274e;
    }

.promosense-guide-close[b-ek5x7kdykc] {
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    font-size: 16px;
}

    .promosense-guide-close:hover[b-ek5x7kdykc] {
        background: #f1f5f9;
        color: #0f172a;
    }

/* Guide Workspace */
/* ---------------------------------------------------------
   Left navigation remains stable. Only right-side topic content
   scrolls when guidance exceeds the available modal height.
   --------------------------------------------------------- */

.promosense-guide-body[b-ek5x7kdykc] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
}

.promosense-guide-nav[b-ek5x7kdykc] {
    min-height: 0;
    overflow-y: auto;
    padding: 14px 10px 18px;
    border-right: 1px solid #e5eaf1;
    background: #fbfcfe;
}

.promosense-guide-content[b-ek5x7kdykc] {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    padding: 22px 26px 28px;
    background: #ffffff;
}

/* Guide Navigation */
/* ---------------------------------------------------------
   Groups Guide topics by business purpose rather than mirroring
   the application sidebar order.
   --------------------------------------------------------- */

.promosense-guide-nav-group + .promosense-guide-nav-group[b-ek5x7kdykc] {
    margin-top: 16px;
}

.promosense-guide-nav-group-title[b-ek5x7kdykc] {
    margin: 0 8px 6px;
    color: #8595ad;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.07em;
}

.promosense-guide-nav-item[b-ek5x7kdykc] {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #425574;
    font-size: 12px;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

    .promosense-guide-nav-item:hover[b-ek5x7kdykc] {
        background: #f1f5f9;
        color: #173a70;
    }

.promosense-guide-nav-item--active[b-ek5x7kdykc] {
    background: #eaf2ff;
    color: #1257c7;
    font-weight: 700;
}

.promosense-guide-nav-icon[b-ek5x7kdykc] {
    width: 16px;
    flex: 0 0 16px;
    color: #7183a1;
    font-size: 13px;
    text-align: center;
}

.promosense-guide-nav-item--active .promosense-guide-nav-icon[b-ek5x7kdykc] {
    color: #2563eb;
}

/* Guide Topic Content */
/* ---------------------------------------------------------
   Compact content hierarchy keeps guidance scannable and avoids
   turning the Guide into long-form application documentation.
   --------------------------------------------------------- */

.promosense-guide-topic[b-ek5x7kdykc] {
    width: min(100%, 820px);
}

.promosense-guide-topic-heading[b-ek5x7kdykc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf1f6;
}

    .promosense-guide-topic-heading > span[b-ek5x7kdykc] {
        color: #2563eb;
        font-size: 21px;
    }

    .promosense-guide-topic-heading h3[b-ek5x7kdykc] {
        margin: 0;
        color: #102a52;
        font-size: 22px;
        font-weight: 700;
    }

.promosense-guide-section[b-ek5x7kdykc] {
    margin-top: 20px;
}

.promosense-guide-section-title[b-ek5x7kdykc] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
}

    .promosense-guide-section-title > span[b-ek5x7kdykc] {
        width: 18px;
        color: #2563eb;
        font-size: 14px;
        text-align: center;
    }

    .promosense-guide-section-title h4[b-ek5x7kdykc] {
        margin: 0;
        color: #18365f;
        font-size: 13px;
        font-weight: 700;
    }

.promosense-guide-section p[b-ek5x7kdykc] {
    margin: 0 0 0 26px;
    max-width: 700px;
    color: #526783;
    font-size: 13px;
    line-height: 1.55;
}

.promosense-guide-owner[b-ek5x7kdykc] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin-left: 26px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.promosense-guide-owner--admin[b-ek5x7kdykc] {
    border: 1px solid #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

.promosense-guide-owner--manufacturer[b-ek5x7kdykc] {
    border: 1px solid #ddd6fe;
    background: #f5f3ff;
    color: #6d28d9;
}

.promosense-guide-owner--broker[b-ek5x7kdykc] {
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.promosense-guide-owner--shared[b-ek5x7kdykc] {
    border: 1px solid #c7d2fe;
    background: #eef2ff;
    color: #4338ca;
}

.promosense-guide-owner--distributor[b-ek5x7kdykc] {
    border: 1px solid #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.promosense-guide-steps[b-ek5x7kdykc] {
    margin: 0 0 0 42px;
    padding: 0;
    color: #425574;
    font-size: 13px;
    line-height: 1.55;
}

    .promosense-guide-steps li + li[b-ek5x7kdykc] {
        margin-top: 7px;
    }

.promosense-guide-note[b-ek5x7kdykc] {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    padding: 13px 14px;
    border: 1px solid;
    border-radius: 10px;
}

    .promosense-guide-note > span[b-ek5x7kdykc] {
        flex: 0 0 auto;
        margin-top: 1px;
        font-size: 15px;
    }

    .promosense-guide-note strong[b-ek5x7kdykc] {
        display: block;
        margin-bottom: 3px;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .promosense-guide-note p[b-ek5x7kdykc] {
        margin: 0;
        color: #526783;
        font-size: 12px;
        line-height: 1.5;
    }

.promosense-guide-note--info[b-ek5x7kdykc] {
    border-color: #bfdbfe;
    background: #f8fbff;
    color: #2563eb;
}

.promosense-guide-note--warning[b-ek5x7kdykc] {
    border-color: #fed7aa;
    background: #fffaf3;
    color: #c2410c;
}

.promosense-guide-placeholder[b-ek5x7kdykc] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 22px;
    padding: 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
}

    .promosense-guide-placeholder > span[b-ek5x7kdykc] {
        color: #2563eb;
        font-size: 18px;
    }

    .promosense-guide-placeholder strong[b-ek5x7kdykc] {
        display: block;
        margin-bottom: 3px;
        color: #334155;
        font-size: 13px;
    }

    .promosense-guide-placeholder p[b-ek5x7kdykc] {
        margin: 0;
        font-size: 12px;
        line-height: 1.5;
    }

/* Guide Responsive Behavior */
/* ---------------------------------------------------------
   Desktop remains the primary experience. Narrower layouts retain
   usable navigation without affecting the main application shell.
   --------------------------------------------------------- */

@media (max-width: 900px) {
    .promosense-guide-host--modal[b-ek5x7kdykc] {
        padding: 20px;
    }

    .promosense-guide--modal[b-ek5x7kdykc] {
        width: calc(100vw - 40px);
        height: calc(100vh - 40px);
    }

    .promosense-guide-body[b-ek5x7kdykc] {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .promosense-guide-content[b-ek5x7kdykc] {
        padding: 20px;
    }
}
/* /Components/Shared/Guide/PromoSenseGuideLauncher.razor.rz.scp.css */
/* PromoSense Guide Launcher */
/* ---------------------------------------------------------
   Keeps the global Guide action aligned with the existing
   topbar actions without changing notification or profile layout.
   --------------------------------------------------------- */

.promosense-guide-launcher[b-xu8zlbotta] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/*with outer border option*/
.promosense-guide-button[b-xu8zlbotta] {
    width: 31px;
    height: 31px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 9px;
    background: rgba(239, 246, 255, 0.72);
    color: #1d4ed8;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

/*no outer border option*/
/*.promosense-guide-button {
    width: 31px;
    height: 31px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease;
}*/

    .promosense-guide-button:hover[b-xu8zlbotta],
    .promosense-guide-button:focus-visible[b-xu8zlbotta] {
        border-color: rgba(37, 99, 235, 0.45);
        background: #eff6ff;
        color: #1e40af;
        outline: none;
    }
/* /Components/Shared/Guide/PromotionWorkflowGuide.razor.rz.scp.css */
/* Promotion Workflow Guide */
/* ---------------------------------------------------------
   Role-aware welcome and core Promotion workflow presentation.
   The layout remains naturally sized so the existing Guide content
   region continues to own modal and standalone-page scrolling.
   --------------------------------------------------------- */

.promotion-workflow-guide[b-xog5kpm406] {
    width: 100%;
    min-width: 0;
}

.promotion-workflow-role-card[b-xog5kpm406] {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.76), rgba(255, 255, 255, 0.96));
}

.promotion-workflow-role-icon[b-xog5kpm406] {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.09);
    color: #1d4ed8;
    font-size: 18px;
}

.promotion-workflow-role-heading[b-xog5kpm406] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 5px;
    color: var(--text-900);
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
}

.promotion-workflow-role-badge[b-xog5kpm406] {
    padding: 3px 7px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 999px;
    background: rgba(239, 246, 255, 0.85);
    color: #1d4ed8;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.promotion-workflow-role-card p[b-xog5kpm406] {
    margin: 0;
    color: var(--text-600);
    font-size: 13px;
    line-height: 1.5;
}

.promotion-workflow-heading[b-xog5kpm406] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 18px 0 12px;
}

    .promotion-workflow-heading > span[b-xog5kpm406] {
        margin-top: 2px;
        color: var(--brand-600);
        font-size: 17px;
    }

    .promotion-workflow-heading h3[b-xog5kpm406] {
        margin: 0;
        color: var(--text-900);
        font-size: 18px;
        line-height: 1.2;
        font-weight: 700;
    }

    .promotion-workflow-heading p[b-xog5kpm406] {
        margin: 3px 0 0;
        color: var(--text-500);
        font-size: 12.5px;
        line-height: 1.4;
    }

.promotion-workflow-flow[b-xog5kpm406] {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

.promotion-workflow-step[b-xog5kpm406] {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    background: #fff;
}

.promotion-workflow-step-number[b-xog5kpm406] {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(29, 58, 109, 0.08);
    color: var(--brand-700);
    font-size: 12px;
    font-weight: 800;
}

.promotion-workflow-step strong[b-xog5kpm406],
.promotion-workflow-gate strong[b-xog5kpm406],
.promotion-workflow-complete strong[b-xog5kpm406],
.promotion-workflow-outcome strong[b-xog5kpm406] {
    display: block;
    margin-bottom: 3px;
    color: var(--text-900);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
}

.promotion-workflow-step span[b-xog5kpm406],
.promotion-workflow-gate span[b-xog5kpm406],
.promotion-workflow-complete span[b-xog5kpm406],
.promotion-workflow-outcome span[b-xog5kpm406] {
    display: block;
    color: var(--text-600);
    font-size: 12.5px;
    line-height: 1.45;
}

.promotion-workflow-arrow[b-xog5kpm406] {
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-400);
    font-size: 15px;
}

.promotion-workflow-decision[b-xog5kpm406] {
    padding: 10px;
    border: 1px solid rgba(250, 169, 75, 0.24);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.42);
}

.promotion-workflow-decision-label[b-xog5kpm406] {
    margin-bottom: 8px;
    color: var(--text-700);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.promotion-workflow-decision-grid[b-xog5kpm406] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.promotion-workflow-outcome[b-xog5kpm406] {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 8px;
}

.promotion-workflow-outcome--success[b-xog5kpm406] {
    border: 1px solid rgba(22, 130, 84, 0.18);
    background: rgba(236, 253, 245, 0.72);
}

.promotion-workflow-outcome--return[b-xog5kpm406] {
    border: 1px solid rgba(217, 119, 6, 0.18);
    background: rgba(255, 247, 237, 0.78);
}

.promotion-workflow-gate[b-xog5kpm406] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, 0.17);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.58);
}

    .promotion-workflow-gate > i[b-xog5kpm406] {
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1d4ed8;
        font-size: 16px;
    }

.promotion-workflow-complete[b-xog5kpm406] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid rgba(22, 130, 84, 0.22);
    border-radius: 10px;
    background: rgba(236, 253, 245, 0.72);
}

    .promotion-workflow-complete > i[b-xog5kpm406] {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #168254;
        font-size: 18px;
    }

@media (max-width: 720px) {
    .promotion-workflow-decision-grid[b-xog5kpm406] {
        grid-template-columns: 1fr;
    }

    .promotion-workflow-role-card[b-xog5kpm406] {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 12px;
    }

    .promotion-workflow-role-icon[b-xog5kpm406] {
        width: 34px;
        height: 34px;
        font-size: 16px;
    }
}
/* /Components/Shared/Images/ImagePreviewModal.razor.rz.scp.css */
/* Reusable Full Image Preview Modal */

/* ---------------------------------------------------------
   Displays a single image above existing application and
   nested modal layers without changing page scroll behavior.
   --------------------------------------------------------- */

.image-preview-modal__backdrop[b-uwkznump2q] {
    position: fixed;
    inset: 0;
    z-index: 13000;
    background: rgba(15, 23, 42, 0.42);
}

.image-preview-modal__shell[b-uwkznump2q] {
    position: fixed;
    inset: 0;
    z-index: 13010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 24px;
    pointer-events: none;
}

.image-preview-modal__card[b-uwkznump2q] {
    width: min(640px, calc(100vw - 72px));
    max-height: calc(100vh - 72px);
    display: flex;
    flex-direction: column;
    pointer-events: auto;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.12);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.20);
}

.image-preview-modal__header[b-uwkznump2q] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px 11px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.image-preview-modal__header-copy[b-uwkznump2q] {
    min-width: 0;
}

.image-preview-modal__title[b-uwkznump2q] {
    margin: 0;
    color: #17233f;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.2;
}

.image-preview-modal__subtitle[b-uwkznump2q] {
    margin: 3px 0 0;
    overflow: hidden;
    color: #64748b;
    font-size: 12.5px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.image-preview-modal__close[b-uwkznump2q] {
    appearance: none;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

    .image-preview-modal__close:hover[b-uwkznump2q],
    .image-preview-modal__close:focus-visible[b-uwkznump2q] {
        background: #f1f5f9;
        color: #17233f;
        outline: none;
    }

.image-preview-modal__body[b-uwkznump2q] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    overflow: auto;
    background: #ffffff;
}

.image-preview-modal__image[b-uwkznump2q] {
    display: block;
    max-width: 100%;
    max-height: min(50vh, 460px);
    object-fit: contain;
    border: 1px solid var(--border-300, rgba(25, 35, 68, 0.12));
    border-radius: 16px;
    background: var(--bg-surface, #ffffff);
    box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
}

.image-preview-modal__footer[b-uwkznump2q] {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    padding: 9px 18px 11px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

.image-preview-modal__footer-button[b-uwkznump2q] {
    min-width: 82px;
    min-height: 32px;
    padding: 5px 14px;
    border: 1px solid rgba(71, 85, 105, 0.42);
    border-radius: 7px;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    font-size: 13px;
    font-weight: 650;
}

    .image-preview-modal__footer-button:hover[b-uwkznump2q],
    .image-preview-modal__footer-button:focus-visible[b-uwkznump2q] {
        border-color: #2563eb;
        color: #1d4ed8;
        outline: none;
    }
/* /Components/Shared/Images/ImagePreviewTrigger.razor.rz.scp.css */
/* Reusable Image Preview Trigger */

/* ---------------------------------------------------------
   Displays a thumbnail, viewport-safe hover/focus preview,
   and a callback for opening the full image preview.
   --------------------------------------------------------- */

.image-preview-trigger[b-jf8ude6ju8] {
    appearance: none;
    position: relative;
    width: var(--image-preview-thumbnail-width);
    height: var(--image-preview-thumbnail-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    vertical-align: middle;
}

.image-preview-trigger__thumbnail-frame[b-jf8ude6ju8] {
    width: var(--image-preview-thumbnail-width);
    height: var(--image-preview-thumbnail-height);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.12);
    border-radius: var(--image-preview-thumbnail-radius);
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.image-preview-trigger__thumbnail[b-jf8ude6ju8] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: var(--image-preview-thumbnail-fit);
}

.image-preview-trigger:hover .image-preview-trigger__thumbnail-frame[b-jf8ude6ju8],
.image-preview-trigger:focus-visible .image-preview-trigger__thumbnail-frame[b-jf8ude6ju8] {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
}

.image-preview-trigger:focus-visible[b-jf8ude6ju8] {
    outline: none;
}

    .image-preview-trigger:focus-visible .image-preview-trigger__thumbnail-frame[b-jf8ude6ju8] {
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16), 0 8px 18px rgba(15, 23, 42, 0.16);
    }

/* Fixed positioning prevents clipping inside modal bodies,
   table scroll regions, and overflow-hidden containers. */
.image-preview-trigger__hover-card[b-jf8ude6ju8] {
    position: fixed;
    z-index: 6900;
    box-sizing: border-box;
    /* The additional 18px accounts for 8px padding on both
       sides plus the 1px border on both sides. */
    left: clamp( 12px, var(--image-preview-hover-left), calc(100vw - var(--image-preview-hover-width) - 30px) );
    top: clamp( 12px, var(--image-preview-hover-top), calc(100vh - var(--image-preview-hover-height) - 30px) );
    width: min( calc(var(--image-preview-hover-width) + 18px), calc(100vw - 24px) );
    height: min( calc(var(--image-preview-hover-height) + 18px), calc(100vh - 24px) );
    padding: 8px;
    pointer-events: none;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.16);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    animation: image-preview-trigger-fade-in-b-jf8ude6ju8 120ms ease-out;
}

.image-preview-trigger__hover-image[b-jf8ude6ju8] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: var(--image-preview-hover-fit);
    border-radius: 11px;
    background: #f8fafc;
}

@keyframes image-preview-trigger-fade-in-b-jf8ude6ju8 {
    from {
        opacity: 0;
        transform: translateY(3px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .image-preview-trigger__thumbnail-frame[b-jf8ude6ju8],
    .image-preview-trigger__hover-card[b-jf8ude6ju8] {
        transition: none;
        animation: none;
    }
}
/* /Components/Shared/Notifications/NotificationBell.razor.rz.scp.css */
.notification-bell[b-z2or60tipz] {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.notification-bell-dismiss-layer[b-z2or60tipz] {
  position: fixed;
  inset: 0;
  z-index: 2090;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: default;
}

.notification-bell-trigger[b-z2or60tipz] {
  position: relative;
  border: 1px solid transparent;
  background: transparent;
  border-radius: .5rem;
  padding: .25rem .45rem;
  min-width: 34px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-800, #1f2937);
}

  .notification-bell-trigger:hover[b-z2or60tipz] {
    background: rgba(0,0,0,.03);
    border-color: rgba(0,0,0,.08);
  }

  .notification-bell-trigger:focus-visible[b-z2or60tipz],
  .notification-bell-link:focus-visible[b-z2or60tipz],
  .notification-bell-item:focus-visible[b-z2or60tipz],
  .notification-bell-view-all:focus-visible[b-z2or60tipz] {
    outline: 2px solid rgba(13,110,253,.45);
    outline-offset: 2px;
  }

.notification-bell-count[b-z2or60tipz] {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 17px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(220, 38, 38, 0.28);
}

.notification-bell-panel[b-z2or60tipz] {
  position: absolute;
  right: 0;
  top: calc(100% + .45rem);
  width: 390px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border: 1px solid var(--panel-border, rgba(15, 23, 42, 0.10));
  box-shadow: var(--panel-shadow, 0 18px 48px rgba(15, 23, 42, 0.18));
  border-radius: 14px;
  overflow: hidden;
  z-index: 2100;
}

.notification-bell-header[b-z2or60tipz] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px 10px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.82);
}

.notification-bell-title[b-z2or60tipz] {
  font-size: 15px;
  font-weight: 800;
  color: var(--text-900, #0f172a);
  line-height: 1.2;
}

.notification-bell-subtitle[b-z2or60tipz] {
  margin-top: 2px;
  font-size: 12px;
  color: var(--text-500, #64748b);
}

.notification-bell-link[b-z2or60tipz] {
  border: 0;
  background: transparent;
  padding: 2px 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--link-600, #2563eb);
}

  .notification-bell-link:disabled[b-z2or60tipz] {
    opacity: 0.45;
    cursor: default;
  }

.notification-bell-list[b-z2or60tipz] {
  max-height: 360px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.notification-bell-item[b-z2or60tipz] {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 11px 14px 11px 16px;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
  background: #fff;
  text-align: left;
  color: inherit;
}

  .notification-bell-item:hover[b-z2or60tipz] {
    background: rgba(37, 99, 235, 0.035);
  }

  .notification-bell-item.is-unread[b-z2or60tipz] {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.085), #fff 48%);
  }

    .notification-bell-item.is-unread[b-z2or60tipz]::before {
      content: "";
      position: absolute;
      left: 0;
      top: 18px;
      bottom: 18px;
      width: 3px;
      border-radius: 0 999px 999px 0;
      background: #2563eb;
    }

  .notification-bell-item.is-read[b-z2or60tipz] {
    background: #fff;
  }

    .notification-bell-item.is-read .notification-bell-item-title[b-z2or60tipz],
    .notification-bell-item.is-read .notification-bell-item-message[b-z2or60tipz] {
      color: var(--text-500, #64748b);
    }

    .notification-bell-item.is-read .notification-bell-item-title[b-z2or60tipz] {
      font-weight: 700;
    }

.notification-bell-item-top[b-z2or60tipz] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.notification-bell-item-status[b-z2or60tipz] {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
}

.notification-bell-unread-dot[b-z2or60tipz] {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.10);
}

.notification-bell-chip[b-z2or60tipz] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 19px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.notification-category-action[b-z2or60tipz] {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid rgba(244, 63, 94, 0.22);
}

.notification-category-review[b-z2or60tipz] {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.22);
}

.notification-category-deadline[b-z2or60tipz] {
  background: #fefce8;
  color: #a16207;
  border: 1px solid rgba(234, 179, 8, 0.26);
}

.notification-category-assignment[b-z2or60tipz] {
  background: #eef2ff;
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.22);
}

.notification-category-system[b-z2or60tipz],
.notification-category-status[b-z2or60tipz] {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid rgba(100, 116, 139, 0.18);
}

.notification-bell-time[b-z2or60tipz] {
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--text-500, #64748b);
  white-space: nowrap;
}

.notification-bell-item-title[b-z2or60tipz] {
  font-size: 13px;
  font-weight: 800;
  color: var(--text-900, #0f172a);
  line-height: 1.25;
}

.notification-bell-item-message[b-z2or60tipz] {
  font-size: 12px;
  color: var(--text-600, #475569);
  line-height: 1.35;
}

.notification-bell-empty[b-z2or60tipz] {
  padding: 24px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--text-500, #64748b);
}

.notification-bell-footer[b-z2or60tipz] {
  padding: 9px 12px;
  background: #f8fafc;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.notification-bell-view-all[b-z2or60tipz] {
  width: 100%;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: #fff;
  color: var(--link-600, #2563eb);
  border-radius: 9px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
}

  .notification-bell-view-all:hover[b-z2or60tipz] {
    background: rgba(37, 99, 235, 0.04);
  }
/* /Components/Shared/PrivacyPolicyContent.razor.rz.scp.css */
/* Privacy Policy Content */
/* ---------------------------------------------------------
   Controls compact policy document typography, section
   separation, links, and contact information inside the
   shared footer Privacy Policy modal.
   --------------------------------------------------------- */

.privacy-policy-content[b-cvvfrlhytv] {
    color: #475569;
    font-size: 14px;
    line-height: 1.52;
}

.privacy-policy-section[b-cvvfrlhytv] {
    margin: 0;
}

    .privacy-policy-section + .privacy-policy-section[b-cvvfrlhytv] {
        margin-top: 16px;
        padding-top: 15px;
        border-top: 1px solid #edf1f5;
    }

    .privacy-policy-section h3[b-cvvfrlhytv] {
        margin: 0 0 6px;
        color: var(--wam-honest-blue, #1f427a);
        font-size: 16px;
        line-height: 1.3;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .privacy-policy-section p[b-cvvfrlhytv] {
        margin: 0;
    }

        .privacy-policy-section p + p[b-cvvfrlhytv] {
            margin-top: 8px;
        }

    .privacy-policy-section a[b-cvvfrlhytv] {
        color: #2563eb;
        text-decoration: none;
    }

        .privacy-policy-section a:hover[b-cvvfrlhytv] {
            text-decoration: underline;
        }

        .privacy-policy-section a:focus-visible[b-cvvfrlhytv] {
            outline: 2px solid rgba(37, 99, 235, 0.4);
            outline-offset: 2px;
            border-radius: 2px;
        }

/* Contact Information */
/* ---------------------------------------------------------
   Keeps privacy contact information compact and readable
   without adding large vertical gaps inside the policy.
   --------------------------------------------------------- */

.privacy-policy-contact[b-cvvfrlhytv] {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid #e5eaf0;
    border-radius: 8px;
    background: #f8fafc;
}

    .privacy-policy-contact > div[b-cvvfrlhytv] {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    .privacy-policy-contact strong[b-cvvfrlhytv] {
        min-width: 54px;
        color: #334155;
        font-weight: 700;
    }

@media (max-width: 640px) {
    .privacy-policy-content[b-cvvfrlhytv] {
        font-size: 13.5px;
    }

    .privacy-policy-section + .privacy-policy-section[b-cvvfrlhytv] {
        margin-top: 14px;
        padding-top: 13px;
    }

    .privacy-policy-contact > div[b-cvvfrlhytv] {
        flex-direction: column;
        gap: 2px;
    }
}
/* /Components/Shared/Products/ProductsShared.razor.rz.scp.css */
/* ProductsShared.razor.css - Shared Products page styles */
/* ---------------------------------------------------------
   Scope:
   - Products page shell and workspace layout
   - Shared page header and All Products header
   - Action buttons
   - Summary stat cards
   - Products list card and toolbar
   - Table region, sticky header, and pager
   - Row presentation, pills, and action links
   - Upload placeholder and detail modal content
   - Shared modal shell and footer
   - Responsive layout behavior
   --------------------------------------------------------- */

/* Page shell */

.products-page[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    overflow: hidden;
    container-type: inline-size;
    container-name: products-page;
}

.products-workspace[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Section headers */

.products-main-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 12px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.products-main-header-copy[b-cfxv2ts9fs] {
    min-width: 0;
    flex: 1 1 auto;
}

.products-main-header-actions[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.products-header[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.products-title[b-cfxv2ts9fs] {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--text-900);
}

.products-subtitle[b-cfxv2ts9fs] {
    margin-top: 4px;
    color: var(--text-600);
    font-size: 13px;
    line-height: 1.45;
}

/* Page actions */

.products-primary-button[b-cfxv2ts9fs] {
    min-width: 150px;
    min-height: 30px;
    padding: 4px 16px;
    font-size: 14px;
    border-radius: 8px;
    font-weight: 600;
}

.products-secondary-button[b-cfxv2ts9fs] {
    min-width: 132px;
    min-height: 30px;
    border-radius: 8px;
    font-size: 14px;
    padding: 4px 16px;
    font-weight: 600;
}

/* Summary stat cards */
/* ---------------------------------------------------------
   Compact operational summary cards aligned with Dashboard,
   Books, Promotion Cycles, Promotions, and Promotion Pricing.
   --------------------------------------------------------- */

.products-stat-grid[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.products-stat-card[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
    border-radius: 13px;
    box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
}

.products-stat-label[b-cfxv2ts9fs] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600, #475569);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-stat-value[b-cfxv2ts9fs] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.products-stat-meta[b-cfxv2ts9fs] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-accent-success[b-cfxv2ts9fs] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.products-accent-warning[b-cfxv2ts9fs] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

/* Interactive Product Stat Cards */
/* ---------------------------------------------------------
   Adds clickable summary-card behavior and selected states.
   Card dimensions and workspace height remain unchanged.
   --------------------------------------------------------- */

.products-stat-card-button[b-cfxv2ts9fs] {
    appearance: none;
    width: 100%;
    margin: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .products-stat-card-button:hover[b-cfxv2ts9fs] {
        border-color: rgba(29, 58, 109, 0.22);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .products-stat-card-button.is-active[b-cfxv2ts9fs] {
        border-color: rgba(37, 99, 235, 0.36);
        background: linear-gradient(180deg, rgba(37, 99, 235, 0.075), #ffffff);
        box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.05), 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .products-stat-card-button.products-accent-success.is-active[b-cfxv2ts9fs] {
        border-color: rgba(91, 196, 191, 0.5);
        background: linear-gradient(180deg, rgba(91, 196, 191, 0.11), #ffffff);
    }

    .products-stat-card-button.products-accent-warning.is-active[b-cfxv2ts9fs] {
        border-color: rgba(250, 169, 75, 0.46);
        background: linear-gradient(180deg, rgba(250, 169, 75, 0.11), #ffffff);
    }

    .products-stat-card-button:focus-visible[b-cfxv2ts9fs] {
        outline: none;
        box-shadow: var(--focus-ring, 0 0 0 3px rgba(37, 99, 235, 0.18));
    }

/* List card shell */

.products-list-card[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 18px;
    overflow: hidden;
}

.products-side-card-header[b-cfxv2ts9fs] {
    padding: 16px 18px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.products-panel-title[b-cfxv2ts9fs] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.products-panel-subtitle[b-cfxv2ts9fs] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
    line-height: 1.35;
}

.products-list-body[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    min-width: 0;
    margin-bottom: 0;
    padding: 0;
}

/* Toolbar / filters */

.products-toolbar[b-cfxv2ts9fs] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 190px 180px 108px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
}

.products-toolbar--with-distributor-context[b-cfxv2ts9fs] {
    grid-template-columns: minmax(280px, 1fr) 190px 190px 170px 108px;
}

.products-toolbar--with-distributor-setup[b-cfxv2ts9fs] {
    grid-template-columns: minmax(260px, 1fr) 180px 180px 150px 108px;
}

.products-toolbar-left[b-cfxv2ts9fs],
.products-toolbar-right[b-cfxv2ts9fs] {
    display: contents;
}

    .products-toolbar-left .products-control[b-cfxv2ts9fs],
    .products-toolbar-right .products-control[b-cfxv2ts9fs],
    .products-control[b-cfxv2ts9fs] {
        min-width: 0;
    }

.products-control-label[b-cfxv2ts9fs] {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-700, #334155);
}

.products-search-input[b-cfxv2ts9fs],
.products-filter-select[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 38px;
}

.products-filter-select[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-manufacturer-searchable-select[b-cfxv2ts9fs],
.products-distributor-context-searchable-select[b-cfxv2ts9fs] {
    width: 100%;
    min-width: 0;
}

.products-control-page-size .products-filter-select[b-cfxv2ts9fs] {
    min-width: 108px;
}

.products-inline-error[b-cfxv2ts9fs] {
    margin: 12px 18px 0;
}

/* Distributor context information */
.products-control-label--with-info[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

.products-info-tooltip-trigger[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.products-info-icon[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border: 1px solid rgba(37, 99, 235, 0.28);
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.06);
    color: #2563eb;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

/* Table region / sticky pager structure */

.products-table-region[b-cfxv2ts9fs] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.products-table-scroll[b-cfxv2ts9fs] {
    min-height: 0;
    position: relative;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #ffffff;
}

.products-table[b-cfxv2ts9fs] {
    width: 100%;
    margin: 0;
    min-width: 1140px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .products-table thead th[b-cfxv2ts9fs] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .products-table tbody td[b-cfxv2ts9fs] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        color: var(--text-900, #0f172a);
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .products-table tbody tr:hover td[b-cfxv2ts9fs] {
        background: #fbfdff;
    }

    /* Align table content with the filter row and pager inset. */
    .products-table thead th:first-child[b-cfxv2ts9fs],
    .products-table tbody td:first-child[b-cfxv2ts9fs] {
        padding-left: 12px;
    }

    .products-table thead th:last-child[b-cfxv2ts9fs],
    .products-table tbody td:last-child[b-cfxv2ts9fs] {
        padding-right: 12px;
    }

/* Sortable headers / column sizing */

.products-sort-button[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .products-sort-button:hover[b-cfxv2ts9fs],
    .products-sort-button--active[b-cfxv2ts9fs] {
        color: #2563eb;
    }

.products-sort-indicator[b-cfxv2ts9fs] {
    font-size: 0.72rem;
    line-height: 1;
}

/* Column sizing */
/* ---------------------------------------------------------
   Products table waits until 1060px before horizontal scroll.
   Description stays flexible while utility columns stay compact.
   --------------------------------------------------------- */

.products-col-image[b-cfxv2ts9fs] {
    width: 82px;
    min-width: 82px;
}

.products-col-item[b-cfxv2ts9fs] {
    width: 88px;
    min-width: 88px;
}

.products-col-description[b-cfxv2ts9fs] {
    width: auto;
    min-width: 300px;
}

.products-col-upc[b-cfxv2ts9fs] {
    width: 132px;
    min-width: 132px;
}

.products-col-manufacturer[b-cfxv2ts9fs],
.products-col-line[b-cfxv2ts9fs] {
    width: 132px;
    min-width: 132px;
}

.products-col-status[b-cfxv2ts9fs] {
    width: 108px;
    min-width: 108px;
}

.products-col-assets[b-cfxv2ts9fs] {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
}

.products-col-actions[b-cfxv2ts9fs] {
    width: 206px;
    min-width: 206px;
    max-width: 206px;
}

/* Distributor Product Settings Columns */
/* ---------------------------------------------------------
   Adds compact distributor-specific indicators only when a
   role page enables distributor setting columns. The base
   table min-width stays unchanged; Distributor rows reduce
   utility columns because only View and Settings are shown.
   --------------------------------------------------------- */

.products-table--distributor-settings[b-cfxv2ts9fs] {
    min-width: 1140px;
}

    /* Distributor table width compression */
    .products-table--distributor-settings .products-col-image[b-cfxv2ts9fs] {
        width: 72px;
        min-width: 72px;
    }

    .products-table--distributor-settings .products-col-item[b-cfxv2ts9fs] {
        width: 76px;
        min-width: 76px;
    }

    .products-table--distributor-settings .products-col-description[b-cfxv2ts9fs] {
        width: 200px;
        min-width: 200px;
    }

    .products-table--distributor-settings .products-col-upc[b-cfxv2ts9fs] {
        width: 108px;
        min-width: 108px;
    }

    .products-table--distributor-settings .products-col-manufacturer[b-cfxv2ts9fs],
    .products-table--distributor-settings .products-col-line[b-cfxv2ts9fs] {
        width: 120px;
        min-width: 120px;
    }

    .products-table--distributor-settings .products-col-status[b-cfxv2ts9fs] {
        width: 94px;
        min-width: 94px;
    }

    .products-table--distributor-settings .products-col-assets[b-cfxv2ts9fs] {
        width: 82px;
        min-width: 82px;
        max-width: 82px;
    }

    .products-table--distributor-settings .products-col-actions[b-cfxv2ts9fs],
    .products-table--distributor-settings td:last-child[b-cfxv2ts9fs] {
        width: 112px;
        min-width: 112px;
        max-width: 112px;
        padding-left: 0.34rem;
        padding-right: 0.34rem;
    }

    .products-table--distributor-settings .products-row-actions[b-cfxv2ts9fs] {
        min-height: 27px;
        padding: 0 3px;
    }

    .products-table--distributor-settings .products-action-sep[b-cfxv2ts9fs] {
        margin: 0 2px;
    }

    .products-table--distributor-settings .products-link-action[b-cfxv2ts9fs] {
        font-size: 10.8px;
    }

.products-col-dist-item[b-cfxv2ts9fs] {
    width: 92px;
    min-width: 92px;
}

.products-col-pricing-default[b-cfxv2ts9fs] {
    width: 86px;
    min-width: 86px;
}

.products-dist-item-text[b-cfxv2ts9fs] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-distributor-default-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    min-width: 74px;
    max-width: 96px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.products-distributor-default-badge--participates[b-cfxv2ts9fs] {
    border: 1px solid rgba(91, 196, 191, 0.28);
    background: rgba(91, 196, 191, 0.16);
    color: #206a66;
}

.products-distributor-default-badge--opted-out[b-cfxv2ts9fs] {
    border: 1px solid rgba(241, 95, 87, 0.24);
    background: rgba(241, 95, 87, 0.13);
    color: #9d423c;
}

.products-distributor-default-badge--needs-setup[b-cfxv2ts9fs] {
    border: 1px solid rgba(250, 169, 75, 0.26);
    background: rgba(250, 169, 75, 0.14);
    color: #9a5a12;
}

/* Actions column is pinned to the right edge of the table scroll viewport.
   The sticky cell stays neutral; the inner action zone owns emphasis. */
.products-table th.products-col-actions[b-cfxv2ts9fs],
.products-table td:last-child[b-cfxv2ts9fs] {
    position: sticky;
    right: 0;
    z-index: 10;
    padding-left: 0.64rem;
    padding-right: 0.64rem;
    text-align: left;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.products-table thead th.products-col-actions[b-cfxv2ts9fs] {
    z-index: 18;
    background: #ffffff;
    color: #64748b;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.products-table tbody tr:hover td:last-child[b-cfxv2ts9fs] {
    background: #fbfdff;
}

/* Admin Product Catalog Width Balance */
/* ---------------------------------------------------------
   Reduces the Admin product description column when no
   Distributor Context is selected so Status, Assets, and
   Actions keep enough desktop table width.
   --------------------------------------------------------- */

.products-table--admin:not(.products-table--distributor-settings)[b-cfxv2ts9fs] {
    min-width: 1060px;
}

    .products-table--admin:not(.products-table--distributor-settings) .products-col-description[b-cfxv2ts9fs] {
        width: 240px;
        min-width: 240px;
    }

    .products-table--admin:not(.products-table--distributor-settings) .products-col-upc[b-cfxv2ts9fs] {
        width: 126px;
        min-width: 126px;
    }

    .products-table--admin:not(.products-table--distributor-settings) .products-col-manufacturer[b-cfxv2ts9fs] {
        width: 120px;
        min-width: 120px;
    }

    .products-table--admin:not(.products-table--distributor-settings) .products-col-status[b-cfxv2ts9fs] {
        width: 100px;
        min-width: 100px;
    }

    .products-table--admin:not(.products-table--distributor-settings) .products-col-assets[b-cfxv2ts9fs] {
        width: 96px;
        min-width: 96px;
        max-width: 96px;
    }

/* Admin Product Actions Layout */
/* ---------------------------------------------------------
   Splits Admin product actions into two compact rows so the
   sticky Actions column can stay narrow while keeping every
   action visible for desktop product management.
   --------------------------------------------------------- */

.products-table--admin .products-col-actions[b-cfxv2ts9fs],
.products-table--admin td:last-child[b-cfxv2ts9fs] {
    width: 142px;
    min-width: 142px;
    max-width: 142px;
    padding-left: 0.36rem;
    padding-right: 0.36rem;
}

.products-row-actions--admin-stacked[b-cfxv2ts9fs] {
    min-height: 42px;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 2px;
    padding: 4px 5px;
    white-space: normal;
}

.products-row-action-line[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 16px;
    gap: 0;
    white-space: nowrap;
}

.products-row-action-line--secondary[b-cfxv2ts9fs] {
    opacity: 0.98;
}

.products-row-actions--admin-stacked .products-action-sep[b-cfxv2ts9fs] {
    margin: 0 3px;
}

.products-row-actions--admin-stacked .products-link-action[b-cfxv2ts9fs] {
    font-size: 11px;
    line-height: 1.12;
}

/* Row content / pills / links */

.products-cell-strong[b-cfxv2ts9fs] {
    color: var(--text-900, #0f172a);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}


.products-table-tooltip-cell[b-cfxv2ts9fs] {
    position: relative;
    min-width: 0;
    max-width: 100%;
    display: block;
}

.products-description-primary[b-cfxv2ts9fs] {
    color: var(--text-900, #0f172a);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Keep tooltip-wrapped table text constrained inside its own cell.
   Required because CustomTooltip renders the trigger from a child component. */
[b-cfxv2ts9fs] .products-table-tooltip-cell.custom-tooltip-trigger {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-align: left;
}

.products-table td.products-col-description[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
}

.products-table td.products-col-upc[b-cfxv2ts9fs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-manufacturer-text[b-cfxv2ts9fs] {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.products-table td.products-col-item[b-cfxv2ts9fs],
.products-table td.products-col-upc[b-cfxv2ts9fs],
.products-table td.products-col-manufacturer[b-cfxv2ts9fs],
.products-table td.products-col-line[b-cfxv2ts9fs] {
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
}

.products-table td.products-col-item[b-cfxv2ts9fs] {
    font-weight: 600;
}

.products-table td.products-col-assets[b-cfxv2ts9fs] {
    text-align: left;
}

/* Product image display */

.products-image-empty[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 26px;
    padding: 0 5px;
    border-radius: 999px;
    border: 1px solid var(--border-300);
    background: var(--bg-subtle);
    color: var(--text-500);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.products-status-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    min-width: 88px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.products-status-badge--active[b-cfxv2ts9fs] {
    background: rgba(91, 196, 191, 0.18);
    color: #206a66;
}

.products-status-badge--warning[b-cfxv2ts9fs] {
    background: rgba(250, 169, 75, 0.2);
    color: #9a5a12;
}

.products-status-badge--inactive[b-cfxv2ts9fs] {
    background: rgba(241, 95, 87, 0.14);
    color: #9d423c;
}

.products-assets-count-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    min-width: 74px;
    max-width: 82px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.products-assets-count-badge--has-assets[b-cfxv2ts9fs] {
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
}

.products-assets-count-badge--empty[b-cfxv2ts9fs] {
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(148, 163, 184, 0.1);
    color: #64748b;
}

.products-row-actions[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 5px 5px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    flex-wrap: nowrap;
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.products-action-sep[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    color: rgba(100, 116, 139, 0.62);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.products-table tbody tr:hover .products-row-actions[b-cfxv2ts9fs] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.products-link-action[b-cfxv2ts9fs] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

    .products-link-action:hover[b-cfxv2ts9fs] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.products-link-action-danger[b-cfxv2ts9fs] {
    color: #dc2626;
}

.products-row-inactive[b-cfxv2ts9fs] {
    opacity: 0.72;
}

/* Pager */

.products-pager[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
    flex-wrap: wrap;
}

.products-pager-meta[b-cfxv2ts9fs] {
    font-size: 12px;
    color: var(--text-600);
}

.products-pager-actions[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.products-pager-page[b-cfxv2ts9fs] {
    min-width: 88px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-700, #334155);
}

/* Side card body / upload placeholder */

.products-side-card-body[b-cfxv2ts9fs] {
    padding: 16px 18px 18px;
}

.products-upload-placeholder[b-cfxv2ts9fs] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.products-upload-placeholder-title[b-cfxv2ts9fs] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-900);
}

.products-upload-placeholder-text[b-cfxv2ts9fs] {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-600);
}

.products-upload-placeholder-box[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    padding: 18px;
    border: 1px dashed rgba(29, 58, 109, 0.22);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(29, 58, 109, 0.03), rgba(91, 196, 191, 0.03));
    color: var(--text-600);
    text-align: center;
}

/* Empty states / detail display */

.products-empty-state[b-cfxv2ts9fs] {
    padding: 18px 18px 16px;
    border-radius: 0;
    background: transparent;
}

.products-empty-state-title[b-cfxv2ts9fs] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--text-900);
}

.products-empty-state-text[b-cfxv2ts9fs] {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-600);
}

.products-detail-grid[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.products-detail-item--full[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
}

.products-detail-label[b-cfxv2ts9fs] {
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-500);
}

.products-detail-value[b-cfxv2ts9fs] {
    font-size: 14px;
    line-height: 1.45;
    color: var(--text-900);
    word-break: break-word;
}

/* Audit section in product detail modal */

/* Full-width section header to visually separate audit metadata
   from the main product detail fields above it. */
.products-detail-section-title[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-600);
}

/* Slight visual treatment so audit rows feel grouped without
   making them look like a different component. */
.products-detail-item--audit[b-cfxv2ts9fs] {
    padding-top: 2px;
}

    /* Audit values use denser styling for support and traceability metadata. */
    .products-detail-item--audit .products-detail-value[b-cfxv2ts9fs] {
        font-size: 13px;
        line-height: 1.45;
        color: var(--text-800);
    }

/* Compact Product Details modal */
/* ---------------------------------------------------------
   Dense read-only layout for Product Master details.
   Keeps Add/Edit Product modal styling separate.
   --------------------------------------------------------- */

.products-modal-shell--detail .products-modal-body[b-cfxv2ts9fs] {
    padding: 12px 18px 10px;
}

.products-modal-shell--detail .products-modal-footer[b-cfxv2ts9fs] {
    padding: 9px 18px 11px;
}

.products-modal-shell--detail .products-detail-grid[b-cfxv2ts9fs] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px 18px;
    align-items: start;
}

.products-modal-shell--detail .products-detail-item--full[b-cfxv2ts9fs] {
    grid-column: span 2;
}

.products-modal-shell--detail .products-detail-section-title[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
    margin-top: 2px;
    padding-top: 8px;
    font-size: 11.5px;
    line-height: 1.1;
    letter-spacing: 0.045em;
}

.products-modal-shell--detail .products-detail-label[b-cfxv2ts9fs] {
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.1;
    letter-spacing: 0.045em;
}

.products-modal-shell--detail .products-detail-value[b-cfxv2ts9fs] {
    font-size: 13px;
    line-height: 1.25;
}

.products-modal-shell--detail .products-detail-item--audit[b-cfxv2ts9fs] {
    padding-top: 0;
}

    .products-modal-shell--detail .products-detail-item--audit .products-detail-value[b-cfxv2ts9fs] {
        font-size: 12.5px;
        line-height: 1.25;
    }

.products-modal-shell--detail .btn[b-cfxv2ts9fs] {
    min-height: 30px;
    padding: 4px 13px;
    font-size: 13px;
    border-radius: 7px;
}

/* Editor image preview */

.products-editor-image-preview-wrap[b-cfxv2ts9fs] {
    width: 96px;
    height: 96px;
    flex: 0 0 auto;
}

/* Shared modal shell */

.products-modal-backdrop[b-cfxv2ts9fs] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    z-index: 1040;
}

.products-modal-shell[b-cfxv2ts9fs] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
}

.products-modal-card[b-cfxv2ts9fs] {
    width: min(980px, 100%);
    max-height: calc(100vh - 28px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 20px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

[b-cfxv2ts9fs] .products-editor-form {
    min-height: 0;
    display: block;
    overflow: visible;
}

.products-modal-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.products-modal-title[b-cfxv2ts9fs] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--text-900);
}

.products-modal-subtitle[b-cfxv2ts9fs] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-500);
}

.products-modal-body[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 18px 20px;
    overflow-y: auto;
    overflow-x: hidden;
}

.products-modal-footer[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
}


/* Compact Add/Edit Product modal */
/* ---------------------------------------------------------
   Dense Product Master editor layout for desktop use.
   Uses explicit editor modal classes instead of :has(...) so
   the modal height follows content and does not create extra
   blank space above the footer.
   --------------------------------------------------------- */


.products-modal-card--editor .products-modal-header[b-cfxv2ts9fs] {
    padding: 10px 18px 8px;
}











.products-modal-card--editor .row[b-cfxv2ts9fs] {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.32rem;
}





.products-modal-card--editor textarea.form-control[b-cfxv2ts9fs] {
    min-height: 42px;
    max-height: 58px;
    resize: vertical;
}

.products-modal-card--editor .products-editor-section-title[b-cfxv2ts9fs] {
    margin-top: 0;
    padding: 10px 0 5px 0;
    font-size: 10.8px;
    line-height: 1.05;
    letter-spacing: 0.045em;
}

.products-modal-card--editor .mb-3[b-cfxv2ts9fs] {
    margin-bottom: 0 !important;
}

.products-modal-card--editor .border.rounded.p-3[b-cfxv2ts9fs] {
    padding: 5px 8px !important;
}

.products-modal-card--editor .d-flex.flex-column.flex-md-row.gap-3[b-cfxv2ts9fs] {
    gap: 8px !important;
}

.products-modal-card--editor .products-editor-image-preview-wrap[b-cfxv2ts9fs] {
    width: 48px;
    height: 48px;
}

.products-modal-card--editor .products-editor-image-empty[b-cfxv2ts9fs] {
    width: 48px;
    height: 48px;
    padding: 4px;
    border-radius: 8px;
    font-size: 11px;
}

.products-modal-card--editor .InputFile[b-cfxv2ts9fs],
.products-modal-card--editor input[type="file"][b-cfxv2ts9fs] {
    min-height: 30px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 12.5px;
}







.products-modal-shell--detail .products-detail-item--image-assets[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
}

/* Product editor composite fields: Pallet Pattern and Case Dimensions. */
.products-pattern-field[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
}

.products-pattern-field__input[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-pattern-field__input--left[b-cfxv2ts9fs] {
    text-align: right;
}

.products-pattern-field__separator[b-cfxv2ts9fs] {
    color: var(--text-600);
    font-weight: 600;
    line-height: 1;
}

.products-dimensions-field[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
}

.products-dimensions-field__input[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-dimensions-field__input--left[b-cfxv2ts9fs] {
    text-align: right;
}

.products-dimensions-field__input--middle[b-cfxv2ts9fs] {
    text-align: center;
}

.products-dimensions-field__separator[b-cfxv2ts9fs] {
    color: var(--text-600);
    font-weight: 600;
    line-height: 1;
}

/* Product Details Image Assets table */
/* ---------------------------------------------------------
   Read-only asset table aligned with the Book Assets modal.
   --------------------------------------------------------- */

.products-image-assets-empty[b-cfxv2ts9fs] {
    width: 100%;
    padding: 12px 14px;
    border: 1px dashed rgba(100, 116, 139, 0.28);
    border-radius: 12px;
    background: #f8fafc;
    color: var(--text-500, #64748b);
    font-size: 13px;
}

.products-image-assets-table-shell[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 0;
    max-height: 250px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #ffffff;
    padding-top: 0;
}

.products-image-assets-table[b-cfxv2ts9fs] {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

    .products-image-assets-table thead[b-cfxv2ts9fs] {
        position: sticky;
        top: 0;
        z-index: 8;
        background: #f8fafc;
    }

        .products-image-assets-table thead tr[b-cfxv2ts9fs] {
            background: #f8fafc;
        }







    .products-image-assets-table .products-editor-assets-col-upc[b-cfxv2ts9fs] {
        width: 118px;
    }

    .products-image-assets-table .products-editor-assets-col-title[b-cfxv2ts9fs] {
        width: auto;
    }












.products-image-assets-primary-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 2px 9px;
    border: 1px solid rgba(91, 196, 191, 0.22);
    border-radius: 999px;
    background: rgba(91, 196, 191, 0.12);
    color: #206a66;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.products-image-assets-table td.products-editor-assets-col-title[b-cfxv2ts9fs],
.products-image-assets-table td:nth-child(4)[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
    max-width: 0;
}

/* Product Details enterprise view layout */
/* ---------------------------------------------------------
   Product-level details and audit are grouped in one card.
   Image Assets is presented as a separate review table card.
   --------------------------------------------------------- */


.products-detail-card[b-cfxv2ts9fs],
.products-detail-image-assets-card[b-cfxv2ts9fs] {
    min-width: 0;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}


.products-detail-section-title--profile[b-cfxv2ts9fs] {
    margin: 0;
    padding: 0;
    border: 0;
    color: #475569;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}


.products-detail-summary-image[b-cfxv2ts9fs] {
    width: 62px;
    height: 62px;
}

.products-detail-summary-empty[b-cfxv2ts9fs] {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 10px;
    background: #ffffff;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
}

.products-detail-summary-main[b-cfxv2ts9fs] {
    min-width: 0;
}


.products-detail-field-grid--unified[b-cfxv2ts9fs] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.products-detail-field-grid .products-detail-item[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-detail-field-grid .products-detail-label[b-cfxv2ts9fs] {
    margin-bottom: 3px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-detail-field-grid .products-detail-value[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
    color: #17233f;
    font-size: 12.6px;
    font-weight: 500;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-detail-field-grid .products-detail-value--clip[b-cfxv2ts9fs] {
    display: block;
    width: 100%;
}

[b-cfxv2ts9fs] .products-detail-value-tooltip-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


.products-detail-audit-grid div[b-cfxv2ts9fs] {
    min-width: 0;
}






.products-detail-section-title--assets[b-cfxv2ts9fs] {
    margin: 0;
    padding: 0;
    border: 0;
    color: #475569;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}


.products-modal-body--detail .products-detail-item--image-assets[b-cfxv2ts9fs] {
    margin-top: 0;
}


/* Product image asset editor preview */
/* ---------------------------------------------------------
   Compact current image panel used by the Final Book Image
   Asset add/edit modal.
   --------------------------------------------------------- */

.products-image-editor-current-panel[b-cfxv2ts9fs] {
    padding: 14px 16px;
    border: 1px solid rgba(25, 35, 68, 0.12);
    border-radius: 14px;
    background: #f8fafc;
}

.products-image-editor-current-heading[b-cfxv2ts9fs] {
    margin-bottom: 10px;
    color: #17233f;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
}

.products-image-editor-current-layout[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.products-image-editor-current-preview[b-cfxv2ts9fs] {
    width: 150px;
    min-width: 150px;
}

.products-image-editor-current-empty[b-cfxv2ts9fs] {
    width: 150px;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 12px;
    background: #ffffff;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.products-image-editor-current-content[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-image-editor-current-title[b-cfxv2ts9fs] {
    color: #17233f;
    font-size: 13.5px;
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-image-editor-current-meta[b-cfxv2ts9fs] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 5px;
    color: #475569;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.25;
}

.products-image-editor-current-upload[b-cfxv2ts9fs] {
    max-width: 560px;
    margin-top: 14px;
}

.products-image-editor-current-help[b-cfxv2ts9fs] {
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.25;
}

.products-image-editor-current-selected[b-cfxv2ts9fs] {
    margin-top: 4px;
    color: #17233f;
    font-size: 12px;
    line-height: 1.25;
}

/* Product media editor */
/* ---------------------------------------------------------
   Side-by-side media area in the Add/Edit Product modal.
   Primary Product Image supports catalog display. Final Book
   Image Assets supports UPC-specific, seasonal, and promotional
   image options.
   --------------------------------------------------------- */


.products-editor-primary-image-main[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-editor-file-row[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 4px;
}


/* Product editor enterprise layout */
/* ---------------------------------------------------------
   Desktop-first Add/Edit Product modal layout. Compresses
   product master fields into a fixed grid, gives the Primary
   Product Image a dedicated full-width row, and gives Final
   Book Image Assets a table with internal scrolling.
   --------------------------------------------------------- */


.products-modal-header--editor[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    align-items: center;
    padding: 12px 18px 10px;
}

.products-modal-header-copy[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-editor-header-actions[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.products-editor-active-toggle[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--text-700, #334155);
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.products-editor-active-toggle-input[b-cfxv2ts9fs] {
    width: 16px;
    height: 16px;
    margin: 0;
}

.products-editor-header-divider[b-cfxv2ts9fs] {
    width: 1px;
    height: 20px;
    background: rgba(25, 35, 68, 0.14);
}

.products-modal-card--editor .products-modal-title[b-cfxv2ts9fs] {
    font-size: 20px;
    line-height: 1.1;
}

.products-modal-card--editor .products-modal-subtitle[b-cfxv2ts9fs] {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.2;
}

.products-modal-card--editor .products-modal-body[b-cfxv2ts9fs],
.products-modal-body--editor[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    max-height: calc(100vh - 148px);
    padding: 8px 18px 6px;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

.products-modal-card--editor .products-modal-footer[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    padding: 9px 18px 10px;
}

.products-modal-card--editor[b-cfxv2ts9fs]  .products-editor-form {
    display: flex;
    min-height: 0;
    overflow: hidden;
    flex-direction: column;
}


/* Product editor compact field grid */
/* ---------------------------------------------------------
   Uses a 12-column desktop grid so short product master fields
   can share rows. This keeps Product Media and Final Book Image
   Assets visible without forcing unnecessary modal scrolling.
   --------------------------------------------------------- */

.products-editor-grid[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 6px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.products-editor-field[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-editor-field--span-1[b-cfxv2ts9fs] {
    grid-column: span 1;
}

.products-editor-field--span-2[b-cfxv2ts9fs] {
    grid-column: span 2;
}

.products-editor-field--span-3[b-cfxv2ts9fs] {
    grid-column: span 3;
}

.products-editor-field--span-4[b-cfxv2ts9fs] {
    grid-column: span 4;
}

.products-editor-field--span-5[b-cfxv2ts9fs] {
    grid-column: span 5;
}

.products-editor-field--span-6[b-cfxv2ts9fs] {
    grid-column: span 6;
}

.products-editor-field--span-8[b-cfxv2ts9fs] {
    grid-column: span 8;
}

.products-editor-field--span-12[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
}

.products-modal-card--editor .form-label[b-cfxv2ts9fs] {
    margin-bottom: 2px;
    font-size: 11.5px;
    line-height: 1.1;
    font-weight: 700;
    color: #334155;
}

.products-modal-card--editor .form-control[b-cfxv2ts9fs],
.products-modal-card--editor .form-select[b-cfxv2ts9fs] {
    min-height: 29px;
    padding: 3px 9px;
    font-size: 13px;
    line-height: 1.18;
    border-radius: 7px;
}

.products-modal-card--editor input[type="file"][b-cfxv2ts9fs] {
    min-height: 30px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 12.5px;
}

.products-modal-card--editor .validation-message[b-cfxv2ts9fs] {
    margin-top: 2px;
    font-size: 10.5px;
    line-height: 1.1;
}

.products-modal-card--editor .alert[b-cfxv2ts9fs] {
    margin-bottom: 8px;
    padding: 7px 10px;
    font-size: 12.5px;
}

.products-modal-card--editor .small[b-cfxv2ts9fs] {
    font-size: 11px;
    line-height: 1.25;
}

.products-modal-card--editor .btn[b-cfxv2ts9fs] {
    min-height: 30px;
    padding: 4px 13px;
    font-size: 13px;
    border-radius: 7px;
}

/* Product editor primary image panel */
/* ---------------------------------------------------------
   Primary Product Image is kept separate from Final Book
   Image Assets so catalog imagery and Final Book imagery are
   visually distinct.
   --------------------------------------------------------- */

.products-editor-primary-panel[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 9px 11px;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 11px;
    background: #ffffff;
}


.products-editor-media-title[b-cfxv2ts9fs],
.products-editor-assets-title[b-cfxv2ts9fs] {
    color: var(--text-900, #0f172a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
}

.products-editor-media-subtitle[b-cfxv2ts9fs],
.products-editor-assets-subtitle[b-cfxv2ts9fs] {
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 11.5px;
    line-height: 1.25;
}


.products-editor-image-preview-wrap--primary[b-cfxv2ts9fs],
.products-editor-image-empty--primary[b-cfxv2ts9fs] {
    width: 58px;
    height: 58px;
}

.products-editor-image-empty--primary[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 8px;
    background: #ffffff;
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

/* Product editor primary image file row */
/* ---------------------------------------------------------
   Keeps upload control and file metadata in one compact row.
   Guidance and selected filename are stacked to match the
   height of the file picker control.
   --------------------------------------------------------- */

.products-editor-file-row--primary[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: minmax(340px, 520px) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-bottom: 0;
}

.products-editor-file-meta[b-cfxv2ts9fs] {
    min-width: 0;
    height: 30px;
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-content: center;
    gap: 1px;
    overflow: hidden;
}

.products-editor-file-help[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-editor-selected-file[b-cfxv2ts9fs] {
    min-width: 0;
    margin-top: 0;
    overflow: hidden;
    color: var(--text-700, #334155);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Book Assets standalone modal */

.products-editor-assets-table-shell--book-assets[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 260px;
    max-height: min(52vh, 520px);
    overflow-y: auto;
    overflow-x: hidden;
}


.products-modal-card--book-assets[b-cfxv2ts9fs] {
    width: min(1140px, calc(100vw - 72px));
    height: min(760px, calc(100vh - 40px));
    max-height: calc(100vh - 40px);
}

.products-modal-body--book-assets[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: hidden;
}

.products-book-assets-product-summary[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 12px;
    background: #f8fafc;
}

.products-book-assets-product-image[b-cfxv2ts9fs] {
    width: 64px;
    height: 64px;
}

.products-book-assets-product-empty[b-cfxv2ts9fs] {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 10px;
    background: #ffffff;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 700;
    text-align: center;
}

.products-book-assets-product-copy[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-book-assets-product-kicker[b-cfxv2ts9fs] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.products-book-assets-product-title[b-cfxv2ts9fs] {
    margin-top: 3px;
    color: #17233f;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-book-assets-product-meta[b-cfxv2ts9fs] {
    margin-top: 4px;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.products-editor-assets-panel--standalone[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

    .products-editor-assets-panel--standalone .products-editor-assets-table-shell[b-cfxv2ts9fs] {
        flex: 1 1 auto;
        max-height: none;
    }

.products-link-action-book-assets[b-cfxv2ts9fs] {
    color: #047857;
}

    .products-link-action-book-assets:hover[b-cfxv2ts9fs],
    .products-link-action-book-assets:focus-visible[b-cfxv2ts9fs] {
        color: #065f46;
    }

/* Modal stacking order */
.products-modal-backdrop--book-assets[b-cfxv2ts9fs] {
    z-index: 2400;
}

.products-modal-shell--book-assets[b-cfxv2ts9fs] {
    z-index: 2410;
}

.products-modal-backdrop--image-asset-editor[b-cfxv2ts9fs] {
    z-index: 2500;
}

.products-modal-shell--image-asset-editor[b-cfxv2ts9fs] {
    z-index: 2510;
}

.products-modal-backdrop--image-asset-view[b-cfxv2ts9fs] {
    z-index: 2520;
}

.products-modal-shell--image-asset-view[b-cfxv2ts9fs] {
    z-index: 2530;
}

.products-modal-backdrop--image-asset-delete[b-cfxv2ts9fs] {
    z-index: 2580;
    background: rgba(15, 23, 42, 0.5);
}

.products-modal-shell--image-asset-delete[b-cfxv2ts9fs] {
    z-index: 2590;
}

    .products-modal-shell--image-asset-delete .products-modal-card[b-cfxv2ts9fs] {
        width: min(760px, calc(100vw - 72px));
    }

/* Product editor Final Book Image Assets table */
/* ---------------------------------------------------------
   Asset table provides dense management for UPC Case, UPC Box,
   UPC Unit, UPC Pre-Pack, seasonal, promotional, and other
   downstream Final Book image assets.
   --------------------------------------------------------- */

.products-editor-assets-panel[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 9px 11px 10px;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 11px;
    background: #ffffff;
}

.products-editor-assets-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.products-editor-assets-empty[b-cfxv2ts9fs] {
    padding: 9px 10px;
    border: 1px dashed rgba(100, 116, 139, 0.28);
    border-radius: 9px;
    background: #f8fafc;
    color: var(--text-500, #64748b);
    font-size: 12px;
}

.products-editor-assets-table-shell[b-cfxv2ts9fs] {
    min-height: 112px;
    max-height: clamp(156px, 24vh, 292px);
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #ffffff;
    padding-top: 2px;
}

    .products-editor-assets-table-shell[b-cfxv2ts9fs]::-webkit-scrollbar {
        width: 8px;
    }

    .products-editor-assets-table-shell[b-cfxv2ts9fs]::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(100, 116, 139, 0.34);
    }

    .products-editor-assets-table-shell[b-cfxv2ts9fs]::-webkit-scrollbar-track {
        background: transparent;
    }

/* Final Book Image Assets use internal vertical scrolling when content overflows. */


.products-editor-assets-table thead th[b-cfxv2ts9fs] {
    position: sticky;
    top: 0;
    z-index: 3;
    padding: 7px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.1);
    background: #f8fafc;
    color: var(--text-700, #334155);
    font-size: 10.8px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

.products-editor-assets-table tbody td[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 7px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.06);
    color: var(--text-700, #334155);
    vertical-align: middle;
}

.products-editor-assets-table tbody tr:last-child td[b-cfxv2ts9fs] {
    border-bottom: 0;
}

.products-editor-assets-row--inactive[b-cfxv2ts9fs] {
    opacity: 1;
}

    .products-editor-assets-row--inactive .products-editor-assets-thumb-empty[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-editor-assets-type[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-editor-assets-upc[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-editor-assets-title-text[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-editor-assets-description[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-editor-assets-updated[b-cfxv2ts9fs] {
        opacity: 0.74;
    }

    .products-editor-assets-row--inactive .products-editor-assets-tooltip[b-cfxv2ts9fs],
    .products-editor-assets-row--inactive .products-icon-action[b-cfxv2ts9fs]::after {
        opacity: 1;
    }


.products-editor-assets-thumb-empty[b-cfxv2ts9fs] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    border: 1px dashed rgba(25, 35, 68, 0.1);
    border-radius: 8px;
    background: #ffffff;
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 700;
    text-align: center;
}

.products-editor-assets-type[b-cfxv2ts9fs] {
    color: var(--text-800, #1e293b);
    font-weight: 700;
    white-space: nowrap;
}

.products-editor-assets-upc[b-cfxv2ts9fs] {
    display: block;
    max-width: 132px;
    overflow: hidden;
    color: var(--text-700, #334155);
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.products-editor-assets-muted[b-cfxv2ts9fs] {
    color: var(--text-400, #94a3b8);
    font-weight: 700;
}

.products-image-asset-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    min-width: 62px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.products-image-asset-badge--approved[b-cfxv2ts9fs] {
    color: #047857;
    background: rgba(34, 197, 94, 0.13);
    border: 1px solid rgba(34, 197, 94, 0.22);
}

.products-image-asset-badge--draft[b-cfxv2ts9fs] {
    color: #92400e;
    background: rgba(251, 191, 36, 0.18);
    border: 1px solid rgba(251, 191, 36, 0.26);
}

.products-image-asset-badge--revision[b-cfxv2ts9fs] {
    color: #b45309;
    background: rgba(251, 146, 60, 0.16);
    border: 1px solid rgba(251, 146, 60, 0.26);
}

.products-image-asset-badge--inactive[b-cfxv2ts9fs] {
    color: #64748b;
    background: rgba(148, 163, 184, 0.16);
    border: 1px solid rgba(148, 163, 184, 0.26);
}

.products-editor-assets-inactive-label[b-cfxv2ts9fs] {
    margin-top: 3px;
    color: #b91c1c;
    font-size: 10.5px;
    font-weight: 800;
}


/* Product editor image asset actions and custom tooltips */
/* ---------------------------------------------------------
   Compact SVG icon actions and custom hover tooltips for
   truncated Final Book Image Assets table values.
   --------------------------------------------------------- */


.products-icon-action[b-cfxv2ts9fs] {
    position: relative;
    width: 30px;
    height: 30px;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #2563eb;
    cursor: pointer;
    line-height: 1;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
}

.products-modal-card--book-assets .products-icon-action[b-cfxv2ts9fs] {
    width: 28px;
    height: 28px;
}


.products-icon-action:disabled[b-cfxv2ts9fs] {
    cursor: not-allowed;
    opacity: 0.45;
}

.products-icon-action-svg[b-cfxv2ts9fs] {
    width: 15px;
    height: 15px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.products-icon-action--edit[b-cfxv2ts9fs] {
    color: #2563eb;
}

.products-icon-action--primary[b-cfxv2ts9fs] {
    color: #b7791f;
}

.products-icon-action--danger[b-cfxv2ts9fs] {
    color: #dc2626;
}

    .products-icon-action--danger:hover[b-cfxv2ts9fs],
    .products-icon-action--danger:focus-visible[b-cfxv2ts9fs] {
        background: #fef2f2;
        color: #b91c1c;
    }




/* CustomTooltip action triggers */
.products-editor-assets-actions:hover[b-cfxv2ts9fs] {
    position: relative;
    z-index: 9000;
}

.products-icon-action:hover[b-cfxv2ts9fs],
.products-icon-action:focus-visible[b-cfxv2ts9fs] {
    background: #eef4ff;
    color: #1d4ed8;
    outline: none;
    z-index: 9000;
}

.products-editor-assets-col-actions[b-cfxv2ts9fs],
.products-editor-assets-table td:last-child[b-cfxv2ts9fs],
.products-editor-assets-actions[b-cfxv2ts9fs],
.products-icon-action[b-cfxv2ts9fs] {
    overflow: visible;
}

.products-editor-assets-tooltip-wrap[b-cfxv2ts9fs] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    min-width: 0;
}

.products-editor-assets-preferred-badge[b-cfxv2ts9fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 2px 9px;
    border: 1px solid rgba(37, 99, 235, 0.2);
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.products-icon-action--preferred[b-cfxv2ts9fs] {
    color: #b7791f;
}

    .products-icon-action--preferred:hover[b-cfxv2ts9fs],
    .products-icon-action--preferred:focus-visible[b-cfxv2ts9fs] {
        background: #fffbeb;
        color: #92400e;
    }

/* Open Last Updated tooltips leftward near the table edge. */
.products-editor-assets-table td:nth-child(6) .products-editor-assets-tooltip[b-cfxv2ts9fs] {
    left: auto;
    right: 0;
    max-width: 420px;
}

/* Keep the active asset row above surrounding rows while an
   image preview or keyboard-focused control is active. */
.products-editor-assets-table tbody tr:hover[b-cfxv2ts9fs],
.products-editor-assets-table tbody tr:focus-within[b-cfxv2ts9fs] {
    position: relative;
    z-index: 100;
}

    /* Avoid creating equal stacking layers for every cell because
   later cells can otherwise render above the image preview. */
    .products-editor-assets-table tbody tr:hover td[b-cfxv2ts9fs],
    .products-editor-assets-table tbody tr:focus-within td[b-cfxv2ts9fs] {
        position: relative;
        z-index: auto;
        background: #ffffff;
    }

        /* The image cell owns the hover-preview layer for the active row. */
        .products-editor-assets-table tbody tr:hover td.products-editor-assets-col-image[b-cfxv2ts9fs],
        .products-editor-assets-table tbody tr:focus-within td.products-editor-assets-col-image[b-cfxv2ts9fs] {
            z-index: 110;
            overflow: visible;
        }

.products-editor-assets-tooltip-wrap:hover[b-cfxv2ts9fs],
.products-editor-assets-tooltip-wrap:focus-within[b-cfxv2ts9fs] {
    z-index: 9000;
}

/* Final Book Image Assets table refinements */
/* ---------------------------------------------------------
   Balanced desktop table sizing for product image asset rows.
   --------------------------------------------------------- */

.products-editor-assets-table[b-cfxv2ts9fs] {
    width: 100%;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 11.5px;
    table-layout: fixed;
}

    .products-editor-assets-table thead th[b-cfxv2ts9fs],
    .products-editor-assets-table tbody td[b-cfxv2ts9fs] {
        font-size: 12px;
        vertical-align: middle;
    }

.products-editor-assets-col-image[b-cfxv2ts9fs] {
    width: 60px;
}

.products-editor-assets-col-type[b-cfxv2ts9fs] {
    width: 86px;
}

.products-editor-assets-col-upc[b-cfxv2ts9fs] {
    width: 132px;
}

.products-editor-assets-col-title[b-cfxv2ts9fs] {
    width: auto;
}

.products-editor-assets-col-status[b-cfxv2ts9fs] {
    width: 82px;
}

.products-editor-assets-col-preferred[b-cfxv2ts9fs] {
    width: 86px;
}

.products-editor-assets-col-updated[b-cfxv2ts9fs] {
    width: 122px;
}

.products-editor-assets-col-actions[b-cfxv2ts9fs] {
    width: 150px;
}

/* Keep the Actions header and icons aligned. */
.products-editor-assets-table thead th.products-editor-assets-col-actions[b-cfxv2ts9fs] {
    text-align: left;
}


.products-editor-assets-table tbody td.products-editor-assets-col-preferred[b-cfxv2ts9fs] {
    text-align: center;
}

.products-editor-assets-table thead th.products-editor-assets-col-preferred[b-cfxv2ts9fs] {
    text-align: center;
}

.products-editor-assets-table tbody td.products-editor-assets-col-actions[b-cfxv2ts9fs] {
    text-align: center;
    padding-right: 10px;
}

.products-editor-assets-title-text[b-cfxv2ts9fs] {
    max-width: 100%;
    color: var(--text-900, #0f172a);
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    font-size: 12px;
}

.products-editor-assets-description[b-cfxv2ts9fs] {
    max-width: 100%;
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 11.5px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.products-editor-assets-updated[b-cfxv2ts9fs] {
    color: var(--text-600, #475569);
    font-size: 12px;
    line-height: 1.25;
    white-space: nowrap;
    width: 100%;
    min-height: 32px;
    display: flex;
    align-items: center;
    font-weight: 500;
}

.products-editor-assets-actions[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    white-space: nowrap;
}


.products-icon-action--view[b-cfxv2ts9fs],
.products-icon-action--edit[b-cfxv2ts9fs] {
    color: #2563eb;
}

.products-icon-action--deactivate[b-cfxv2ts9fs],
.products-icon-action--delete[b-cfxv2ts9fs] {
    color: #dc2626;
}

    .products-icon-action--deactivate:hover[b-cfxv2ts9fs],
    .products-icon-action--deactivate:focus-visible[b-cfxv2ts9fs],
    .products-icon-action--delete:hover[b-cfxv2ts9fs],
    .products-icon-action--delete:focus-visible[b-cfxv2ts9fs] {
        background: #fef2f2;
        color: #b91c1c;
    }

.products-icon-action--activate[b-cfxv2ts9fs] {
    color: #047857;
}

    .products-icon-action--activate:hover[b-cfxv2ts9fs],
    .products-icon-action--activate:focus-visible[b-cfxv2ts9fs] {
        background: #ecfdf5;
        color: #065f46;
    }

.products-editor-assets-table td.products-editor-assets-col-title[b-cfxv2ts9fs],
.products-editor-assets-table td:nth-child(4)[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
    max-width: 0;
}

[b-cfxv2ts9fs] .products-editor-assets-tooltip-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

    [b-cfxv2ts9fs] .products-editor-assets-tooltip-wrap .products-editor-assets-title-text,
    [b-cfxv2ts9fs] .products-editor-assets-tooltip-wrap .products-editor-assets-description {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

.products-editor-assets-actions[b-cfxv2ts9fs]  .custom-tooltip-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Book Assets modal column balance. */
.products-modal-card--book-assets .products-editor-assets-table[b-cfxv2ts9fs] {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.products-modal-card--book-assets .products-editor-assets-col-image[b-cfxv2ts9fs] {
    width: 58px;
}

.products-modal-card--book-assets .products-editor-assets-col-type[b-cfxv2ts9fs] {
    width: 84px;
}

.products-modal-card--book-assets .products-editor-assets-col-upc[b-cfxv2ts9fs] {
    width: 130px;
}

.products-modal-card--book-assets .products-editor-assets-col-title[b-cfxv2ts9fs] {
    width: auto;
}

.products-modal-card--book-assets .products-editor-assets-col-status[b-cfxv2ts9fs] {
    width: 82px;
}

.products-modal-card--book-assets .products-editor-assets-col-preferred[b-cfxv2ts9fs] {
    width: 84px;
}

.products-modal-card--book-assets .products-editor-assets-col-updated[b-cfxv2ts9fs] {
    width: 122px;
}

.products-modal-card--book-assets .products-editor-assets-col-actions[b-cfxv2ts9fs] {
    width: 150px;
}

/* Product image asset read-only view modal */

.products-image-asset-view-card[b-cfxv2ts9fs] {
    width: min(860px, calc(100vw - 72px));
}

.products-image-asset-view-layout[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.products-image-asset-view-preview[b-cfxv2ts9fs] {
    min-width: 0;
}

.products-image-asset-view-preview-empty[b-cfxv2ts9fs] {
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.1);
    border-radius: 14px;
    background: #f8fafc;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

.products-image-asset-view-fields[b-cfxv2ts9fs] {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.products-image-asset-view-field[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
    background: #ffffff;
}

.products-image-asset-view-field--wide[b-cfxv2ts9fs] {
    grid-column: 1 / -1;
}

.products-image-asset-view-label[b-cfxv2ts9fs] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.products-image-asset-view-value[b-cfxv2ts9fs] {
    margin-top: 4px;
    color: #17233f;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

/* Final Book Image Assets truncation. */
.products-editor-assets-table td:nth-child(3)[b-cfxv2ts9fs],
.products-editor-assets-table td:nth-child(5)[b-cfxv2ts9fs] {
    min-width: 0;
}

    .products-editor-assets-table td:nth-child(3) .products-editor-assets-tooltip-wrap[b-cfxv2ts9fs],
    .products-editor-assets-table td:nth-child(5) .products-editor-assets-tooltip-wrap[b-cfxv2ts9fs] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        display: block;
    }

.products-editor-assets-title-text[b-cfxv2ts9fs],
.products-editor-assets-upc[b-cfxv2ts9fs] {
    min-height: 32px;
    display: block;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 32px;
    overflow: hidden;
    line-height: 32px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Match Product editor multipart controls to standard editor inputs. */
.products-modal-card--editor .products-pattern-field[b-cfxv2ts9fs],
.products-modal-card--editor .products-dimensions-field[b-cfxv2ts9fs] {
    min-height: 37px;
    height: 37px;
    align-items: stretch;
}

.products-modal-card--editor input.form-control.products-pattern-field__input[b-cfxv2ts9fs],
.products-modal-card--editor input.form-control.products-dimensions-field__input[b-cfxv2ts9fs] {
    min-height: 37px;
    height: 37px;
    padding: 7px 11px;
    font-size: 15px;
    line-height: 1.25;
    border-radius: 7px;
    box-sizing: border-box;
}

.products-modal-card--editor .products-pattern-field__separator[b-cfxv2ts9fs],
.products-modal-card--editor .products-dimensions-field__separator[b-cfxv2ts9fs] {
    min-height: 37px;
    height: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-600);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}

/* Measurement Input Groups */
/* ---------------------------------------------------------
   Joins Product measurement values and unit selectors.
   Closed selectors show compact abbreviations while native
   option lists retain complete measurement descriptions.
   --------------------------------------------------------- */


.products-measurement-input-group > .form-control[b-cfxv2ts9fs] {
    min-width: 0;
    min-height: 28px;
    height: 28px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.products-measurement-unit-control[b-cfxv2ts9fs] {
    position: relative;
    flex: 0 0 84px;
    width: 84px;
    min-width: 84px;
    height: 28px;
    margin-left: -1px;
}

.products-measurement-unit-control--shipment[b-cfxv2ts9fs] {
    flex-basis: 90px;
    width: 90px;
    min-width: 90px;
}

.products-measurement-unit-control .products-measurement-unit-select[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 28px;
    height: 28px;
    padding: 2px 1.75rem 2px 0.55rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    font-size: 13px;
    font-weight: 600;
}

.products-measurement-unit-display[b-cfxv2ts9fs] {
    position: absolute;
    top: 1px;
    right: 28px;
    bottom: 1px;
    left: 1px;
    z-index: 2;
    display: flex;
    align-items: center;
    padding-left: 0.55rem;
    overflow: hidden;
    background: #ffffff;
    color: #1e293b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    white-space: nowrap;
    pointer-events: none;
}

.products-measurement-unit-select:disabled + .products-measurement-unit-display[b-cfxv2ts9fs] {
    background: #e9ecef;
    color: #6c757d;
}

.products-measurement-input-group > .form-control:focus[b-cfxv2ts9fs] {
    position: relative;
    z-index: 3;
}

.products-measurement-unit-control:focus-within[b-cfxv2ts9fs] {
    z-index: 3;
}

/* Product Measurement Validation */
/* ---------------------------------------------------------
   Reserves a stable validation area beneath measurement
   controls and prevents messages from overlapping later rows.
   --------------------------------------------------------- */

.products-editor-field--measurement[b-cfxv2ts9fs] {
    min-width: 0;
    align-self: start;
}

.products-measurement-validation[b-cfxv2ts9fs] {
    min-height: 0;
    margin-top: 2px;
}

    .products-measurement-validation[b-cfxv2ts9fs]  .validation-message {
        display: block;
        margin: 0;
        color: #dc2626;
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1.25;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

/* Product Editor Enterprise Sections */
/* ---------------------------------------------------------
   Adds structured Product Basics, Units & Quantities,
   Logistics & Packaging, and image-management sections.
   The modal retains its internal scrolling behavior.
   --------------------------------------------------------- */

.products-editor-layout[b-cfxv2ts9fs] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.products-editor-section[b-cfxv2ts9fs],
.products-editor-primary-panel[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 7px 10px 8px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.products-editor-section-header[b-cfxv2ts9fs],
.products-editor-section-heading[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    gap: 7px;
    /*margin-bottom: 5px;*/
}

.products-editor-section-icon[b-cfxv2ts9fs],
.products-detail-data-section-icon[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(37, 99, 235, 0.2);
    border-radius: 6px;
    background: rgba(37, 99, 235, 0.06);
    color: #1d4ed8;
}

    .products-editor-section-icon svg[b-cfxv2ts9fs],
    .products-detail-data-section-icon svg[b-cfxv2ts9fs] {
        width: 12px;
        height: 12px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.products-editor-section-title[b-cfxv2ts9fs] {
    margin: 0;
    padding: 0;
    border-top: 0;
    color: #10244d;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.products-editor-section-subtitle[b-cfxv2ts9fs] {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 10.8px;
    line-height: 1.25;
}

.products-editor-section .products-editor-grid[b-cfxv2ts9fs] {
    column-gap: 9px;
    row-gap: 4px;
    padding-bottom: 0;
    border-bottom: 0;
}

.products-editor-section .form-label[b-cfxv2ts9fs] {
    margin-bottom: 2px;
    color: #334155;
    font-size: 10.8px;
    font-weight: 700;
    line-height: 1.05;
}


.products-editor-primary-panel-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    /*margin-bottom: 5px;*/
}

.products-editor-primary-image-layout[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: minmax(180px, 0.65fr) minmax(320px, 1.35fr) minmax(210px, 0.8fr);
    gap: 10px;
    align-items: center;
}

.products-editor-primary-image-summary[b-cfxv2ts9fs] {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.products-editor-primary-image-copy[b-cfxv2ts9fs] {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}

    .products-editor-primary-image-copy strong[b-cfxv2ts9fs] {
        display: block;
        max-width: 100%;
        overflow: hidden;
        color: #1e293b;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .products-editor-primary-image-copy span[b-cfxv2ts9fs] {
        display: block;
        max-width: 100%;
        overflow: hidden;
        color: #64748b;
        font-size: 10.8px;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: normal;
    }

.products-editor-upload-zone[b-cfxv2ts9fs] {
    position: relative;
    min-height: 50px;
    overflow: hidden;
    border: 1px dashed rgba(37, 99, 235, 0.34);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.8);
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease;
}

    .products-editor-upload-zone:hover[b-cfxv2ts9fs],
    .products-editor-upload-zone:focus-within[b-cfxv2ts9fs] {
        border-color: rgba(37, 99, 235, 0.62);
        background: rgba(239, 246, 255, 0.78);
    }

    .products-editor-upload-zone[b-cfxv2ts9fs]  .products-editor-upload-input {
        position: absolute;
        inset: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        opacity: 0;
        cursor: pointer;
    }

.products-editor-upload-content[b-cfxv2ts9fs] {
    min-height: 50px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    row-gap: 1px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    text-align: left;
    pointer-events: none;
}

.products-editor-upload-icon[b-cfxv2ts9fs] {
    grid-row: 1 / span 2;
    width: 20px;
    height: 20px;
    margin: 0;
    fill: none;
    stroke: #2563eb;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.products-editor-upload-content strong[b-cfxv2ts9fs] {
    color: #1e3a6d;
    font-size: 11.5px;
    font-weight: 800;
}

.products-editor-upload-content span[b-cfxv2ts9fs] {
    color: #64748b;
    font-size: 9.8px;
}

.products-editor-current-image[b-cfxv2ts9fs] {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    overflow: hidden;
}

.products-editor-current-image-label[b-cfxv2ts9fs] {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.products-editor-current-image-name[b-cfxv2ts9fs],
.products-editor-current-image-file[b-cfxv2ts9fs] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-editor-current-image-name[b-cfxv2ts9fs] {
    color: #1e293b;
    font-size: 11px;
    font-weight: 800;
}

.products-editor-current-image-file[b-cfxv2ts9fs] {
    color: #475569;
    font-size: 10.5px;
}

.products-editor-remove-image[b-cfxv2ts9fs] {
    margin-top: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #dc2626;
    font-size: 10.8px;
    font-weight: 700;
}

.products-modal-footer--editor[b-cfxv2ts9fs] {
    gap: 8px;
}

    .products-modal-footer--editor .btn[b-cfxv2ts9fs] {
        min-width: 110px;
        min-height: 32px;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 700;
    }


/* Product Profile Enterprise Sections */
/* ---------------------------------------------------------
   Groups read-only Product data using the same hierarchy as
   Product Add/Edit while preserving the audit and asset areas.
   --------------------------------------------------------- */


.products-detail-field-grid--basics[b-cfxv2ts9fs] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.products-detail-field-grid--quantities[b-cfxv2ts9fs] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.products-detail-field-grid--logistics[b-cfxv2ts9fs] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


.products-detail-item--wide[b-cfxv2ts9fs] {
    grid-column: span 2;
}

/* Product Composite Control Alignment */
/* ---------------------------------------------------------
   Keeps currency, measurement, pallet-pattern, and dimension
   controls aligned with the standard Product editor fields.
   Blazor input components require deep selectors because the
   rendered controls cross the CSS-isolation boundary.
   --------------------------------------------------------- */

.products-modal-card--editor[b-cfxv2ts9fs] {
    width: min(1180px, calc(100vw - 64px));
    max-height: calc(100vh - 32px);
    display: flex;
    overflow: hidden;
    flex-direction: column;
    --products-editor-control-height: 37px;
}

/* Standard native controls inside Product editor sections. */
.products-editor-section .form-control[b-cfxv2ts9fs],
.products-editor-section .form-select[b-cfxv2ts9fs],
.products-editor-section .input-group-text[b-cfxv2ts9fs] {
    min-height: var(--products-editor-control-height);
    height: var(--products-editor-control-height);
    box-sizing: border-box;
}

/* Blazor-rendered controls inside Product editor sections. */
.products-editor-section[b-cfxv2ts9fs]  .form-control,
.products-editor-section[b-cfxv2ts9fs]  .form-select {
    min-height: var(--products-editor-control-height);
    height: var(--products-editor-control-height);
    box-sizing: border-box;
}

/* Item Retail currency group. */
.products-editor-section .input-group[b-cfxv2ts9fs] {
    min-height: var(--products-editor-control-height);
    height: var(--products-editor-control-height);
    align-items: stretch;
}

    .products-editor-section .input-group > .input-group-text[b-cfxv2ts9fs] {
        min-height: var(--products-editor-control-height);
        height: var(--products-editor-control-height);
        display: inline-flex;
        align-items: center;
        padding-top: 0;
        padding-bottom: 0;
    }

    .products-editor-section .input-group[b-cfxv2ts9fs]  .form-control {
        min-height: var(--products-editor-control-height);
        height: var(--products-editor-control-height);
        padding-top: 6px;
        padding-bottom: 6px;
    }

/* Size and Minimum Shipment measurement groups. */
.products-measurement-input-group[b-cfxv2ts9fs] {
    width: 100%;
    min-width: 0;
    min-height: var(--products-editor-control-height);
    height: var(--products-editor-control-height);
    align-items: stretch;
}

    .products-measurement-input-group > .form-control[b-cfxv2ts9fs],
    .products-measurement-input-group[b-cfxv2ts9fs]  .form-control {
        min-height: var(--products-editor-control-height);
        height: var(--products-editor-control-height);
    }

.products-measurement-unit-control[b-cfxv2ts9fs],
.products-measurement-unit-control--shipment[b-cfxv2ts9fs] {
    height: var(--products-editor-control-height);
}

    .products-measurement-unit-control[b-cfxv2ts9fs]  .products-measurement-unit-select {
        min-height: var(--products-editor-control-height);
        height: var(--products-editor-control-height);
    }

/* Pallet Pattern and Case Dimensions composite controls. */
.products-modal-card--editor .products-pattern-field[b-cfxv2ts9fs],
.products-modal-card--editor .products-dimensions-field[b-cfxv2ts9fs],
.products-modal-card--editor input.form-control.products-pattern-field__input[b-cfxv2ts9fs],
.products-modal-card--editor input.form-control.products-dimensions-field__input[b-cfxv2ts9fs],
.products-modal-card--editor .products-pattern-field__separator[b-cfxv2ts9fs],
.products-modal-card--editor .products-dimensions-field__separator[b-cfxv2ts9fs] {
    min-height: var(--products-editor-control-height);
    height: var(--products-editor-control-height);
}

/* Compact Product Profile Layout */
/* ---------------------------------------------------------
   Reduces Product Profile vertical space while preserving
   section hierarchy, audit metadata, and asset-table scrolling.
   --------------------------------------------------------- */

.products-modal-shell--detail[b-cfxv2ts9fs] {
    padding: 10px 20px;
}

    .products-modal-shell--detail .products-modal-card[b-cfxv2ts9fs] {
        width: min(1180px, calc(100vw - 48px));
        max-height: calc(100vh - 20px);
    }

    .products-modal-shell--detail .products-modal-header[b-cfxv2ts9fs] {
        padding: 9px 16px 7px;
    }

    .products-modal-shell--detail .products-modal-title[b-cfxv2ts9fs] {
        font-size: 19px;
        line-height: 1.05;
    }

    .products-modal-shell--detail .products-modal-subtitle[b-cfxv2ts9fs] {
        margin-top: 2px;
        font-size: 11.5px;
        line-height: 1.15;
    }

.products-modal-body--detail[b-cfxv2ts9fs] {
    padding: 8px 14px 9px;
}

.products-detail-layout[b-cfxv2ts9fs] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.products-detail-card[b-cfxv2ts9fs] {
    padding: 7px 9px 8px;
    border-radius: 11px;
}

.products-detail-card-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 5px;
}

.products-detail-card-subtitle[b-cfxv2ts9fs] {
    margin-top: 2px;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 10.8px;
    font-weight: 500;
    line-height: 1.15;
}

/* Compact Product summary. */
.products-detail-summary-card[b-cfxv2ts9fs] {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding-bottom: 7px;
    display: grid;
    padding: 0 0 7px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.products-detail-summary-image[b-cfxv2ts9fs],
.products-detail-summary-empty[b-cfxv2ts9fs] {
    width: 54px;
    height: 54px;
    max-width: 54px;
    max-height: 54px;
    overflow: hidden;
    align-self: center;
}

.products-detail-summary-title-row[b-cfxv2ts9fs] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
}

.products-detail-summary-title[b-cfxv2ts9fs] {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #17233f;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-detail-summary-title-row .products-status-badge[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    min-width: 66px;
    min-height: 18px;
    font-size: 10.5px;
}

/* Compact grouped detail sections. */
.products-detail-section-stack[b-cfxv2ts9fs] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 7px;
}

.products-detail-data-section[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 6px 8px 7px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: #ffffff;
}

.products-detail-data-section-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    color: #10244d;
    font-size: 11px;
    font-weight: 800;
}

.products-detail-data-section-icon[b-cfxv2ts9fs] {
    width: 18px;
    height: 18px;
    border-radius: 5px;
}

    .products-detail-data-section-icon svg[b-cfxv2ts9fs] {
        width: 11px;
        height: 11px;
    }

.products-detail-field-grid[b-cfxv2ts9fs] {
    display: grid;
    gap: 6px 18px;
    margin-top: 6px;
}

.products-detail-data-section .products-detail-item[b-cfxv2ts9fs] {
    min-width: 0;
    padding: 0;
}

.products-detail-data-section .products-detail-label[b-cfxv2ts9fs] {
    margin-bottom: 1px;
    color: #64748b;
    font-size: 9.3px;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    line-height: 1.05;
}

.products-detail-data-section .products-detail-value[b-cfxv2ts9fs] {
    min-width: 0;
    overflow: hidden;
    color: #1e293b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Compact audit strip. */
.products-detail-audit-strip[b-cfxv2ts9fs] {
    margin-top: 7px;
    padding: 6px 8px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.products-detail-audit-grid[b-cfxv2ts9fs] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

    .products-detail-audit-grid span[b-cfxv2ts9fs] {
        display: block;
        margin-bottom: 1px;
        color: #64748b;
        font-size: 9.4px;
        font-weight: 700;
        line-height: 1.05;
        text-transform: uppercase;
        letter-spacing: 0.035em;
    }

    .products-detail-audit-grid strong[b-cfxv2ts9fs] {
        display: block;
        min-width: 0;
        overflow: hidden;
        color: #334155;
        font-size: 10.7px;
        font-weight: 500;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* Compact Image Assets card. */
.products-detail-image-assets-card[b-cfxv2ts9fs] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 7px 9px 8px;
    border-radius: 11px;
}

.products-detail-image-assets-header[b-cfxv2ts9fs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 5px;
}

.products-detail-image-assets-subtitle[b-cfxv2ts9fs] {
    margin-top: 2px;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 10.8px;
    font-weight: 500;
    line-height: 1.15;
}

.products-detail-image-assets-count[b-cfxv2ts9fs] {
    flex: 0 0 auto;
    color: #334155;
    font-size: 10.8px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

/* Reduce asset-table footprint while keeping internal scrolling. */
.products-modal-body--detail .products-image-assets-table-shell[b-cfxv2ts9fs] {
    max-height: clamp(190px, 27vh, 300px);
    min-height: 0;
}

.products-image-assets-table thead th[b-cfxv2ts9fs] {
    z-index: 9;
    background: #f8fafc;
    box-shadow: 0 1px 0 rgba(25, 35, 68, 0.1);
    padding: 5px 7px;
    font-size: 10px;
    line-height: 1.1;
}

.products-image-assets-table tbody td[b-cfxv2ts9fs] {
    padding: 5px 7px;
    font-size: 11px;
    line-height: 1.15;
}

.products-image-assets-table .products-editor-assets-col-image[b-cfxv2ts9fs] {
    width: 60px;
}

.products-image-assets-table .products-editor-assets-col-type[b-cfxv2ts9fs] {
    width: 92px;
}

.products-image-assets-table .products-editor-assets-col-status[b-cfxv2ts9fs] {
    width: 72px;
}

.products-image-assets-table .products-editor-assets-col-preferred[b-cfxv2ts9fs] {
    width: 76px;
}

.products-image-assets-table .products-editor-assets-col-updated[b-cfxv2ts9fs] {
    width: 132px;
}

.products-image-assets-table .products-editor-assets-col-actions[b-cfxv2ts9fs] {
    width: 76px;
}

.products-image-assets-table th.products-editor-assets-col-updated[b-cfxv2ts9fs],
.products-image-assets-table td.products-editor-assets-col-updated[b-cfxv2ts9fs] {
    padding-right: 12px;
}

.products-image-assets-table th.products-editor-assets-col-actions[b-cfxv2ts9fs],
.products-image-assets-table td.products-editor-assets-col-actions[b-cfxv2ts9fs] {
    padding-left: 10px;
    text-align: center;
}


.products-image-assets-table .products-icon-action[b-cfxv2ts9fs] {
    width: 24px;
    height: 24px;
}

.products-image-assets-actions[b-cfxv2ts9fs] {
    min-height: 24px;
    justify-content: center;
    gap: 0;
    width: 100%;
    display: flex;
    align-items: center;
}

.products-image-assets-table tbody td.products-editor-assets-col-actions[b-cfxv2ts9fs] {
    text-align: center;
    vertical-align: middle;
}

.products-image-assets-table .products-editor-assets-updated[b-cfxv2ts9fs] {
    width: 100%;
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Responsive behavior */

@container products-page (max-width: 1050px) {
    .products-editor-primary-image-layout[b-cfxv2ts9fs] {
        grid-template-columns: minmax(230px, 0.9fr) minmax(280px, 1.1fr) minmax(260px, 1fr);
    }

    .products-detail-field-grid--basics[b-cfxv2ts9fs],
    .products-detail-field-grid--logistics[b-cfxv2ts9fs] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .products-detail-field-grid--quantities[b-cfxv2ts9fs] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@container products-page (max-width: 820px) {
    .products-detail-field-grid--basics[b-cfxv2ts9fs],
    .products-detail-field-grid--quantities[b-cfxv2ts9fs],
    .products-detail-field-grid--logistics[b-cfxv2ts9fs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1600px) {
    .products-table[b-cfxv2ts9fs] {
        min-width: 1120px;
    }

    .products-col-description[b-cfxv2ts9fs] {
        min-width: 300px;
    }

    .products-col-manufacturer[b-cfxv2ts9fs],
    .products-col-line[b-cfxv2ts9fs] {
        width: 190px;
        min-width: 170px;
    }
}

@container products-page (max-width: 980px) {
    .products-stat-grid[b-cfxv2ts9fs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .products-toolbar[b-cfxv2ts9fs] {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .products-control-page-size .products-filter-select[b-cfxv2ts9fs] {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .products-title[b-cfxv2ts9fs] {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.2;
    }

    .products-primary-button[b-cfxv2ts9fs],
    .products-secondary-button[b-cfxv2ts9fs] {
        width: 100%;
    }

    .products-main-header[b-cfxv2ts9fs],
    .products-side-card-header[b-cfxv2ts9fs],
    .products-toolbar[b-cfxv2ts9fs],
    .products-side-card-body[b-cfxv2ts9fs],
    .products-pager[b-cfxv2ts9fs] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .products-table-region[b-cfxv2ts9fs] {
        margin-left: 10px;
        margin-right: 10px;
    }

    .products-detail-grid[b-cfxv2ts9fs] {
        grid-template-columns: 1fr;
    }

    .products-modal-shell[b-cfxv2ts9fs] {
        padding: 12px;
    }

    .products-modal-card[b-cfxv2ts9fs] {
        width: 100%;
        max-height: calc(100vh - 24px);
        border-radius: 16px;
    }

    .products-modal-header[b-cfxv2ts9fs],
    .products-modal-body[b-cfxv2ts9fs],
    .products-modal-footer[b-cfxv2ts9fs] {
        padding-left: 16px;
        padding-right: 16px;
    }

    .products-modal-footer[b-cfxv2ts9fs] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

        .products-modal-footer .btn[b-cfxv2ts9fs] {
            width: 100%;
        }

    .products-main-header[b-cfxv2ts9fs] {
        flex-direction: column;
        align-items: stretch;
    }

    .products-main-header-actions[b-cfxv2ts9fs] {
        width: 100%;
        justify-content: stretch;
        flex-direction: column;
    }

        .products-main-header-actions .products-primary-button[b-cfxv2ts9fs],
        .products-main-header-actions .products-secondary-button[b-cfxv2ts9fs] {
            width: 100%;
        }

    .products-editor-file-row[b-cfxv2ts9fs] {
        grid-template-columns: 1fr;
    }
}

@container products-page (max-width: 640px) {
    .products-stat-grid[b-cfxv2ts9fs],
    .products-toolbar[b-cfxv2ts9fs] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .products-header[b-cfxv2ts9fs] {
        align-items: stretch;
    }

    .products-primary-button[b-cfxv2ts9fs],
    .products-secondary-button[b-cfxv2ts9fs] {
        width: 100%;
    }

    .products-pager[b-cfxv2ts9fs] {
        padding-left: 12px;
        padding-right: 12px;
    }
}
/* /Components/Shared/PromotionCycles/CycleMetric.razor.rz.scp.css */
.cycle-summary-metric[b-eob53a6rdd] {
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 9px;
    background: #f8fafc;
}

.cycle-summary-metric--success[b-eob53a6rdd] {
    background: rgba(16, 185, 129, 0.06);
}

.cycle-summary-metric--warning[b-eob53a6rdd] {
    background: rgba(245, 158, 11, 0.07);
}

.cycle-summary-metric--danger[b-eob53a6rdd] {
    background: rgba(220, 38, 38, 0.06);
}

.cycle-summary-metric--info[b-eob53a6rdd] {
    background: rgba(59, 130, 246, 0.06);
}

.cycle-summary-metric-value[b-eob53a6rdd] {
    color: var(--text-900, #0f172a);
    font-size: 17px;
    line-height: 1;
    font-weight: 800;
}

.cycle-summary-metric-label[b-eob53a6rdd] {
    margin-top: 4px;
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Shared/PromotionCycles/CycleSummaryDate.razor.rz.scp.css */
.cycle-summary-date[b-e3z33odi0e] {
    min-width: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.cycle-summary-date-label[b-e3z33odi0e] {
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    font-weight: 700;
}

.cycle-summary-date-value[b-e3z33odi0e] {
    margin-top: 2px;
    color: var(--text-900, #0f172a);
    font-size: 12px;
    font-weight: 700;
}
/* /Components/Shared/PromotionCycles/PromotionAnnualWorkflowMatrix.razor.rz.scp.css */
/* Annual Workflow Matrix */
/* ---------------------------------------------------------
   Controls the seven existing Promotion Cycle workflow dates
   across the 12 monthly book periods. The matrix owns both
   vertical and horizontal scrolling.
   --------------------------------------------------------- */

.promotion-annual-workflow[b-wxcen779gs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-200);
    border-radius: 15px;
    background: #fff;
    overflow: hidden;
}

.promotion-annual-workflow-state[b-wxcen779gs] {
    padding: 18px;
    color: var(--text-600);
}

.promotion-annual-workflow-header[b-wxcen779gs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 14px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.14);
}

.promotion-annual-workflow-title[b-wxcen779gs] {
    margin: 0;
    color: var(--text-900);
    font-size: 16px;
    font-weight: 800;
}

.promotion-annual-workflow-subtitle[b-wxcen779gs] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-annual-workflow-actions[b-wxcen779gs] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.promotion-annual-workflow-unsaved[b-wxcen779gs] {
    margin-right: 3px;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
}

.promotion-annual-workflow-readonly[b-wxcen779gs] {
    flex: 0 0 auto;
    padding: 8px 14px;
    color: #475569;
    font-size: 12px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    background: #f8fafc;
}

/* Published Schedule Amendment */
/* ---------------------------------------------------------
   Identifies the controlled local-editing state used for a
   Published Annual Schedule amendment.
   --------------------------------------------------------- */

.promotion-annual-workflow-amendment[b-wxcen779gs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    color: #1e3a8a;
    font-size: 12px;
    font-weight: 650;
    border-bottom: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(239, 246, 255, 0.82);
}

.promotion-annual-workflow-validation[b-wxcen779gs] {
    flex: 0 0 auto;
    max-height: 118px;
    padding: 9px 14px;
    overflow-y: auto;
    color: #991b1b;
    font-size: 12px;
    border-bottom: 1px solid rgba(220, 38, 38, 0.18);
    background: rgba(254, 242, 242, 0.72);
}

.promotion-annual-workflow-validation-title[b-wxcen779gs] {
    margin-bottom: 4px;
    font-weight: 800;
}

.promotion-annual-workflow-validation-item[b-wxcen779gs] {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-top: 2px;
}

.promotion-annual-workflow-matrix-region[b-wxcen779gs] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.promotion-annual-workflow-matrix[b-wxcen779gs] {
    width: max-content;
    min-width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

    .promotion-annual-workflow-matrix th[b-wxcen779gs],
    .promotion-annual-workflow-matrix td[b-wxcen779gs] {
        border-right: 1px solid rgba(100, 116, 139, 0.12);
        border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    }

.promotion-annual-workflow-milestone-header[b-wxcen779gs] {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 5;
    width: 232px;
    min-width: 232px;
    padding: 10px 12px;
    color: var(--text-700);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-align: left;
    text-transform: uppercase;
    background: #f8fafc;
}

.promotion-annual-workflow-cycle-header[b-wxcen779gs] {
    position: sticky;
    top: 0;
    z-index: 3;
    width: 126px;
    min-width: 126px;
    padding: 8px 7px;
    text-align: center;
    background: #f8fafc;
}

.promotion-annual-workflow-cycle-header--invalid[b-wxcen779gs] {
    background: #fef2f2;
}

.promotion-annual-workflow-cycle-month[b-wxcen779gs] {
    display: block;
    color: var(--text-900);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.promotion-annual-workflow-cycle-year[b-wxcen779gs] {
    display: block;
    margin-top: 2px;
    color: var(--text-500);
    font-size: 10px;
    font-weight: 700;
}

.promotion-annual-workflow-milestone[b-wxcen779gs] {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 232px;
    min-width: 232px;
    padding: 10px 12px;
    text-align: left;
    background: #fff;
}

.promotion-annual-workflow-milestone-name[b-wxcen779gs] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-900);
    font-size: 12px;
    font-weight: 800;
}

/* Optional Core Dates */
/* ---------------------------------------------------------
   Identifies Annual Schedule dates that remain available for
   WAM planning but do not block validation or publication.
   --------------------------------------------------------- */

.promotion-annual-workflow-optional-badge[b-wxcen779gs] {
    display: inline-flex;
    align-items: center;
    min-height: 17px;
    padding: 1px 5px;
    color: #475569;
    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    text-transform: uppercase;
    white-space: nowrap;
}

.promotion-annual-workflow-milestone-audience[b-wxcen779gs] {
    display: block;
    margin-top: 2px;
    color: var(--text-500);
    font-size: 10px;
    font-weight: 650;
}

.promotion-annual-workflow-cell[b-wxcen779gs] {
    width: 126px;
    min-width: 126px;
    padding: 7px;
    background: #fff;
}

.promotion-annual-workflow-cell--invalid[b-wxcen779gs] {
    background: rgba(254, 242, 242, 0.72);
}

.promotion-annual-workflow-date[b-wxcen779gs] {
    width: 112px;
    min-width: 112px;
    padding: 5px 6px;
    font-size: 11px;
}

.promotion-annual-workflow-footnote[b-wxcen779gs] {
    flex: 0 0 auto;
    padding: 8px 14px;
    color: var(--text-500);
    font-size: 11px;
    border-top: 1px solid rgba(100, 116, 139, 0.12);
    background: #fbfcfe;
}

/* Audience Filters and Milestone Groups */
/* ---------------------------------------------------------
   Controls role-based schedule projections and visually
   separates core workflow dates from additional milestones.
   --------------------------------------------------------- */

.promotion-annual-workflow-header-controls[b-wxcen779gs] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.promotion-annual-workflow-audience-filter[b-wxcen779gs] {
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 9px;
    background: #f8fafc;
}

.promotion-annual-workflow-filter-button[b-wxcen779gs] {
    min-height: 28px;
    padding: 4px 9px;
    color: var(--text-600);
    font-size: 11px;
    font-weight: 700;
    border: 0;
    border-radius: 7px;
    background: transparent;
}

    .promotion-annual-workflow-filter-button:hover[b-wxcen779gs] {
        color: var(--text-900);
        background: rgba(148, 163, 184, 0.12);
    }

.promotion-annual-workflow-filter-button--active[b-wxcen779gs] {
    color: #1d4ed8;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.promotion-annual-workflow-group-row th[b-wxcen779gs] {
    padding: 7px 12px;
    color: #475569;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-align: left;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(100, 116, 139, 0.16);
    background: #f1f5f9;
}

.promotion-annual-workflow-row-type[b-wxcen779gs] {
    display: inline-flex;
    margin-top: 5px;
    padding: 2px 6px;
    color: #1d4ed8;
    font-size: 9px;
    font-weight: 800;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
}

.promotion-annual-workflow-row-type--additional[b-wxcen779gs] {
    color: #6d28d9;
    border-color: #ddd6fe;
    background: #f5f3ff;
}

.promotion-annual-workflow-not-configured[b-wxcen779gs] {
    display: block;
    color: #94a3b8;
    font-size: 10px;
    text-align: center;
}

.promotion-annual-workflow-empty-filter[b-wxcen779gs] {
    padding: 28px;
    color: var(--text-500);
    font-size: 12px;
    text-align: center;
}


@container promotion-cycles-page (max-width: 900px) {
    .promotion-annual-workflow-header[b-wxcen779gs] {
        align-items: stretch;
        flex-direction: column;
    }

    .promotion-annual-workflow-actions[b-wxcen779gs] {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .promotion-annual-workflow-header-controls[b-wxcen779gs] {
        align-items: flex-start;
    }

    .promotion-annual-workflow-audience-filter[b-wxcen779gs] {
        max-width: 100%;
        overflow-x: auto;
    }
}
/* /Components/Shared/PromotionCycles/PromotionCycleCalendarWorkspace.razor.rz.scp.css */
/* Calendar Cycle Selection */
/* ---------------------------------------------------------
   Enables Cycle Summary navigation only when a parent workspace
   supplies a Cycle selection callback.
   --------------------------------------------------------- */

.cycle-calendar-event--clickable[b-hd01p06jdz],
.cycle-calendar-upcoming-row--clickable[b-hd01p06jdz],
.cycle-calendar-day-event-row--clickable[b-hd01p06jdz] {
    cursor: pointer;
}

.cycle-calendar-day-event-row--clickable[b-hd01p06jdz] {
    width: 100%;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: #fff;
    text-align: left;
}

    .cycle-calendar-day-event-row--clickable:hover[b-hd01p06jdz] {
        background: #f8fafc;
    }


.cycle-calendar-card[b-hd01p06jdz] {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--bg-surface, #fff);
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

/* Embedded Calendar Workspace */
/* ---------------------------------------------------------
   Removes the standalone Calendar card shell when Calendar is
   hosted inside the Promotion Cycles workspace.
   --------------------------------------------------------- */

.cycle-calendar-card--embedded[b-hd01p06jdz] {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.cycle-calendar-card-header[b-hd01p06jdz] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.cycle-calendar-card-title[b-hd01p06jdz] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.cycle-calendar-card-subtitle[b-hd01p06jdz] {
    margin-top: 2px;
    color: var(--text-600, #64748b);
    font-size: 13px;
}

.cycle-calendar-nav[b-hd01p06jdz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cycle-calendar-body[b-hd01p06jdz] {
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 8px 8px 8px 8px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 10px;
    overflow: hidden;
    align-items: stretch;
}

.cycle-calendar-main[b-hd01p06jdz] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #fff;
}

.cycle-calendar-grid[b-hd01p06jdz] {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: 32px repeat(6, minmax(0, 1fr));
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    border-left: 1px solid rgba(25, 35, 68, 0.08);
    scrollbar-gutter: stable;
}

.cycle-calendar-day-name[b-hd01p06jdz] {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 32px;
    padding: 8px 6px;
    background: #f8fafc;
    color: var(--text-500);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
    border-right: 1px solid rgba(25, 35, 68, 0.08);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.cycle-calendar-day[b-hd01p06jdz] {
    min-width: 0;
    min-height: 0;
    padding: 7px 6px 7px 6px;
    background: #fff;
    overflow: visible;
    border-right: 1px solid rgba(25, 35, 68, 0.08);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.cycle-calendar-day--outside-month[b-hd01p06jdz] {
    background: #fbfdff;
}

    .cycle-calendar-day--outside-month .cycle-calendar-date-number[b-hd01p06jdz] {
        color: #b5c0ce;
    }

.cycle-calendar-day--today[b-hd01p06jdz] {
    position: relative;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.055), #fff);
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.55);
}

    .cycle-calendar-day--today .cycle-calendar-date-number[b-hd01p06jdz] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #1d3a6d;
        color: #fff;
    }

.cycle-calendar-date-number[b-hd01p06jdz] {
    margin-bottom: 5px;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.cycle-calendar-events[b-hd01p06jdz] {
    position: relative;
    min-width: 0;
    display: grid;
    gap: 4px;
    align-content: start;
}

.cycle-calendar-event[b-hd01p06jdz] {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 21px;
    border: 1px solid transparent;
    border-radius: 7px;
    padding: 2px 7px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: default;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

    .cycle-calendar-event:hover[b-hd01p06jdz] {
        filter: brightness(0.985);
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    }

/* Calendar Event Custom Tooltip */
/* ---------------------------------------------------------
   Allows the shared CustomTooltip trigger to fill each calendar
   event slot while tooltip positioning remains outside the
   internally scrolling calendar grid.
   --------------------------------------------------------- */

[b-hd01p06jdz] .cycle-calendar-event-tooltip-wrap {
    display: block;
    width: 100%;
    min-width: 0;
}

.cycle-calendar-event-dot[b-hd01p06jdz] {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    flex: 0 0 auto;
    background: currentColor;
}

.cycle-calendar-event-text[b-hd01p06jdz] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-calendar-event--draft[b-hd01p06jdz] {
    background: #dbeafe;
    border-color: rgba(29, 78, 216, 0.12);
    color: #1d4ed8;
}

.cycle-calendar-event--submission[b-hd01p06jdz] {
    background: rgba(91, 196, 191, 0.16);
    border-color: rgba(91, 196, 191, 0.24);
    color: #206a66;
}

.cycle-calendar-event--manufacturer-due[b-hd01p06jdz] {
    background: rgba(241, 95, 87, 0.14);
    border-color: rgba(241, 95, 87, 0.26);
    color: #9d423c;
}

.cycle-calendar-event--distributor-review[b-hd01p06jdz] {
    background: #ede9fe;
    border-color: rgba(91, 33, 182, 0.16);
    color: #5b21b6;
}

.cycle-calendar-event--distributor-due[b-hd01p06jdz] {
    background: rgba(250, 169, 75, 0.18);
    border-color: rgba(250, 169, 75, 0.28);
    color: #9a5a12;
}

.cycle-calendar-event--operational[b-hd01p06jdz] {
    background: #eef2ff;
    border-color: rgba(67, 56, 202, 0.18);
    color: #4338ca;
}

.cycle-calendar-event--informational[b-hd01p06jdz] {
    background: #f8fafc;
    border-color: rgba(71, 85, 105, 0.18);
    color: #475569;
}

.cycle-calendar-event--final-publish[b-hd01p06jdz] {
    background: #dcfce7;
    border-color: rgba(22, 101, 52, 0.16);
    color: #166534;
}

.cycle-calendar-more[b-hd01p06jdz] {
    width: fit-content;
    border: 0;
    background: transparent;
    padding: 0 0 0 4px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--link-600, #2563eb);
    cursor: pointer;
}

    .cycle-calendar-more:hover[b-hd01p06jdz] {
        text-decoration: underline;
    }

.cycle-calendar-footnote[b-hd01p06jdz] {
    padding: 7px 12px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    color: var(--text-500);
    font-size: 12px;
    background: #f8fafc;
}

.cycle-calendar-side[b-hd01p06jdz] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 12px;
    overflow: hidden;
}

.cycle-calendar-side-card[b-hd01p06jdz] {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #fff;
    display: flex;
    flex-direction: column;
}

    .cycle-calendar-side-card > .cycle-calendar-side-title[b-hd01p06jdz] {
        padding: 11px 12px 9px;
        border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    }

.cycle-calendar-side-header[b-hd01p06jdz] {
    padding: 11px 12px 9px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.cycle-calendar-side-title[b-hd01p06jdz] {
    font-size: 14px;
    font-weight: 800;
    color: var(--text-900);
}

.cycle-calendar-side-subtitle[b-hd01p06jdz] {
    margin-top: 2px;
    font-size: 12px;
    color: var(--text-500);
}

.cycle-calendar-upcoming-list[b-hd01p06jdz] {
    min-height: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.cycle-calendar-upcoming-empty[b-hd01p06jdz] {
    padding: 14px 12px;
    color: var(--text-500);
    font-size: 13px;
}

.cycle-calendar-upcoming-row[b-hd01p06jdz] {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    background: #fff;
    padding: 8px 8px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    text-align: left;
}

    .cycle-calendar-upcoming-row:hover[b-hd01p06jdz] {
        background: #f8fafc;
    }

.cycle-calendar-upcoming-copy[b-hd01p06jdz] {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.cycle-calendar-upcoming-title[b-hd01p06jdz] {
    color: var(--text-900);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.cycle-calendar-upcoming-meta[b-hd01p06jdz] {
    color: var(--text-500);
    font-size: 11px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-calendar-upcoming-date[b-hd01p06jdz] {
    color: var(--text-600);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.cycle-calendar-legend[b-hd01p06jdz] {
    padding: 10px 6px 12px 6px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 6px;
}

.cycle-calendar-legend-item[b-hd01p06jdz] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text-700);
    font-size: 11px;
    font-weight: 600;
}

.cycle-calendar-dot[b-hd01p06jdz] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    flex: 0 0 auto;
    background: #94a3b8;
}

.cycle-calendar-dot--draft[b-hd01p06jdz] {
    background: #3b82f6;
}

.cycle-calendar-dot--submission[b-hd01p06jdz] {
    background: #2ba89f;
}

.cycle-calendar-dot--manufacturer-due[b-hd01p06jdz] {
    background: #e85b50;
}

.cycle-calendar-dot--distributor-review[b-hd01p06jdz] {
    background: #7c3aed;
}

.cycle-calendar-dot--distributor-due[b-hd01p06jdz] {
    background: #e68a1a;
}

.cycle-calendar-dot--operational[b-hd01p06jdz] {
    background: #4f46e5;
}

.cycle-calendar-dot--informational[b-hd01p06jdz] {
    background: #64748b;
}

.cycle-calendar-dot--final-publish[b-hd01p06jdz] {
    background: #22a45a;
}

.cycle-calendar-state[b-hd01p06jdz] {
    padding: 18px;
    color: #64748b;
    font-size: 14px;
}

.cycle-calendar-modal-backdrop[b-hd01p06jdz] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.35);
}

.cycle-calendar-modal[b-hd01p06jdz] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 8rem 1rem 1rem;
}

.cycle-calendar-day-modal-card[b-hd01p06jdz] {
    width: min(520px, calc(100vw - 2rem));
    max-height: calc(100vh - 10rem);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
}

.cycle-calendar-modal-header[b-hd01p06jdz] {
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cycle-calendar-modal-title[b-hd01p06jdz] {
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
}

.cycle-calendar-day-modal-subtitle[b-hd01p06jdz] {
    margin-top: 2px;
    color: #64748b;
    font-size: 12px;
}

.cycle-calendar-modal-body[b-hd01p06jdz] {
    overflow: auto;
    padding: 10px;
}

.cycle-calendar-day-event-row[b-hd01p06jdz] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.06);
}

.cycle-calendar-day-event-copy[b-hd01p06jdz] {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.cycle-calendar-day-event-title[b-hd01p06jdz] {
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
}

.cycle-calendar-day-event-meta[b-hd01p06jdz],
.cycle-calendar-day-event-tooltip[b-hd01p06jdz] {
    color: #64748b;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .cycle-calendar-body[b-hd01p06jdz] {
        grid-template-columns: minmax(0, 1fr);
    }

    .cycle-calendar-side[b-hd01p06jdz] {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
}
/* /Components/Shared/PromotionCycles/PromotionCycleHealthExplanationModal.razor.rz.scp.css */
/* Cycle Health Explanation Modal */
/* ---------------------------------------------------------
   Provides a brief customer-facing explanation of Promotion
   Cycle health without exposing calculation formulas or weights.
   --------------------------------------------------------- */

.cycle-health-explanation-backdrop[b-grzsmrdck1] {
    position: fixed;
    inset: 0;
    z-index: 2070;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(1px);
}

.cycle-health-explanation-shell[b-grzsmrdck1] {
    position: fixed;
    inset: 0;
    z-index: 2080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.cycle-health-explanation-card[b-grzsmrdck1] {
    width: min(760px, calc(100vw - 48px));
    max-height: min(760px, calc(100vh - 48px));
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    pointer-events: auto;
}

.cycle-health-explanation-header[b-grzsmrdck1] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.cycle-health-explanation-header-copy[b-grzsmrdck1] {
    min-width: 0;
}

.cycle-health-explanation-eyebrow[b-grzsmrdck1],
.cycle-health-explanation-section-label[b-grzsmrdck1] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

.cycle-health-explanation-title[b-grzsmrdck1] {
    margin: 2px 0 0;
    overflow: hidden;
    color: #0f172a;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-health-explanation-subtitle[b-grzsmrdck1] {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #64748b;
    font-size: 12px;
}

.cycle-health-explanation-header-actions[b-grzsmrdck1] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cycle-health-explanation-status[b-grzsmrdck1] {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.cycle-health-explanation-status--success[b-grzsmrdck1] {
    border-color: rgba(16, 185, 129, 0.22);
    background: rgba(16, 185, 129, 0.08);
    color: #047857;
}

.cycle-health-explanation-status--watch[b-grzsmrdck1] {
    border-color: rgba(59, 130, 246, 0.22);
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
}

.cycle-health-explanation-status--warning[b-grzsmrdck1] {
    border-color: rgba(245, 158, 11, 0.24);
    background: rgba(245, 158, 11, 0.09);
    color: #b45309;
}

.cycle-health-explanation-status--danger[b-grzsmrdck1],
.cycle-health-explanation-status--critical[b-grzsmrdck1] {
    border-color: rgba(220, 38, 38, 0.22);
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
}

.cycle-health-explanation-body[b-grzsmrdck1] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cycle-health-explanation-summary[b-grzsmrdck1] {
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-left-width: 4px;
    border-radius: 12px;
    background: #f8fafc;
}

.cycle-health-explanation-summary--success[b-grzsmrdck1] {
    border-left-color: #0f9f74;
    background: rgba(16, 185, 129, 0.05);
}

.cycle-health-explanation-summary--watch[b-grzsmrdck1] {
    border-left-color: #3b82f6;
    background: rgba(59, 130, 246, 0.05);
}

.cycle-health-explanation-summary--warning[b-grzsmrdck1] {
    border-left-color: #f59e0b;
    background: rgba(245, 158, 11, 0.06);
}

.cycle-health-explanation-summary--danger[b-grzsmrdck1],
.cycle-health-explanation-summary--critical[b-grzsmrdck1] {
    border-left-color: #dc2626;
    background: rgba(220, 38, 38, 0.05);
}

.cycle-health-explanation-summary-text[b-grzsmrdck1] {
    margin: 7px 0 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
}

.cycle-health-explanation-metrics[b-grzsmrdck1] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cycle-health-explanation-metric[b-grzsmrdck1] {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 11px;
    background: #ffffff;
}

.cycle-health-explanation-metric-header[b-grzsmrdck1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

    .cycle-health-explanation-metric-header strong[b-grzsmrdck1] {
        color: #0f172a;
        font-size: 18px;
        line-height: 1;
    }

.cycle-health-explanation-metric p[b-grzsmrdck1] {
    margin: 7px 0 0;
    color: #64748b;
    font-size: 11.5px;
    line-height: 1.4;
}

.cycle-health-explanation-attention[b-grzsmrdck1] {
    padding: 12px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 11px;
    background: rgba(255, 251, 235, 0.68);
}

.cycle-health-explanation-attention-list[b-grzsmrdck1] {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cycle-health-explanation-attention-item[b-grzsmrdck1] {
    padding: 8px 10px;
    border-left: 3px solid #64748b;
    border-radius: 7px;
    background: #ffffff;
    color: #334155;
    font-size: 11.5px;
    line-height: 1.4;
}

.cycle-health-explanation-attention-item--warning[b-grzsmrdck1] {
    border-left-color: #f59e0b;
}

.cycle-health-explanation-attention-item--danger[b-grzsmrdck1] {
    border-left-color: #dc2626;
}

.cycle-health-explanation-attention-more[b-grzsmrdck1] {
    margin-top: 7px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 700;
}

.cycle-health-explanation-clear[b-grzsmrdck1] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid rgba(16, 185, 129, 0.22);
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.06);
    color: #065f46;
    font-size: 11.5px;
    font-weight: 700;
}

.cycle-health-explanation-clear-icon[b-grzsmrdck1] {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #10b981;
    color: #ffffff;
    font-size: 11px;
}

@media (max-width: 720px) {
    .cycle-health-explanation-shell[b-grzsmrdck1] {
        padding: 14px;
    }

    .cycle-health-explanation-card[b-grzsmrdck1] {
        width: calc(100vw - 28px);
        max-height: calc(100vh - 28px);
    }

    .cycle-health-explanation-metrics[b-grzsmrdck1] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/PromotionCycles/PromotionCycleParticipationConfirmModal.razor.rz.scp.css */
/* Promotion Cycle Participation Confirmation */
/* ---------------------------------------------------------
   Provides a reusable confirmation dialog for Manufacturer,
   Broker, and WAM Admin participation removal actions.
   --------------------------------------------------------- */

.promotion-cycle-participation-confirm-backdrop[b-ntv4fqvpgg] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(15, 23, 42, 0.42);
}

.promotion-cycle-participation-confirm-shell[b-ntv4fqvpgg] {
    position: fixed;
    inset: 0;
    z-index: 1070;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.promotion-cycle-participation-confirm-card[b-ntv4fqvpgg] {
    width: min(540px, calc(100vw - 2rem));
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.24);
}

.promotion-cycle-participation-confirm-header[b-ntv4fqvpgg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-cycle-participation-confirm-title[b-ntv4fqvpgg] {
    color: var(--text-900, #0f172a);
    font-size: 15px;
    font-weight: 700;
}

.promotion-cycle-participation-confirm-body[b-ntv4fqvpgg] {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.promotion-cycle-participation-confirm-summary[b-ntv4fqvpgg] {
    padding: 12px 14px;
    border: 1px solid rgba(220, 38, 38, 0.18);
    border-radius: 9px;
    background: rgba(220, 38, 38, 0.06);
    color: #991b1b;
    font-size: 13px;
    font-weight: 700;
}

.promotion-cycle-participation-confirm-copy[b-ntv4fqvpgg] {
    color: var(--text-600, #475569);
    font-size: 13px;
    line-height: 1.45;
}

.promotion-cycle-participation-confirm-footer[b-ntv4fqvpgg] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 16px 14px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
}
/* /Components/Shared/PromotionCycles/PromotionCyclesShared.razor.rz.scp.css */
/* Partner Promotion Cycles Workspace */
/* ---------------------------------------------------------
   Provides the fixed-height Manufacturer and Broker Promotion
   Cycles workspace. The table region owns record scrolling while
   filters and pagination remain stable.
   --------------------------------------------------------- */

.promotion-cycles-page[b-loqmxbi9ss] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    overflow: hidden;
}

.promotion-cycles-workspace[b-loqmxbi9ss] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Promotion Cycle Summary Cards */
/* ---------------------------------------------------------
   Provides compact planning totals and quick filters for
   Promotion Cycle availability.
   --------------------------------------------------------- */

.promotion-cycles-stat-grid[b-loqmxbi9ss] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.promotion-cycles-stat-card[b-loqmxbi9ss] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    box-shadow: var(--shadow-1);
}

.promotion-cycles-stat-card-button[b-loqmxbi9ss] {
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .promotion-cycles-stat-card-button:hover[b-loqmxbi9ss] {
        border-color: rgba(29, 58, 109, 0.18);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .promotion-cycles-stat-card-button:focus-visible[b-loqmxbi9ss] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

.promotion-cycles-stat-label[b-loqmxbi9ss] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-stat-value[b-loqmxbi9ss] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.promotion-cycles-stat-meta[b-loqmxbi9ss] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-stat-card--neutral[b-loqmxbi9ss] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.promotion-cycles-stat-card--info[b-loqmxbi9ss] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.promotion-cycles-stat-card--success[b-loqmxbi9ss] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.promotion-cycles-stat-card--warning[b-loqmxbi9ss] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.promotion-cycles-stat-card--neutral.is-active[b-loqmxbi9ss],
.promotion-cycles-stat-card--info.is-active[b-loqmxbi9ss] {
    border-color: rgba(117, 140, 167, 0.34);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.promotion-cycles-stat-card--success.is-active[b-loqmxbi9ss] {
    border-color: rgba(91, 196, 191, 0.48);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.promotion-cycles-stat-card--warning.is-active[b-loqmxbi9ss] {
    border-color: rgba(250, 169, 75, 0.42);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

/* Promotion Cycle List Workspace */
/* ---------------------------------------------------------
   Keeps the list header, controls, internally scrolling table,
   and anchored pagination inside the page workspace.
   --------------------------------------------------------- */

.promotion-cycles-list-card[b-loqmxbi9ss] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 18px;
    overflow: hidden;
}

.promotion-cycles-panel-header[b-loqmxbi9ss] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 12px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.promotion-cycles-header-copy[b-loqmxbi9ss] {
    min-width: 0;
}

.promotion-cycles-header-actions[b-loqmxbi9ss] {
    display: contents;
}

.promotion-cycles-header-right-actions[b-loqmxbi9ss] {
    grid-column: 3;
    justify-self: end;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.promotion-cycles-panel-title[b-loqmxbi9ss] {
    margin: 0;
    color: var(--text-900);
    font-size: 18px;
    font-weight: 700;
}

.promotion-cycles-panel-subtitle[b-loqmxbi9ss] {
    margin: 4px 0 0;
    color: var(--text-500);
    font-size: 13px;
}

.promotion-cycles-list-body[b-loqmxbi9ss] {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.promotion-cycles-list-body--calendar[b-loqmxbi9ss] {
    grid-template-rows: minmax(0, 1fr);
}

.promotion-cycles-calendar-workspace[b-loqmxbi9ss] {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

/* List and Calendar View Toggle */
/* ---------------------------------------------------------
   Centers the Promotion Cycles view selector while preserving
   stable header alignment and compact enterprise spacing.
   --------------------------------------------------------- */

.promotion-cycles-view-toggle[b-loqmxbi9ss] {
    grid-column: 2;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.promotion-cycles-view-toggle-button[b-loqmxbi9ss] {
    min-height: 30px;
    min-width: 112px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .promotion-cycles-view-toggle-button:hover[b-loqmxbi9ss] {
        color: #1d3a6d;
        background: rgba(37, 99, 235, 0.06);
    }

    .promotion-cycles-view-toggle-button.is-active[b-loqmxbi9ss] {
        background: #fff;
        color: #1d4ed8;
        box-shadow: 0 1px 5px rgba(15, 23, 42, 0.12);
    }

    .promotion-cycles-view-toggle-button:focus-visible[b-loqmxbi9ss] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

/* Promotion Cycle Filters */
/* ---------------------------------------------------------
   Keeps search, status, Promotion Entry, and page-size controls
   compact within the enterprise desktop workspace.
   --------------------------------------------------------- */

.promotion-cycles-toolbar[b-loqmxbi9ss] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 190px 190px 108px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
}

.promotion-cycles-control[b-loqmxbi9ss],
.promotion-cycles-control-search[b-loqmxbi9ss],
.promotion-cycles-control-eligible[b-loqmxbi9ss],
.promotion-cycles-control-page-size[b-loqmxbi9ss] {
    min-width: 0;
}

.promotion-cycles-control-label[b-loqmxbi9ss] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
}

.promotion-cycles-search-input[b-loqmxbi9ss],
.promotion-cycles-filter-select[b-loqmxbi9ss] {
    width: 100%;
    min-height: 38px;
}

.promotion-cycles-control-page-size .promotion-cycles-filter-select[b-loqmxbi9ss] {
    min-width: 108px;
}

.promotion-cycles-toolbar-checkbox[b-loqmxbi9ss] {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--text-900);
    font-weight: 500;
}

/* List States */

.promotion-cycles-state[b-loqmxbi9ss] {
    padding: 18px 16px;
    color: var(--text-600);
}

.promotion-cycles-state-wrap--error[b-loqmxbi9ss] {
    padding: 8px 12px 0;
}

/* Promotion Cycle Table */
/* ---------------------------------------------------------
   Keeps table scrolling internal with a sticky header and
   anchored pagination at the bottom of the workspace.
   --------------------------------------------------------- */

.promotion-cycles-table-region[b-loqmxbi9ss] {
    min-height: 0;
    height: 100%;
    margin: 0 12px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.promotion-cycles-table-scroll[b-loqmxbi9ss] {
    min-height: 0;
    position: relative;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #fff;
}

.promotion-cycles-table[b-loqmxbi9ss] {
    width: 100%;
    min-width: 1080px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .promotion-cycles-table thead th[b-loqmxbi9ss] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #fff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .promotion-cycles-table tbody td[b-loqmxbi9ss] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #fff;
        color: var(--text-900);
    }

    .promotion-cycles-table tbody tr:hover td[b-loqmxbi9ss] {
        background: #fbfdff;
    }

.promotion-cycles-col-name[b-loqmxbi9ss] {
    width: 21%;
}

.promotion-cycles-col-period[b-loqmxbi9ss] {
    width: 8%;
}

.promotion-cycles-col-status[b-loqmxbi9ss] {
    width: 13%;
}


.promotion-cycles-col-promotions[b-loqmxbi9ss] {
    width: 11%;
}

.promotion-cycles-col-participation[b-loqmxbi9ss] {
    width: 13%;
}

.promotion-cycles-col-entry[b-loqmxbi9ss] {
    width: 11%;
}

.promotion-cycles-col-key-dates[b-loqmxbi9ss] {
    width: 16%;
}

.promotion-cycles-col-actions[b-loqmxbi9ss] {
    width: 7%;
}

.promotion-cycles-participation-control[b-loqmxbi9ss] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.promotion-cycles-participation-active[b-loqmxbi9ss] {
    color: #087f5b;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.promotion-cycles-participation-inactive[b-loqmxbi9ss] {
    color: var(--text-700);
}

.promotion-cycles-participation-readonly[b-loqmxbi9ss] {
    color: var(--text-500);
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
}

.promotion-cycles-participation-note[b-loqmxbi9ss] {
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
}

/* Promotion Cycle Row Content */

[b-loqmxbi9ss] .promotion-cycles-primary-title-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.promotion-cycles-primary[b-loqmxbi9ss] {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--text-900);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-cycles-secondary[b-loqmxbi9ss] {
    margin-top: 3px;
    color: var(--text-600);
    font-size: 11.5px;
    line-height: 1.3;
}

.promotion-cycles-secondary-success[b-loqmxbi9ss] {
    color: #087f5b;
}

.promotion-cycles-secondary-muted[b-loqmxbi9ss] {
    color: var(--text-500);
}

.promotion-cycles-badge[b-loqmxbi9ss],
.promotion-cycles-entry-badge[b-loqmxbi9ss] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    border-radius: 999px;
    white-space: nowrap;
}

.promotion-cycles-badge[b-loqmxbi9ss] {
    width: 100%;
    padding: 0 8px;
    overflow: hidden;
    font-size: 10.75px;
    font-weight: 600;
    text-overflow: ellipsis;
}

.promotion-cycles-badge-planned[b-loqmxbi9ss],
.promotion-cycles-badge-default[b-loqmxbi9ss] {
    background: #f1f5f9;
    color: #475569;
}

.promotion-cycles-badge-drafting[b-loqmxbi9ss] {
    background: #dbeafe;
    color: #1d4ed8;
}

.promotion-cycles-badge-submission[b-loqmxbi9ss] {
    background: rgba(91, 196, 191, 0.18);
    color: #206a66;
}

.promotion-cycles-badge-review[b-loqmxbi9ss] {
    background: rgba(250, 169, 75, 0.20);
    color: #9a5a12;
}

.promotion-cycles-badge-distributor[b-loqmxbi9ss] {
    background: #ede9fe;
    color: #5b21b6;
}

.promotion-cycles-badge-locked[b-loqmxbi9ss] {
    background: #e2e8f0;
    color: #334155;
}

.promotion-cycles-badge-published[b-loqmxbi9ss] {
    background: #dcfce7;
    color: #166534;
}

.promotion-cycles-badge-archived[b-loqmxbi9ss] {
    background: rgba(241, 95, 87, 0.14);
    color: #9d423c;
}

.promotion-cycles-entry-badge[b-loqmxbi9ss] {
    min-width: 88px;
    padding: 0 9px;
    font-size: 10.75px;
    font-weight: 700;
}

.promotion-cycles-entry-badge--open[b-loqmxbi9ss] {
    background: rgba(91, 196, 191, 0.18);
    color: #206a66;
}

.promotion-cycles-entry-badge--upcoming[b-loqmxbi9ss] {
    background: #dbeafe;
    color: #1d4ed8;
}

.promotion-cycles-entry-badge--closed[b-loqmxbi9ss] {
    background: #f1f5f9;
    color: #64748b;
}

/* Scoped Promotion Progress */

.promotion-cycles-compact-summary[b-loqmxbi9ss] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.promotion-cycles-compact-summary-row[b-loqmxbi9ss] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px;
    align-items: center;
}

.promotion-cycles-compact-summary-label[b-loqmxbi9ss] {
    color: var(--text-500);
    font-size: 10.5px;
    font-weight: 700;
}

.promotion-cycles-compact-summary-value[b-loqmxbi9ss] {
    padding-right: 8px;
    color: var(--text-900);
    font-size: 11.5px;
    font-weight: 800;
    text-align: right;
}

/* Key Dates */

.promotion-cycles-key-date-stack[b-loqmxbi9ss] {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.promotion-cycles-key-date-row[b-loqmxbi9ss] {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 7px;
    align-items: baseline;
}

.promotion-cycles-key-date-label[b-loqmxbi9ss] {
    color: var(--text-500);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.015em;
    text-transform: uppercase;
}

.promotion-cycles-key-date-value[b-loqmxbi9ss] {
    overflow: hidden;
    color: var(--text-700);
    font-size: 10.5px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Sort Controls */

.promotion-cycles-sort-button[b-loqmxbi9ss] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .promotion-cycles-sort-button:hover[b-loqmxbi9ss],
    .promotion-cycles-sort-button--active[b-loqmxbi9ss] {
        color: #2563eb;
    }

.promotion-cycles-sort-indicator[b-loqmxbi9ss] {
    font-size: 0.72rem;
    line-height: 1;
}

/* Actions */
/* ---------------------------------------------------------
   Keeps the read-only Summary action aligned with the existing
   Promotion Cycle action presentation.
   --------------------------------------------------------- */

.promotion-cycles-table th.promotion-cycles-col-actions[b-loqmxbi9ss],
.promotion-cycles-table td.promotion-cycles-col-actions[b-loqmxbi9ss] {
    position: sticky;
    right: 0;
    z-index: 10;
    text-align: center;
    background: #fff;
}

.promotion-cycles-table thead th.promotion-cycles-col-actions[b-loqmxbi9ss] {
    z-index: 18;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.promotion-cycles-table tbody tr:hover td.promotion-cycles-col-actions[b-loqmxbi9ss] {
    background: #fbfdff;
}

.promotion-cycles-row-actions[b-loqmxbi9ss] {
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
}

.promotion-cycles-link-action[b-loqmxbi9ss] {
    appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.promotion-cycles-link-action--summary[b-loqmxbi9ss] {
    color: #1d4ed8;
    font-weight: 750;
}

.promotion-cycles-link-action:hover[b-loqmxbi9ss] {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Sticky Pagination */
/* ---------------------------------------------------------
   Keeps pagination anchored at the bottom of the fixed-height
   workspace regardless of record count.
   --------------------------------------------------------- */

.promotion-cycles-pager[b-loqmxbi9ss] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
}

.promotion-cycles-pager-meta[b-loqmxbi9ss] {
    color: var(--text-600, #475569);
    font-size: 12px;
    font-weight: 500;
}

.promotion-cycles-pager-actions[b-loqmxbi9ss] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.promotion-cycles-pager-page[b-loqmxbi9ss] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}
/* /Components/Shared/PromotionCycles/PromotionCycleSummaryGuideContent.razor.rz.scp.css */
/* Promotion Cycle Summary Guide Content */
/* ---------------------------------------------------------
   Presents current Cycle Health calculations, workflow-stage
   contributions, attention drivers, and scoring references.
   --------------------------------------------------------- */

.cycle-summary-guide-content[b-tzw8y5dq0p] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    color: #172554;
}

.cycle-summary-guide-intro[b-tzw8y5dq0p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 16px;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.95), #fff 64%);
}

.cycle-summary-guide-eyebrow[b-tzw8y5dq0p] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cycle-summary-guide-cycle-name[b-tzw8y5dq0p] {
    margin: 3px 0 0;
    color: #0f172a;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 800;
}

.cycle-summary-guide-cycle-meta[b-tzw8y5dq0p] {
    margin-top: 4px;
    display: flex;
    gap: 7px;
    color: #64748b;
    font-size: 11.5px;
}

.cycle-summary-guide-health-badge[b-tzw8y5dq0p] {
    flex: 0 0 auto;
    padding: 6px 11px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.cycle-summary-guide-health-badge--success[b-tzw8y5dq0p] {
    background: #ecfdf5;
    color: #047857;
}

.cycle-summary-guide-health-badge--watch[b-tzw8y5dq0p] {
    background: #eff6ff;
    color: #1d4ed8;
}

.cycle-summary-guide-health-badge--warning[b-tzw8y5dq0p] {
    background: #fffbeb;
    color: #b45309;
}

.cycle-summary-guide-health-badge--critical[b-tzw8y5dq0p],
.cycle-summary-guide-health-badge--danger[b-tzw8y5dq0p] {
    background: #fef2f2;
    color: #b91c1c;
}

.cycle-summary-guide-section[b-tzw8y5dq0p] {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 13px;
    background: #fff;
}

.cycle-summary-guide-section-header[b-tzw8y5dq0p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 11px;
}

    .cycle-summary-guide-section-header h3[b-tzw8y5dq0p] {
        margin: 0;
        color: #0f172a;
        font-size: 13.5px;
        font-weight: 800;
    }

    .cycle-summary-guide-section-header p[b-tzw8y5dq0p] {
        margin: 3px 0 0;
        color: #64748b;
        font-size: 11px;
        line-height: 1.4;
    }

.cycle-summary-guide-section-badge[b-tzw8y5dq0p] {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 10.5px;
    font-weight: 800;
}

.cycle-summary-guide-snapshot-grid[b-tzw8y5dq0p] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.cycle-summary-guide-snapshot-card[b-tzw8y5dq0p] {
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 10px;
    background: #f8fafc;
}

.cycle-summary-guide-snapshot-card--health[b-tzw8y5dq0p] {
    background: rgba(239, 246, 255, 0.8);
}

.cycle-summary-guide-snapshot-card span[b-tzw8y5dq0p],
.cycle-summary-guide-snapshot-card small[b-tzw8y5dq0p] {
    display: block;
}

.cycle-summary-guide-snapshot-card span[b-tzw8y5dq0p] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 700;
}

.cycle-summary-guide-snapshot-card strong[b-tzw8y5dq0p] {
    display: block;
    margin-top: 4px;
    color: #0f172a;
    font-size: 24px;
    line-height: 1;
    font-weight: 850;
}

.cycle-summary-guide-snapshot-card small[b-tzw8y5dq0p] {
    margin-top: 5px;
    overflow: hidden;
    color: #64748b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-summary-guide-formula[b-tzw8y5dq0p] {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.65);
}

.cycle-summary-guide-formula-title[b-tzw8y5dq0p] {
    color: #1e3a8a;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
}

.cycle-summary-guide-formula-expression[b-tzw8y5dq0p] {
    margin-top: 4px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.cycle-summary-guide-formula-note[b-tzw8y5dq0p] {
    margin-top: 3px;
    color: #64748b;
    font-size: 10.5px;
    line-height: 1.4;
}

.cycle-summary-guide-table-wrap[b-tzw8y5dq0p] {
    overflow-x: auto;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 10px;
}

.cycle-summary-guide-table[b-tzw8y5dq0p] {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

    .cycle-summary-guide-table th[b-tzw8y5dq0p],
    .cycle-summary-guide-table td[b-tzw8y5dq0p] {
        padding: 9px 10px;
        border-bottom: 1px solid rgba(148, 163, 184, 0.16);
        text-align: left;
        vertical-align: middle;
    }

    .cycle-summary-guide-table th[b-tzw8y5dq0p] {
        background: #f8fafc;
        color: #64748b;
        font-size: 9.5px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .cycle-summary-guide-table td[b-tzw8y5dq0p] {
        color: #334155;
        font-size: 11px;
    }

        .cycle-summary-guide-table td strong[b-tzw8y5dq0p],
        .cycle-summary-guide-table td span[b-tzw8y5dq0p] {
            display: block;
        }

        .cycle-summary-guide-table td strong[b-tzw8y5dq0p] {
            color: #0f172a;
        }

        .cycle-summary-guide-table td span[b-tzw8y5dq0p] {
            margin-top: 2px;
            color: #64748b;
            font-size: 9.5px;
        }

    .cycle-summary-guide-table tfoot td[b-tzw8y5dq0p] {
        border-bottom: 0;
        background: #f8fafc;
        color: #0f172a;
        font-weight: 800;
    }

.cycle-summary-guide-inclusion[b-tzw8y5dq0p] {
    width: fit-content;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 9.5px !important;
    font-weight: 800;
}

.cycle-summary-guide-inclusion--included[b-tzw8y5dq0p] {
    background: #ecfdf5;
    color: #047857 !important;
}

.cycle-summary-guide-inclusion--excluded[b-tzw8y5dq0p] {
    background: #f1f5f9;
    color: #64748b !important;
}

.cycle-summary-guide-note[b-tzw8y5dq0p] {
    margin-top: 9px;
    color: #64748b;
    font-size: 10.5px;
    line-height: 1.45;
}

.cycle-summary-guide-two-column[b-tzw8y5dq0p] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cycle-summary-guide-health-list[b-tzw8y5dq0p],
.cycle-summary-guide-attention-list[b-tzw8y5dq0p] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cycle-summary-guide-health-rule[b-tzw8y5dq0p] {
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-left-width: 3px;
    border-radius: 9px;
    background: #f8fafc;
}

    .cycle-summary-guide-health-rule strong[b-tzw8y5dq0p],
    .cycle-summary-guide-health-rule span[b-tzw8y5dq0p] {
        display: block;
    }

    .cycle-summary-guide-health-rule strong[b-tzw8y5dq0p] {
        color: #0f172a;
        font-size: 11px;
    }

    .cycle-summary-guide-health-rule span[b-tzw8y5dq0p] {
        margin-top: 2px;
        color: #64748b;
        font-size: 10px;
        line-height: 1.4;
    }

.cycle-summary-guide-health-rule--success[b-tzw8y5dq0p] {
    border-left-color: #10b981;
}

.cycle-summary-guide-health-rule--watch[b-tzw8y5dq0p] {
    border-left-color: #3b82f6;
}

.cycle-summary-guide-health-rule--warning[b-tzw8y5dq0p] {
    border-left-color: #f59e0b;
}

.cycle-summary-guide-health-rule--critical[b-tzw8y5dq0p] {
    border-left-color: #dc2626;
}

.cycle-summary-guide-count[b-tzw8y5dq0p] {
    min-width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f59e0b;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.cycle-summary-guide-attention-item[b-tzw8y5dq0p] {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 8px;
    padding: 8px 9px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-left-width: 3px;
    border-radius: 9px;
}

    .cycle-summary-guide-attention-item > span[b-tzw8y5dq0p] {
        color: #475569;
        font-size: 9px;
        font-weight: 850;
        text-transform: uppercase;
    }

    .cycle-summary-guide-attention-item p[b-tzw8y5dq0p] {
        margin: 0;
        color: #334155;
        font-size: 10.5px;
        line-height: 1.4;
    }

.cycle-summary-guide-attention-item--warning[b-tzw8y5dq0p] {
    border-left-color: #f59e0b;
}

.cycle-summary-guide-attention-item--danger[b-tzw8y5dq0p] {
    border-left-color: #dc2626;
}

.cycle-summary-guide-attention-item--neutral[b-tzw8y5dq0p] {
    border-left-color: #64748b;
}

.cycle-summary-guide-current-summary[b-tzw8y5dq0p] {
    margin-top: 9px;
    padding: 9px 10px;
    border-radius: 9px;
    background: #f8fafc;
}

    .cycle-summary-guide-current-summary strong[b-tzw8y5dq0p],
    .cycle-summary-guide-current-summary span[b-tzw8y5dq0p] {
        display: block;
    }

    .cycle-summary-guide-current-summary strong[b-tzw8y5dq0p] {
        color: #0f172a;
        font-size: 10.5px;
    }

    .cycle-summary-guide-current-summary span[b-tzw8y5dq0p] {
        margin-top: 3px;
        color: #64748b;
        font-size: 10px;
        line-height: 1.4;
    }

.cycle-summary-guide-clear-state[b-tzw8y5dq0p] {
    padding: 10px;
    border-radius: 9px;
    background: #ecfdf5;
    color: #047857;
    font-size: 10.5px;
    font-weight: 700;
}

.cycle-summary-guide-reference-grid[b-tzw8y5dq0p] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.cycle-summary-guide-reference-card[b-tzw8y5dq0p] {
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: #f8fafc;
}

    .cycle-summary-guide-reference-card h4[b-tzw8y5dq0p] {
        margin: 0 0 7px;
        color: #0f172a;
        font-size: 11px;
        font-weight: 800;
    }

    .cycle-summary-guide-reference-card dl[b-tzw8y5dq0p] {
        margin: 0;
    }

        .cycle-summary-guide-reference-card dl > div[b-tzw8y5dq0p] {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            padding: 4px 0;
            border-bottom: 1px solid rgba(148, 163, 184, 0.14);
        }

            .cycle-summary-guide-reference-card dl > div:last-child[b-tzw8y5dq0p] {
                border-bottom: 0;
            }

    .cycle-summary-guide-reference-card dt[b-tzw8y5dq0p],
    .cycle-summary-guide-reference-card dd[b-tzw8y5dq0p] {
        margin: 0;
        font-size: 9.5px;
    }

    .cycle-summary-guide-reference-card dt[b-tzw8y5dq0p] {
        color: #64748b;
        font-weight: 600;
    }

    .cycle-summary-guide-reference-card dd[b-tzw8y5dq0p] {
        color: #0f172a;
        font-weight: 800;
    }

@media (max-width: 980px) {
    .cycle-summary-guide-snapshot-grid[b-tzw8y5dq0p],
    .cycle-summary-guide-reference-grid[b-tzw8y5dq0p] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cycle-summary-guide-two-column[b-tzw8y5dq0p] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/PromotionCycles/PromotionCycleSummaryGuideModal.razor.rz.scp.css */
/* Promotion Cycle Summary Guide Modal */
/* ---------------------------------------------------------
   Displays calculation guidance above the Cycle Summary
   while keeping the Guide header stable.
   --------------------------------------------------------- */

.cycle-summary-guide-backdrop[b-xkqctm6tsy] {
    position: fixed;
    inset: 0;
    z-index: 2070;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(1px);
}

.cycle-summary-guide-shell[b-xkqctm6tsy] {
    position: fixed;
    inset: 0;
    z-index: 2080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
    pointer-events: none;
}

.cycle-summary-guide-card[b-xkqctm6tsy] {
    width: min(1060px, calc(100vw - 52px));
    max-height: min(880px, calc(100vh - 52px));
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
    pointer-events: auto;
}

.cycle-summary-guide-header[b-xkqctm6tsy] {
    flex: 0 0 auto;
    min-height: 82px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.cycle-summary-guide-header-eyebrow[b-xkqctm6tsy] {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cycle-summary-guide-header h2[b-xkqctm6tsy] {
    margin: 2px 0 0;
    color: #0f172a;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
}

.cycle-summary-guide-header p[b-xkqctm6tsy] {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 11.5px;
}

.cycle-summary-guide-body[b-xkqctm6tsy] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 14px 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Guide Header Actions */
/* ---------------------------------------------------------
   Keeps Open in New Tab and modal close actions together in
   the stable Guide header while removing the footer region.
   --------------------------------------------------------- */

.cycle-summary-guide-header-actions[b-xkqctm6tsy] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.cycle-summary-guide-new-tab[b-xkqctm6tsy] {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

    .cycle-summary-guide-new-tab .bi[b-xkqctm6tsy] {
        font-size: 13px;
        line-height: 1;
    }
/* /Components/Shared/PromotionCycles/PromotionCycleSummaryModal.razor.rz.scp.css */
/* Cycle Summary Modal */
/* ---------------------------------------------------------
   Presents Promotion Cycle health, operational progress,
   workflow counts, deadlines, and WAM Admin attention items.
   --------------------------------------------------------- */

.cycle-summary-backdrop[b-063bjhmyf4] {
    position: fixed;
    inset: 0;
    z-index: 2050;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(1px);
}

.cycle-summary-shell[b-063bjhmyf4] {
    position: fixed;
    inset: 0;
    z-index: 2060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.cycle-summary-card[b-063bjhmyf4] {
    width: min(1120px, calc(100vw - 48px));
    max-height: min(860px, calc(100vh - 48px));
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    pointer-events: auto;
}

.cycle-summary-header[b-063bjhmyf4] {
    flex: 0 0 auto;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.cycle-summary-header-copy[b-063bjhmyf4] {
    min-width: 0;
}

.cycle-summary-eyebrow[b-063bjhmyf4] {
    margin-bottom: 2px;
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cycle-summary-title[b-063bjhmyf4] {
    margin: 0;
    overflow: hidden;
    color: var(--text-900, #0f172a);
    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-summary-subtitle[b-063bjhmyf4] {
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-500, #64748b);
    font-size: 12px;
}

/* Promotion Cycle Availability */
/* ---------------------------------------------------------
   Distinguishes whether the Promotion Cycle is enabled for
   new workflow activity without competing with Cycle status.
   --------------------------------------------------------- */

.cycle-summary-availability--enabled[b-063bjhmyf4] {
    color: #047857;
    font-weight: 700;
}

.cycle-summary-availability--disabled[b-063bjhmyf4] {
    color: #b45309;
    font-weight: 700;
}

.cycle-summary-body[b-063bjhmyf4] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cycle-summary-health[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-left-width: 5px;
    border-radius: 14px;
    background: #f8fafc;
}

.cycle-summary-health--success[b-063bjhmyf4] {
    border-left-color: #0f9f74;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), #fff 60%);
}

.cycle-summary-health--watch[b-063bjhmyf4] {
    border-left-color: #3b82f6;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), #fff 60%);
}

.cycle-summary-health--warning[b-063bjhmyf4] {
    border-left-color: #f59e0b;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.09), #fff 60%);
}

.cycle-summary-health--danger[b-063bjhmyf4],
.cycle-summary-health--critical[b-063bjhmyf4] {
    border-left-color: #dc2626;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.08), #fff 60%);
}

.cycle-summary-health-main[b-063bjhmyf4] {
    min-width: 0;
}

.cycle-summary-health-label[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cycle-summary-health-status[b-063bjhmyf4] {
    margin-top: 2px;
    color: var(--text-900, #0f172a);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.15;
}

.cycle-summary-health-copy[b-063bjhmyf4] {
    margin-top: 4px;
    color: var(--text-600, #475569);
    font-size: 12.5px;
    line-height: 1.4;
}

.cycle-summary-score[b-063bjhmyf4] {
    align-self: center;
    text-align: right;
}

.cycle-summary-score-value[b-063bjhmyf4] {
    color: var(--text-900, #0f172a);
    font-size: 32px;
    line-height: 1;
    font-weight: 850;
}

.cycle-summary-score-label[b-063bjhmyf4] {
    margin-top: 4px;
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 700;
}

.cycle-summary-progress-area[b-063bjhmyf4] {
    grid-column: 1 / -1;
}

.cycle-summary-progress-header[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    color: var(--text-600, #475569);
    font-size: 11px;
    font-weight: 700;
}

.cycle-summary-progress-track[b-063bjhmyf4] {
    position: relative;
    height: 8px;
    overflow: visible;
    border-radius: 999px;
    background: #e2e8f0;
}

.cycle-summary-progress-value[b-063bjhmyf4] {
    height: 100%;
    max-width: 100%;
    border-radius: inherit;
    background: #1d4ed8;
}

.cycle-summary-progress-expected[b-063bjhmyf4] {
    position: absolute;
    top: -3px;
    width: 2px;
    height: 14px;
    transform: translateX(-1px);
    border-radius: 999px;
    background: #0f172a;
}

.cycle-summary-operational-grid[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.cycle-summary-panel[b-063bjhmyf4] {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 13px;
    background: #fff;
}

.cycle-summary-panel-header[b-063bjhmyf4],
.cycle-summary-attention-header[b-063bjhmyf4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.cycle-summary-panel-title[b-063bjhmyf4] {
    color: var(--text-900, #0f172a);
    font-size: 13px;
    font-weight: 800;
}

.cycle-summary-panel-subtitle[b-063bjhmyf4] {
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.35;
}

.cycle-summary-panel-total[b-063bjhmyf4] {
    flex: 0 0 auto;
    color: #1d4ed8;
    font-size: 21px;
    line-height: 1;
    font-weight: 850;
}

.cycle-summary-metric-grid[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.cycle-summary-metric-grid--books[b-063bjhmyf4] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Summary Header Information Action */
/* ---------------------------------------------------------
   Provides access to the Cycle Summary calculation guide
   without adding visual weight to the modal header.
   --------------------------------------------------------- */

.cycle-summary-header-actions[b-063bjhmyf4] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cycle-summary-info-tooltip-trigger[b-063bjhmyf4] {
    display: inline-flex;
}

.cycle-summary-info-button[b-063bjhmyf4] {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 9px;
    background: rgba(239, 246, 255, 0.72);
    color: #1d4ed8;
    font-size: 15px;
    line-height: 1;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

    .cycle-summary-info-button:hover[b-063bjhmyf4],
    .cycle-summary-info-button:focus-visible[b-063bjhmyf4] {
        border-color: rgba(37, 99, 235, 0.45);
        background: #eff6ff;
        color: #1e40af;
        outline: none;
    }

.cycle-summary-info-button--technical[b-063bjhmyf4] {
    border-color: rgba(100, 116, 139, 0.24);
    background: rgba(248, 250, 252, 0.88);
    color: #52606f;
}

    .cycle-summary-info-button--technical:hover[b-063bjhmyf4],
    .cycle-summary-info-button--technical:focus-visible[b-063bjhmyf4] {
        border-color: rgba(71, 85, 105, 0.36);
        background: #f8fafc;
        color: #334155;
    }

/* Published Final Book Source Impact */
/* ---------------------------------------------------------
   Flags published Final Book packages whose Promotion or
   Distributor Pricing source data changed after publication.
   --------------------------------------------------------- */

.cycle-summary-source-impact[b-063bjhmyf4] {
    margin-top: 9px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid rgba(220, 38, 38, 0.2);
    border-left: 3px solid #dc2626;
    border-radius: 9px;
    background: rgba(254, 242, 242, 0.72);
}

.cycle-summary-source-impact-icon[b-063bjhmyf4] {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #b91c1c;
    font-size: 13px;
}

.cycle-summary-source-impact-copy[b-063bjhmyf4] {
    min-width: 0;
}

    .cycle-summary-source-impact-copy strong[b-063bjhmyf4] {
        display: block;
        color: #991b1b;
        font-size: 11px;
        font-weight: 800;
    }

    .cycle-summary-source-impact-copy span[b-063bjhmyf4] {
        display: block;
        margin-top: 2px;
        color: #7f1d1d;
        font-size: 10.5px;
        line-height: 1.35;
    }

/* Final Book Review Ready State */
/* ---------------------------------------------------------
   Distinguishes completed source corrections awaiting Final
   Book review from active Promotion or Pricing corrections.
   --------------------------------------------------------- */

.cycle-summary-source-impact--review[b-063bjhmyf4] {
    border-color: rgba(245, 158, 11, 0.28);
    border-left-color: #f59e0b;
    background: rgba(255, 251, 235, 0.82);
}

    .cycle-summary-source-impact--review .cycle-summary-source-impact-icon[b-063bjhmyf4] {
        color: #b45309;
    }

    .cycle-summary-source-impact--review .cycle-summary-source-impact-copy strong[b-063bjhmyf4] {
        color: #92400e;
    }

    .cycle-summary-source-impact--review .cycle-summary-source-impact-copy span[b-063bjhmyf4] {
        color: #78350f;
    }

.cycle-summary-metric[b-063bjhmyf4] {
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 9px;
    background: #f8fafc;
}

.cycle-summary-metric--success[b-063bjhmyf4] {
    background: rgba(16, 185, 129, 0.06);
}

.cycle-summary-metric--warning[b-063bjhmyf4] {
    background: rgba(245, 158, 11, 0.07);
}

.cycle-summary-metric--danger[b-063bjhmyf4] {
    background: rgba(220, 38, 38, 0.06);
}

.cycle-summary-metric--info[b-063bjhmyf4] {
    background: rgba(59, 130, 246, 0.06);
}

.cycle-summary-metric-value[b-063bjhmyf4] {
    color: var(--text-900, #0f172a);
    font-size: 17px;
    line-height: 1;
    font-weight: 800;
}

.cycle-summary-metric-label[b-063bjhmyf4] {
    margin-top: 4px;
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-summary-date-grid[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px 14px;
}

.cycle-summary-date[b-063bjhmyf4] {
    min-width: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.cycle-summary-date-label[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    font-weight: 700;
}

.cycle-summary-date-value[b-063bjhmyf4] {
    margin-top: 2px;
    color: var(--text-900, #0f172a);
    font-size: 12px;
    font-weight: 700;
}

.cycle-summary-attention[b-063bjhmyf4] {
    padding: 12px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-radius: 13px;
    background: rgba(255, 251, 235, 0.72);
}

.cycle-summary-attention-count[b-063bjhmyf4] {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f59e0b;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.cycle-summary-attention-list[b-063bjhmyf4] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cycle-summary-attention-item[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-left-width: 3px;
    border-radius: 9px;
    background: #fff;
}

.cycle-summary-attention-item--warning[b-063bjhmyf4] {
    border-left-color: #f59e0b;
}

.cycle-summary-attention-item--danger[b-063bjhmyf4] {
    border-left-color: #dc2626;
}

.cycle-summary-attention-item--neutral[b-063bjhmyf4] {
    border-left-color: #64748b;
}

.cycle-summary-attention-severity[b-063bjhmyf4] {
    color: var(--text-600, #475569);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cycle-summary-attention-message[b-063bjhmyf4] {
    color: var(--text-800, #1e293b);
    font-size: 12px;
    line-height: 1.35;
}

.cycle-summary-clear-state[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 13px;
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.06);
    color: #065f46;
    font-size: 12px;
    font-weight: 700;
}

.cycle-summary-clear-icon[b-063bjhmyf4] {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #10b981;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

/* =====================================
   Cycle Summary Section Actions
   ---------------------------------------------------------
   Places Cycle-specific navigation beside each related
   workflow total without changing the panel layout.
   ===================================== */

.cycle-summary-panel-header-actions[b-063bjhmyf4] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cycle-summary-section-link[b-063bjhmyf4] {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

    .cycle-summary-section-link:hover[b-063bjhmyf4] {
        color: #1d4ed8;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .cycle-summary-section-link:focus-visible[b-063bjhmyf4] {
        outline: 2px solid rgba(37, 99, 235, 0.35);
        outline-offset: 3px;
        border-radius: 3px;
    }

/* Promotion Entry Response */
/* ---------------------------------------------------------
   Displays Manufacturer-level Promotion entry declarations
   for Manufacturer and Broker Cycle Summary views. Broker
   rows remain separate when multiple Manufacturers are assigned.
   --------------------------------------------------------- */

.cycle-summary-entry-response[b-063bjhmyf4] {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 13px;
    background: #fff;
}

.cycle-summary-entry-response-list[b-063bjhmyf4] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cycle-summary-entry-response-row[b-063bjhmyf4] {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(220px, auto);
    align-items: center;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 9px;
    background: #f8fafc;
}

.cycle-summary-entry-response-identity[b-063bjhmyf4] {
    min-width: 0;
}

.cycle-summary-entry-response-name[b-063bjhmyf4] {
    overflow: hidden;
    color: var(--text-900, #0f172a);
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-summary-entry-response-meta[b-063bjhmyf4] {
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
}

.cycle-summary-entry-response-state[b-063bjhmyf4] {
    display: flex;
    align-items: center;
}

.cycle-summary-entry-badge[b-063bjhmyf4] {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
    white-space: nowrap;
}

.cycle-summary-entry-badge--complete[b-063bjhmyf4] {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.cycle-summary-entry-badge--pending[b-063bjhmyf4] {
    background: rgba(245, 158, 11, 0.11);
    color: #92400e;
}

.cycle-summary-entry-badge--managed[b-063bjhmyf4] {
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
}

.cycle-summary-entry-badge--danger[b-063bjhmyf4] {
    background: rgba(220, 38, 38, 0.09);
    color: #b91c1c;
}

.cycle-summary-entry-response-actions[b-063bjhmyf4] {
    min-width: 0;
    display: flex;
    justify-content: flex-end;
}

/* Add More Promotions Information */
/* ---------------------------------------------------------
   Clarifies the Cycle-level Promotion Entry reopen action
   without implying that existing Promotions are reopened.
   --------------------------------------------------------- */

.cycle-summary-add-promotions-actions[b-063bjhmyf4] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cycle-summary-add-promotions-info[b-063bjhmyf4] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 8px;
    background: rgba(239, 246, 255, 0.72);
    color: #1d4ed8;
    font-size: 14px;
    line-height: 1;
}

    .cycle-summary-add-promotions-info:hover[b-063bjhmyf4],
    .cycle-summary-add-promotions-info:focus-visible[b-063bjhmyf4] {
        border-color: rgba(37, 99, 235, 0.45);
        background: #eff6ff;
        color: #1e40af;
        outline: none;
    }

.cycle-summary-action-info-backdrop[b-063bjhmyf4] {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(15, 23, 42, 0.36);
}

.cycle-summary-action-info-shell[b-063bjhmyf4] {
    position: fixed;
    inset: 0;
    z-index: 2110;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.cycle-summary-action-info-card[b-063bjhmyf4] {
    width: min(480px, calc(100vw - 48px));
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.2);
    pointer-events: auto;
}

.cycle-summary-action-info-header[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

    .cycle-summary-action-info-header h3[b-063bjhmyf4] {
        margin: 0;
        color: var(--text-900, #0f172a);
        font-size: 18px;
        font-weight: 800;
    }

.cycle-summary-action-info-eyebrow[b-063bjhmyf4] {
    margin-bottom: 2px;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cycle-summary-action-info-body[b-063bjhmyf4] {
    padding: 16px 18px;
    color: var(--text-600, #475569);
    font-size: 13px;
    line-height: 1.5;
}

    .cycle-summary-action-info-body p[b-063bjhmyf4] {
        margin: 0 0 12px;
    }

        .cycle-summary-action-info-body p:last-child[b-063bjhmyf4] {
            margin-bottom: 0;
        }

.cycle-summary-action-info-note[b-063bjhmyf4] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 4px 0 12px;
    padding: 10px 11px;
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 9px;
    background: rgba(236, 253, 245, 0.72);
    color: #047857;
    font-weight: 700;
}

    .cycle-summary-action-info-note i[b-063bjhmyf4] {
        flex: 0 0 auto;
        margin-top: 1px;
    }

.cycle-summary-action-info-footer[b-063bjhmyf4] {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    background: #f8fafc;
}

.cycle-summary-entry-confirm[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.cycle-summary-entry-confirm-copy[b-063bjhmyf4] {
    max-width: 270px;
    color: var(--text-600, #475569);
    font-size: 10.5px;
    line-height: 1.3;
}

/* WAM Admin Manufacturer Participation Progress */
/* ---------------------------------------------------------
   Displays one current Manufacturer obligation per participant,
   with responsibility, entry response, WAM approval progress,
   and derived completion state. Outstanding work is listed first.
   --------------------------------------------------------- */

.cycle-summary-obligation-header[b-063bjhmyf4] {
    align-items: center;
}

.cycle-summary-obligation-summary[b-063bjhmyf4] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(82px, 1fr));
    gap: 6px;
}

.cycle-summary-obligation-stat[b-063bjhmyf4] {
    min-width: 82px;
    padding: 6px 9px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    background: #f8fafc;
    text-align: center;
}

.cycle-summary-obligation-stat-label[b-063bjhmyf4] {
    display: block;
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 750;
    line-height: 1.1;
    text-transform: uppercase;
}

.cycle-summary-obligation-stat-value[b-063bjhmyf4] {
    display: block;
    margin-top: 2px;
    color: var(--text-900, #0f172a);
    font-size: 16px;
    font-weight: 850;
    line-height: 1;
}

.cycle-summary-obligation-stat-value--complete[b-063bjhmyf4] {
    color: #047857;
}

.cycle-summary-obligation-stat-value--outstanding[b-063bjhmyf4] {
    color: #92400e;
}

.cycle-summary-obligation-empty[b-063bjhmyf4] {
    padding: 18px 12px;
    border: 1px dashed rgba(148, 163, 184, 0.36);
    border-radius: 9px;
    color: var(--text-500, #64748b);
    font-size: 11.5px;
    text-align: center;
}

.cycle-summary-admin-obligation-list[b-063bjhmyf4] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cycle-summary-admin-obligation-row[b-063bjhmyf4] {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(125px, 0.8fr) minmax(140px, 0.9fr) minmax(120px, 0.75fr) minmax(190px, auto);
    align-items: center;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 9px;
    background: #f8fafc;
}

.cycle-summary-admin-obligation-field[b-063bjhmyf4] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cycle-summary-admin-obligation-label[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 750;
    line-height: 1.1;
    text-transform: uppercase;
}

.cycle-summary-admin-obligation-value[b-063bjhmyf4] {
    overflow: hidden;
    color: var(--text-800, #1e293b);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cycle-summary-admin-obligation-state[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Manufacturer Reminder Actions */
/* ---------------------------------------------------------
   Keeps manual reminder actions, reminder history, and message
   preview inside the WAM Admin Manufacturer progress workspace.
   --------------------------------------------------------- */

.cycle-summary-admin-obligation-state[b-063bjhmyf4] {
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.cycle-summary-admin-reminder-actions[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: wrap;
}

    .cycle-summary-admin-reminder-actions .btn[b-063bjhmyf4] {
        min-height: 27px;
        padding: 3px 8px;
        font-size: 10.5px;
        font-weight: 700;
    }

.cycle-summary-admin-reminder-history[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
}

.cycle-summary-release-override-meta[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
}

.cycle-summary-release-override-reason[b-063bjhmyf4] {
    max-width: 220px;
    color: var(--text-600, #475569);
    font-size: 9.5px;
    line-height: 1.3;
    text-align: right;
    overflow-wrap: anywhere;
}

.cycle-summary-reminder-preview[b-063bjhmyf4] {
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.58);
}

.cycle-summary-reminder-preview-header[b-063bjhmyf4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.cycle-summary-reminder-preview-title[b-063bjhmyf4] {
    color: var(--text-900, #0f172a);
    font-size: 12px;
    font-weight: 800;
}

.cycle-summary-reminder-preview-subtitle[b-063bjhmyf4] {
    margin-top: 2px;
    color: var(--text-500, #64748b);
    font-size: 10.5px;
}

.cycle-summary-reminder-preview-grid[b-063bjhmyf4] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    margin-top: 10px;
}

.cycle-summary-reminder-preview-field[b-063bjhmyf4] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cycle-summary-reminder-preview-field--full[b-063bjhmyf4] {
    grid-column: 1 / -1;
}

.cycle-summary-reminder-preview-label[b-063bjhmyf4] {
    color: var(--text-500, #64748b);
    font-size: 9.5px;
    font-weight: 750;
    text-transform: uppercase;
}

.cycle-summary-reminder-preview-value[b-063bjhmyf4] {
    color: var(--text-800, #1e293b);
    font-size: 11px;
    font-weight: 650;
}

.cycle-summary-reminder-preview-message[b-063bjhmyf4] {
    padding: 8px 9px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 7px;
    background: #fff;
    color: var(--text-700, #334155);
    font-size: 11px;
    line-height: 1.45;
}

.cycle-summary-reminder-preview-actions[b-063bjhmyf4] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 10px;
}

/* Missed Manufacturer Deadline */
/* ---------------------------------------------------------
   Provides WAM Admin resolution controls after a Manufacturer
   Promotion entry response deadline has passed.
   --------------------------------------------------------- */

.cycle-summary-missed-deadline-panel[b-063bjhmyf4] {
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(220, 38, 38, 0.22);
    border-radius: 10px;
    background: rgba(254, 242, 242, 0.62);
}

.cycle-summary-missed-deadline-warning[b-063bjhmyf4] {
    margin-top: 8px;
    padding: 8px 9px;
    border: 1px solid rgba(220, 38, 38, 0.18);
    border-radius: 7px;
    background: #fff;
    color: #991b1b;
    font-size: 10.5px;
    line-height: 1.4;
}

/* Distributor Release Override */
/* ---------------------------------------------------------
   Highlights the WAM Admin confirmation required to allow
   Distributor release while a Manufacturer obligation remains incomplete.
   --------------------------------------------------------- */

.cycle-summary-release-override-panel[b-063bjhmyf4] {
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.58);
}

.cycle-summary-release-override-warning[b-063bjhmyf4] {
    margin-top: 8px;
    padding: 8px 9px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 7px;
    background: #fff;
    color: var(--text-700, #334155);
    font-size: 10.5px;
    line-height: 1.4;
}

/* =====================================
   Cycle Summary Responsive Behavior
   ---------------------------------------------------------
   Stacks the operational panels and footer controls on
   smaller viewports while preserving internal scrolling.
   ===================================== */

@media (max-width: 900px) {
    .cycle-summary-shell[b-063bjhmyf4] {
        padding: 14px;
    }

    .cycle-summary-card[b-063bjhmyf4] {
        width: calc(100vw - 28px);
        max-height: calc(100vh - 28px);
    }

    .cycle-summary-operational-grid[b-063bjhmyf4] {
        grid-template-columns: 1fr;
    }

    .cycle-summary-panel-header-actions[b-063bjhmyf4] {
        gap: 8px;
    }

    .cycle-summary-section-link[b-063bjhmyf4] {
        font-size: 10.5px;
    }

    .cycle-summary-date-grid[b-063bjhmyf4] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cycle-summary-obligation-header[b-063bjhmyf4] {
        align-items: flex-start;
        flex-direction: column;
    }

    .cycle-summary-obligation-summary[b-063bjhmyf4] {
        width: 100%;
    }

    .cycle-summary-admin-obligation-row[b-063bjhmyf4] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cycle-summary-admin-obligation-state[b-063bjhmyf4] {
        justify-content: flex-start;
    }

    .cycle-summary-admin-obligation-state[b-063bjhmyf4] {
        align-items: flex-start;
    }

    .cycle-summary-admin-reminder-actions[b-063bjhmyf4] {
        justify-content: flex-start;
    }

    .cycle-summary-admin-reminder-history[b-063bjhmyf4] {
        text-align: left;
    }

    .cycle-summary-release-override-meta[b-063bjhmyf4],
    .cycle-summary-release-override-reason[b-063bjhmyf4] {
        text-align: left;
    }
}

@media (max-width: 620px) {
    .cycle-summary-date-grid[b-063bjhmyf4] {
        grid-template-columns: 1fr;
    }

    .cycle-summary-obligation-summary[b-063bjhmyf4] {
        grid-template-columns: 1fr;
    }

    .cycle-summary-admin-obligation-row[b-063bjhmyf4] {
        grid-template-columns: 1fr;
    }

    .cycle-summary-reminder-preview-grid[b-063bjhmyf4] {
        grid-template-columns: 1fr;
    }

    .cycle-summary-reminder-preview-field--full[b-063bjhmyf4] {
        grid-column: auto;
    }
}
/* /Components/Shared/PromotionCycles/PromotionScheduleRolloverModal.razor.rz.scp.css */
/* Fiscal Year Smart Rollover Modal */
/* ---------------------------------------------------------
   Controls the fixed-height Fiscal Year rollover preview,
   internal review scrolling, warning acknowledgement, and
   stable modal actions.
   --------------------------------------------------------- */

.promotion-schedule-rollover-backdrop[b-ptluhqx4k9] {
    position: fixed;
    inset: 0;
    z-index: 1065;
    background: rgba(15, 23, 42, 0.48);
}

.promotion-schedule-rollover-modal[b-ptluhqx4k9] {
    position: fixed;
    inset: 0;
    z-index: 1070;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.promotion-schedule-rollover-card[b-ptluhqx4k9] {
    width: min(1120px, calc(100vw - 48px));
    height: min(840px, calc(100vh - 48px));
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.22);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.24);
    overflow: hidden;
    pointer-events: auto;
}

.promotion-schedule-rollover-header[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 17px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.14);
}

.promotion-schedule-rollover-title[b-ptluhqx4k9] {
    margin: 0;
    color: var(--text-900);
    font-size: 18px;
    font-weight: 800;
}

.promotion-schedule-rollover-subtitle[b-ptluhqx4k9] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-schedule-rollover-body[b-ptluhqx4k9] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 14px 16px;
    overflow: hidden;
}

.promotion-schedule-rollover-state[b-ptluhqx4k9] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--text-600);
    font-size: 13px;
}

/* Source and Target Context */
/* ---------------------------------------------------------
   Displays the source and target Fiscal Years without adding
   vertical pressure to the rollover review workspace.
   --------------------------------------------------------- */

.promotion-schedule-rollover-context[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.promotion-schedule-rollover-context-item[b-ptluhqx4k9] {
    min-width: 0;
    display: grid;
    gap: 2px;
    padding: 9px 11px;
    border: 1px solid rgba(100, 116, 139, 0.15);
    border-radius: 10px;
    background: #f8fafc;
}

.promotion-schedule-rollover-context-item--target[b-ptluhqx4k9] {
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(239, 246, 255, 0.68);
}

.promotion-schedule-rollover-context-item strong[b-ptluhqx4k9] {
    overflow: hidden;
    color: var(--text-900);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-schedule-rollover-context-item > span:last-child[b-ptluhqx4k9] {
    color: var(--text-500);
    font-size: 11px;
}

.promotion-schedule-rollover-context-label[b-ptluhqx4k9] {
    color: var(--text-500);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.promotion-schedule-rollover-direction[b-ptluhqx4k9] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 17px;
}

.promotion-schedule-rollover-notice[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 11px;
    color: #1e3a8a;
    font-size: 11px;
    font-weight: 650;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.68);
}

/* Rollover Summary */
/* ---------------------------------------------------------
   Provides compact at-a-glance counts before the detailed
   book-period and schedule-date review.
   --------------------------------------------------------- */

.promotion-schedule-rollover-summary[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 7px;
}

.promotion-schedule-rollover-summary-item--optional[b-ptluhqx4k9] {
    border-color: #cbd5e1;
    background: #f8fafc;
}

    .promotion-schedule-rollover-summary-item--optional strong[b-ptluhqx4k9] {
        color: #475569;
    }

.promotion-schedule-rollover-summary-item[b-ptluhqx4k9] {
    min-width: 0;
    padding: 8px 9px;
    text-align: center;
    border: 1px solid rgba(100, 116, 139, 0.14);
    border-radius: 9px;
    background: #f8fafc;
}

    .promotion-schedule-rollover-summary-item strong[b-ptluhqx4k9] {
        display: block;
        color: var(--text-900);
        font-size: 17px;
        line-height: 1;
    }

    .promotion-schedule-rollover-summary-item span[b-ptluhqx4k9] {
        display: block;
        margin-top: 4px;
        overflow: hidden;
        color: var(--text-500);
        font-size: 9px;
        font-weight: 750;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.promotion-schedule-rollover-summary-item--warning[b-ptluhqx4k9] {
    border-color: #fde68a;
    background: #fffbeb;
}

    .promotion-schedule-rollover-summary-item--warning strong[b-ptluhqx4k9] {
        color: #92400e;
    }

.promotion-schedule-rollover-summary-item--error[b-ptluhqx4k9] {
    border-color: #fecaca;
    background: #fef2f2;
}

    .promotion-schedule-rollover-summary-item--error strong[b-ptluhqx4k9] {
        color: #991b1b;
    }

/* Rollover Issues */
/* ---------------------------------------------------------
   Keeps errors and warnings visible while limiting the issue
   list height and preserving the detailed review workspace.
   --------------------------------------------------------- */

.promotion-schedule-rollover-issues[b-ptluhqx4k9] {
    flex: 0 0 auto;
    max-height: 138px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 10px;
    overflow: hidden;
}

.promotion-schedule-rollover-section-header[b-ptluhqx4k9] {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    background: #f8fafc;
}

.promotion-schedule-rollover-section-title[b-ptluhqx4k9] {
    color: var(--text-900);
    font-size: 11px;
    font-weight: 850;
}

.promotion-schedule-rollover-section-subtitle[b-ptluhqx4k9] {
    margin-top: 1px;
    color: var(--text-500);
    font-size: 9px;
}

.promotion-schedule-rollover-issue-list[b-ptluhqx4k9] {
    min-height: 0;
    padding: 4px 10px;
    overflow-y: auto;
}

.promotion-schedule-rollover-issue[b-ptluhqx4k9] {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: baseline;
    gap: 7px;
    padding: 4px 0;
    color: var(--text-700);
    font-size: 10px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.08);
}

    .promotion-schedule-rollover-issue:last-child[b-ptluhqx4k9] {
        border-bottom: 0;
    }

.promotion-schedule-rollover-issue-severity[b-ptluhqx4k9] {
    display: inline-flex;
    justify-content: center;
    padding: 2px 5px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 850;
    text-transform: uppercase;
}

.promotion-schedule-rollover-issue--error .promotion-schedule-rollover-issue-severity[b-ptluhqx4k9] {
    color: #991b1b;
    border: 1px solid #fecaca;
    background: #fef2f2;
}

.promotion-schedule-rollover-issue--warning .promotion-schedule-rollover-issue-severity[b-ptluhqx4k9] {
    color: #92400e;
    border: 1px solid #fde68a;
    background: #fffbeb;
}

.promotion-schedule-rollover-issue--information .promotion-schedule-rollover-issue-severity[b-ptluhqx4k9] {
    color: #1e40af;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
}

/* Rollover Detail Review */
/* ---------------------------------------------------------
   Keeps tabs and actions stable while the selected detail
   table owns vertical and horizontal scrolling.
   --------------------------------------------------------- */

.promotion-schedule-rollover-review[b-ptluhqx4k9] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 11px;
    overflow: hidden;
}

.promotion-schedule-rollover-tabs[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 6px 7px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    background: #f8fafc;
}

.promotion-schedule-rollover-tab[b-ptluhqx4k9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 9px;
    color: var(--text-600);
    font-size: 10px;
    font-weight: 750;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
}

    .promotion-schedule-rollover-tab:hover[b-ptluhqx4k9] {
        color: var(--text-900);
        background: #fff;
    }

.promotion-schedule-rollover-tab--active[b-ptluhqx4k9] {
    color: #1d4ed8;
    border-color: #bfdbfe;
    background: #fff;
}

.promotion-schedule-rollover-tab span[b-ptluhqx4k9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    color: #475569;
    font-size: 8px;
    background: #e2e8f0;
}

.promotion-schedule-rollover-table-region[b-ptluhqx4k9] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.promotion-schedule-rollover-table[b-ptluhqx4k9] {
    min-width: 980px;
    margin: 0;
    font-size: 10px;
}

.promotion-schedule-rollover-date-table[b-ptluhqx4k9] {
    min-width: 1060px;
}

.promotion-schedule-rollover-table thead th[b-ptluhqx4k9] {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 7px 9px;
    color: var(--text-700);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border-200);
    background: #f8fafc;
}

.promotion-schedule-rollover-table tbody td[b-ptluhqx4k9] {
    padding: 7px 9px;
    color: var(--text-700);
    vertical-align: middle;
    border-bottom: 1px solid rgba(100, 116, 139, 0.09);
}

.promotion-schedule-rollover-result-badge[b-ptluhqx4k9],
.promotion-schedule-rollover-date-status[b-ptluhqx4k9] {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 850;
    white-space: nowrap;
}

.promotion-schedule-rollover-result-badge[b-ptluhqx4k9],
.promotion-schedule-rollover-date-status--ready[b-ptluhqx4k9] {
    color: #166534;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}

.promotion-schedule-rollover-date-status--manual[b-ptluhqx4k9] {
    color: #92400e;
    border: 1px solid #fde68a;
    background: #fffbeb;
}

.promotion-schedule-rollover-date-status--optional[b-ptluhqx4k9] {
    color: #475569;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
}

.promotion-schedule-rollover-date-status--error[b-ptluhqx4k9] {
    color: #991b1b;
    border: 1px solid #fecaca;
    background: #fef2f2;
}

.promotion-schedule-rollover-manual-value[b-ptluhqx4k9] {
    color: #92400e;
    font-weight: 750;
}

/* Rollover Confirmation */
/* ---------------------------------------------------------
   Keeps warning acknowledgement visible above stable footer
   actions before the atomic database operation begins.
   --------------------------------------------------------- */

.promotion-schedule-rollover-acknowledgement[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 10px;
    color: #78350f;
    font-size: 10px;
    font-weight: 650;
    border: 1px solid #fde68a;
    border-radius: 9px;
    background: #fffbeb;
    cursor: pointer;
}

.promotion-schedule-rollover-footer[b-ptluhqx4k9] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    border-top: 1px solid rgba(100, 116, 139, 0.14);
    background: #fbfcfe;
}

.promotion-schedule-rollover-footer-actions[b-ptluhqx4k9] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 900px) {
    .promotion-schedule-rollover-summary[b-ptluhqx4k9] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .promotion-schedule-rollover-card[b-ptluhqx4k9] {
        width: calc(100vw - 28px);
        height: calc(100vh - 28px);
    }

    .promotion-schedule-rollover-modal[b-ptluhqx4k9] {
        padding: 14px;
    }
}
/* /Components/Shared/PromotionCycles/PromotionScheduleSourcePreviewModal.razor.rz.scp.css */
/* Source Schedule Preview Modal */
/* ---------------------------------------------------------
   Controls the controlled 2027 source-date review, conflict
   resolution, existing-value confirmation, and internal matrix
   scrolling. The browser page remains fixed while the modal is open.
   --------------------------------------------------------- */

.promotion-source-preview-backdrop[b-rs0ubu4m0r] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    background: rgba(15, 23, 42, 0.54);
}

.promotion-source-preview-shell[b-rs0ubu4m0r] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    pointer-events: none;
}

.promotion-source-preview-card[b-rs0ubu4m0r] {
    width: min(1360px, calc(100vw - 44px));
    height: min(860px, calc(100vh - 44px));
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.24);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 24px 65px rgba(15, 23, 42, 0.3);
    overflow: hidden;
    pointer-events: auto;
}

.promotion-source-preview-header[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.14);
}

.promotion-source-preview-heading[b-rs0ubu4m0r] {
    min-width: 0;
}

.promotion-source-preview-title[b-rs0ubu4m0r] {
    margin: 0;
    color: var(--text-900);
    font-size: 19px;
    font-weight: 850;
}

.promotion-source-preview-subtitle[b-rs0ubu4m0r] {
    margin-top: 3px;
    color: var(--text-600);
    font-size: 12px;
    font-weight: 650;
}

.promotion-source-preview-version[b-rs0ubu4m0r] {
    margin-top: 2px;
    color: var(--text-500);
    font-size: 10px;
}

.promotion-source-preview-body[b-rs0ubu4m0r] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.promotion-source-preview-state[b-rs0ubu4m0r] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: var(--text-600);
    font-size: 13px;
}

.promotion-source-preview-error[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    margin: 10px 14px 0;
}

.promotion-source-preview-notice[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 14px;
    color: #334155;
    font-size: 12px;
    border-bottom: 1px solid rgba(59, 130, 246, 0.15);
    background: rgba(239, 246, 255, 0.62);
}

.promotion-source-preview-summary[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 7px;
    padding: 9px 14px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    background: #fbfcfe;
}

.promotion-source-preview-summary-item[b-rs0ubu4m0r] {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 7px 9px;
    border: 1px solid rgba(100, 116, 139, 0.13);
    border-radius: 9px;
    background: #fff;
}

.promotion-source-preview-summary-item--optional[b-rs0ubu4m0r] {
    border-color: rgba(100, 116, 139, 0.2);
    background: #f8fafc;
}

.promotion-source-preview-summary-value[b-rs0ubu4m0r] {
    color: var(--text-900);
    font-size: 16px;
    line-height: 1;
    font-weight: 850;
}

.promotion-source-preview-summary-label[b-rs0ubu4m0r] {
    overflow: hidden;
    color: var(--text-500);
    font-size: 10px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-source-preview-action-alert[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 14px;
    color: #92400e;
    font-size: 11px;
    border-bottom: 1px solid rgba(217, 119, 6, 0.18);
    background: rgba(255, 251, 235, 0.88);
}

.promotion-source-preview-table-region[b-rs0ubu4m0r] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.promotion-source-preview-table[b-rs0ubu4m0r] {
    width: max-content;
    min-width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

    .promotion-source-preview-table th[b-rs0ubu4m0r],
    .promotion-source-preview-table td[b-rs0ubu4m0r] {
        border-right: 1px solid rgba(100, 116, 139, 0.12);
        border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    }

.promotion-source-preview-target-header[b-rs0ubu4m0r] {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 7;
    width: 258px;
    min-width: 258px;
    padding: 10px 12px;
    color: var(--text-700);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    background: #f8fafc;
}

.promotion-source-preview-period-header[b-rs0ubu4m0r] {
    position: sticky;
    top: 0;
    z-index: 5;
    width: 168px;
    min-width: 168px;
    padding: 8px;
    text-align: center;
    background: #f8fafc;
}

.promotion-source-preview-period-month[b-rs0ubu4m0r] {
    display: block;
    color: var(--text-900);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.promotion-source-preview-period-year[b-rs0ubu4m0r] {
    display: block;
    margin-top: 1px;
    color: var(--text-500);
    font-size: 10px;
    font-weight: 700;
}

.promotion-source-preview-target[b-rs0ubu4m0r] {
    position: sticky;
    left: 0;
    z-index: 4;
    width: 258px;
    min-width: 258px;
    padding: 9px 11px;
    text-align: left;
    background: #fff;
}

.promotion-source-preview-target-name[b-rs0ubu4m0r] {
    display: block;
    color: var(--text-900);
    font-size: 11px;
    font-weight: 800;
}

.promotion-source-preview-target-type[b-rs0ubu4m0r] {
    display: inline-flex;
    margin-top: 4px;
    padding: 2px 6px;
    color: #475569;
    font-size: 8px;
    font-weight: 850;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    text-transform: uppercase;
}

.promotion-source-preview-target-note[b-rs0ubu4m0r] {
    display: block;
    margin-top: 5px;
    color: var(--text-500);
    font-size: 9px;
    line-height: 1.35;
    font-weight: 550;
}

.promotion-source-preview-cell[b-rs0ubu4m0r] {
    width: 168px;
    min-width: 168px;
    padding: 7px;
    vertical-align: top;
    background: #fff;
}

.promotion-source-preview-cell--conflict[b-rs0ubu4m0r] {
    background: rgba(254, 242, 242, 0.72);
}

.promotion-source-preview-cell--resolved[b-rs0ubu4m0r] {
    background: rgba(240, 253, 244, 0.7);
}

.promotion-source-preview-cell--difference[b-rs0ubu4m0r] {
    background: rgba(255, 251, 235, 0.74);
}

.promotion-source-preview-cell--match[b-rs0ubu4m0r] {
    background: rgba(240, 253, 244, 0.45);
}

.promotion-source-preview-cell--manual[b-rs0ubu4m0r] {
    background: #f8fafc;
}

.promotion-source-preview-select[b-rs0ubu4m0r] {
    width: 100%;
    min-height: 30px;
    padding: 4px 23px 4px 6px;
    font-size: 10px;
}

.promotion-source-preview-proposed-date[b-rs0ubu4m0r] {
    color: var(--text-900);
    font-size: 11px;
    font-weight: 800;
}

.promotion-source-preview-source-name[b-rs0ubu4m0r],
.promotion-source-preview-existing-date[b-rs0ubu4m0r],
.promotion-source-preview-current-value[b-rs0ubu4m0r] {
    display: block;
    margin-top: 2px;
    color: var(--text-500);
    font-size: 9px;
    line-height: 1.25;
}

.promotion-source-preview-status[b-rs0ubu4m0r] {
    display: inline-flex;
    margin-top: 5px;
    padding: 2px 6px;
    font-size: 8px;
    line-height: 1;
    font-weight: 850;
    border-radius: 999px;
    text-transform: uppercase;
}

.promotion-source-preview-status--ready[b-rs0ubu4m0r] {
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
}

.promotion-source-preview-status--conflict[b-rs0ubu4m0r] {
    color: #991b1b;
    border: 1px solid #fecaca;
    background: #fef2f2;
}

.promotion-source-preview-status--resolved[b-rs0ubu4m0r],
.promotion-source-preview-status--match[b-rs0ubu4m0r] {
    color: #166534;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}

.promotion-source-preview-status--difference[b-rs0ubu4m0r] {
    color: #92400e;
    border: 1px solid #fde68a;
    background: #fffbeb;
}

.promotion-source-preview-status--manual[b-rs0ubu4m0r] {
    color: #475569;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
}

.promotion-source-preview-status--optional[b-rs0ubu4m0r] {
    color: #475569;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
}

.promotion-source-preview-replace-option[b-rs0ubu4m0r] {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin-top: 6px;
    color: #92400e;
    font-size: 9px;
    font-weight: 750;
    cursor: pointer;
}

    .promotion-source-preview-replace-option .form-check-input[b-rs0ubu4m0r] {
        flex: 0 0 auto;
        margin-top: 1px;
    }

.promotion-source-preview-manual[b-rs0ubu4m0r] {
    display: flex;
    flex-direction: column;
}

.promotion-source-preview-manual-label[b-rs0ubu4m0r] {
    color: #475569;
    font-size: 10px;
    font-weight: 800;
}

.promotion-source-preview-footnote[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    padding: 8px 14px;
    color: var(--text-500);
    font-size: 10px;
    border-top: 1px solid rgba(100, 116, 139, 0.12);
    background: #fbfcfe;
}

.promotion-source-preview-footer[b-rs0ubu4m0r] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding: 11px 17px;
    border-top: 1px solid rgba(100, 116, 139, 0.14);
    background: #fbfcfe;
}

@media (max-width: 900px) {
    .promotion-source-preview-shell[b-rs0ubu4m0r] {
        padding: 10px;
    }

    .promotion-source-preview-card[b-rs0ubu4m0r] {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
    }

    .promotion-source-preview-summary[b-rs0ubu4m0r] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Shared/PromotionCycles/PromotionScheduleYearWorkspace.razor.rz.scp.css */
/* Annual Schedule Workspace */
/* ---------------------------------------------------------
   Controls Fiscal Year selection, cycle-generation preview,
   fixed-height scrolling, modal shells, and schedule statuses.
   --------------------------------------------------------- */

.promotion-schedule-year-workspace[b-qdl0we0gvs] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    overflow: hidden;
}

.promotion-schedule-year-state[b-qdl0we0gvs] {
    padding: 18px;
    color: var(--text-600);
}

.promotion-schedule-year-toolbar[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding: 12px;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--shadow-1);
}

.promotion-schedule-year-selector[b-qdl0we0gvs] {
    width: min(420px, 100%);
}

.promotion-schedule-year-label[b-qdl0we0gvs] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 700;
}

.promotion-schedule-year-select[b-qdl0we0gvs] {
    min-height: 38px;
}

.promotion-schedule-year-toolbar-actions[b-qdl0we0gvs] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.promotion-schedule-year-rollover-button[b-qdl0we0gvs] {
    min-width: 178px;
}

.promotion-schedule-year-success[b-qdl0we0gvs] {
    flex: 0 0 auto;
    padding: 10px 12px;
    border: 1px solid rgba(22, 163, 74, 0.24);
    border-radius: 11px;
    background: rgba(22, 163, 74, 0.06);
}

.promotion-schedule-year-success-title[b-qdl0we0gvs] {
    color: #166534;
    font-size: 13px;
    font-weight: 800;
}

.promotion-schedule-year-success-copy[b-qdl0we0gvs] {
    margin-top: 2px;
    color: #3f6212;
    font-size: 12px;
}

.promotion-schedule-year-empty[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 30px;
    text-align: center;
    border: 1px dashed rgba(100, 116, 139, 0.32);
    border-radius: 15px;
    background: #fbfcfe;
}

.promotion-schedule-year-empty-icon[b-qdl0we0gvs] {
    color: #64748b;
    font-size: 28px;
}

.promotion-schedule-year-empty-title[b-qdl0we0gvs] {
    color: var(--text-900);
    font-size: 17px;
    font-weight: 800;
}

.promotion-schedule-year-empty-copy[b-qdl0we0gvs] {
    max-width: 520px;
    color: var(--text-500);
    font-size: 13px;
}

.promotion-schedule-year-overview[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--shadow-1);
}

.promotion-schedule-year-overview-main[b-qdl0we0gvs] {
    min-width: 0;
}

.promotion-schedule-year-overview-title-row[b-qdl0we0gvs] {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.promotion-schedule-year-overview-title[b-qdl0we0gvs] {
    margin: 0;
    color: var(--text-900);
    font-size: 17px;
    font-weight: 800;
}

.promotion-schedule-year-overview-range[b-qdl0we0gvs] {
    margin-top: 4px;
    color: var(--text-600);
    font-size: 13px;
    font-weight: 600;
}

.promotion-schedule-year-overview-description[b-qdl0we0gvs] {
    margin-top: 4px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-schedule-year-overview-metrics[b-qdl0we0gvs] {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.promotion-schedule-year-metric[b-qdl0we0gvs] {
    min-width: 112px;
    padding: 8px 12px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 10px;
    background: #f8fafc;
    text-align: center;
}

.promotion-schedule-year-metric-value[b-qdl0we0gvs] {
    display: block;
    color: var(--text-900);
    font-size: 18px;
    line-height: 1.1;
    font-weight: 800;
}

.promotion-schedule-year-metric-label[b-qdl0we0gvs] {
    display: block;
    margin-top: 4px;
    color: var(--text-500);
    font-size: 11px;
    font-weight: 700;
}

.promotion-schedule-year-status[b-qdl0we0gvs],
.promotion-schedule-year-action[b-qdl0we0gvs] {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

.promotion-schedule-year-status--draft[b-qdl0we0gvs] {
    color: #92400e;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}

.promotion-schedule-year-status--published[b-qdl0we0gvs] {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.promotion-schedule-year-status--archived[b-qdl0we0gvs] {
    color: #475569;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
}

/* Published Schedule Amendment Context */
/* ---------------------------------------------------------
   Keeps the amendment reason and internal context stable above
   the matrix without changing the page-level scrolling model.
   --------------------------------------------------------- */

.promotion-schedule-amendment-context[b-qdl0we0gvs] {
    flex: 0 0 auto;
    padding: 11px 13px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 13px;
    background: rgba(239, 246, 255, 0.52);
}

.promotion-schedule-amendment-context-header[b-qdl0we0gvs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.promotion-schedule-amendment-context-title[b-qdl0we0gvs] {
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 850;
}

.promotion-schedule-amendment-context-subtitle[b-qdl0we0gvs] {
    margin-top: 2px;
    color: #475569;
    font-size: 11px;
}

.promotion-schedule-amendment-context-status[b-qdl0we0gvs] {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    color: #1d4ed8;
    font-size: 10px;
    font-weight: 800;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    white-space: nowrap;
}

.promotion-schedule-amendment-context-fields[b-qdl0we0gvs] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 12px;
    margin-top: 10px;
}

    .promotion-schedule-amendment-context-fields .form-label[b-qdl0we0gvs] {
        margin-bottom: 4px;
        color: var(--text-700);
        font-size: 11px;
        font-weight: 750;
    }

.promotion-schedule-amendment-field-hint[b-qdl0we0gvs] {
    margin-top: 4px;
    color: var(--text-500);
    font-size: 10px;
}

/* Promotion Cycle Preview */
/* ---------------------------------------------------------
   Keeps the preview header and summary stable while the table
   owns vertical and horizontal scrolling.
   --------------------------------------------------------- */

.promotion-schedule-year-preview-card[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-200);
    border-radius: 15px;
    background: #fff;
    overflow: hidden;
}

.promotion-schedule-year-preview-header[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-schedule-year-preview-title[b-qdl0we0gvs] {
    margin: 0;
    color: var(--text-900);
    font-size: 16px;
    font-weight: 800;
}

.promotion-schedule-year-preview-subtitle[b-qdl0we0gvs] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-schedule-year-preview-actions[b-qdl0we0gvs] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.promotion-schedule-year-link-option[b-qdl0we0gvs] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--text-700);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.promotion-schedule-year-preview-summary[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
    background: #fbfcfe;
}

.promotion-schedule-year-summary-item[b-qdl0we0gvs] {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 7px 9px;
    border: 1px solid rgba(100, 116, 139, 0.13);
    border-radius: 9px;
    background: #fff;
}

.promotion-schedule-year-summary-value[b-qdl0we0gvs] {
    color: var(--text-900);
    font-size: 17px;
    line-height: 1;
    font-weight: 800;
}

.promotion-schedule-year-summary-label[b-qdl0we0gvs] {
    overflow: hidden;
    color: var(--text-500);
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-schedule-year-preview-state[b-qdl0we0gvs] {
    padding: 18px 14px;
    color: var(--text-600);
}

.promotion-schedule-year-conflict-alert[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    color: #991b1b;
    font-size: 12px;
    font-weight: 650;
    border-bottom: 1px solid rgba(220, 38, 38, 0.16);
    background: rgba(254, 226, 226, 0.58);
}

.promotion-schedule-year-table-region[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.promotion-schedule-year-table[b-qdl0we0gvs] {
    min-width: 960px;
    margin: 0;
    font-size: 12px;
}

    .promotion-schedule-year-table thead th[b-qdl0we0gvs] {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 9px 10px;
        color: var(--text-700);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        background: #f8fafc;
        border-bottom: 1px solid var(--border-200);
    }

    .promotion-schedule-year-table tbody td[b-qdl0we0gvs] {
        padding: 9px 10px;
        color: var(--text-700);
        vertical-align: middle;
        border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    }

    .promotion-schedule-year-table tbody tr:last-child td[b-qdl0we0gvs] {
        border-bottom: 0;
    }

.promotion-schedule-year-row--conflict td[b-qdl0we0gvs] {
    background: rgba(254, 242, 242, 0.55);
}

.promotion-schedule-year-sequence[b-qdl0we0gvs] {
    width: 74px;
    text-align: center;
    font-weight: 800;
}

.promotion-schedule-year-action--new[b-qdl0we0gvs] {
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.promotion-schedule-year-action--eligible[b-qdl0we0gvs] {
    color: #7c3aed;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
}

.promotion-schedule-year-action--linked[b-qdl0we0gvs] {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.promotion-schedule-year-action--conflict[b-qdl0we0gvs] {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
}

.promotion-schedule-year-existing-cycle[b-qdl0we0gvs],
.promotion-schedule-year-detail[b-qdl0we0gvs] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.promotion-schedule-year-existing-name[b-qdl0we0gvs] {
    color: var(--text-900);
    font-weight: 700;
}

.promotion-schedule-year-existing-meta[b-qdl0we0gvs],
.promotion-schedule-year-detail-meta[b-qdl0we0gvs],
.promotion-schedule-year-none[b-qdl0we0gvs] {
    color: var(--text-500);
    font-size: 11px;
}

/* Fiscal Year Modals */
/* ---------------------------------------------------------
   Provides compact desktop modal shells with contained body
   scrolling and stable action footers.
   --------------------------------------------------------- */

.promotion-schedule-year-modal-backdrop[b-qdl0we0gvs] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(15, 23, 42, 0.48);
}

.promotion-schedule-year-modal[b-qdl0we0gvs] {
    position: fixed;
    inset: 0;
    z-index: 1070;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.promotion-schedule-year-modal-card[b-qdl0we0gvs] {
    width: min(100%, 660px);
    max-height: min(760px, calc(100vh - 48px));
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.22);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.24);
    overflow: hidden;
    pointer-events: auto;
}

.promotion-schedule-year-create-modal-card[b-qdl0we0gvs] {
    width: min(100%, 620px);
}

.promotion-schedule-year-generation-modal-card[b-qdl0we0gvs] {
    width: min(100%, 680px);
}

.promotion-schedule-year-modal-header[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 17px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.14);
}

.promotion-schedule-year-modal-title[b-qdl0we0gvs] {
    margin: 0;
    color: var(--text-900);
    font-size: 18px;
    font-weight: 800;
}

.promotion-schedule-year-modal-subtitle[b-qdl0we0gvs] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
}

.promotion-schedule-year-modal-body[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 17px;
    overflow-y: auto;
}

.promotion-schedule-year-modal-footer[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding: 12px 17px;
    border-top: 1px solid rgba(100, 116, 139, 0.14);
    background: #fbfcfe;
}

.promotion-schedule-year-field-hint[b-qdl0we0gvs] {
    margin-top: 5px;
    color: var(--text-500);
    font-size: 11px;
}

.promotion-schedule-year-create-info[b-qdl0we0gvs] {
    margin-top: 15px;
    padding: 11px 12px;
    border: 1px solid rgba(59, 130, 246, 0.17);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.56);
}

.promotion-schedule-year-create-info-title[b-qdl0we0gvs] {
    color: #1e3a8a;
    font-size: 12px;
    font-weight: 800;
}

.promotion-schedule-year-create-info-list[b-qdl0we0gvs] {
    display: grid;
    gap: 5px;
    margin-top: 6px;
    color: #334155;
    font-size: 12px;
}

.promotion-schedule-year-confirm-summary[b-qdl0we0gvs] {
    display: grid;
    gap: 8px;
    color: var(--text-700);
    font-size: 13px;
}

.promotion-schedule-year-confirm-notice[b-qdl0we0gvs] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 15px;
    padding: 11px 12px;
    color: #334155;
    font-size: 12px;
    border: 1px solid rgba(59, 130, 246, 0.17);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.56);
}

/* Annual Schedule Validation */
/* ---------------------------------------------------------
   Displays publication readiness, blocking errors, warnings,
   and cycle-specific or milestone-specific validation details.
   --------------------------------------------------------- */

.promotion-schedule-validation-panel[b-qdl0we0gvs] {
    flex: 0 0 auto;
    max-height: 190px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(100, 116, 139, 0.2);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.promotion-schedule-validation-panel--error[b-qdl0we0gvs] {
    border-color: rgba(220, 38, 38, 0.28);
}

.promotion-schedule-validation-panel--warning[b-qdl0we0gvs] {
    border-color: rgba(217, 119, 6, 0.3);
}

.promotion-schedule-validation-panel--success[b-qdl0we0gvs] {
    border-color: rgba(22, 163, 74, 0.28);
}

.promotion-schedule-validation-header[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 13px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
}

.promotion-schedule-validation-panel--error .promotion-schedule-validation-header[b-qdl0we0gvs] {
    background: rgba(254, 242, 242, 0.75);
}

.promotion-schedule-validation-panel--warning .promotion-schedule-validation-header[b-qdl0we0gvs] {
    background: rgba(255, 251, 235, 0.8);
}

.promotion-schedule-validation-panel--success .promotion-schedule-validation-header[b-qdl0we0gvs] {
    background: rgba(240, 253, 244, 0.8);
}

.promotion-schedule-validation-title[b-qdl0we0gvs] {
    color: var(--text-900);
    font-size: 13px;
    font-weight: 850;
}

.promotion-schedule-validation-summary[b-qdl0we0gvs] {
    margin-top: 2px;
    color: var(--text-500);
    font-size: 11px;
    font-weight: 650;
}

.promotion-schedule-validation-list[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 7px 12px;
    overflow-y: auto;
}

.promotion-schedule-validation-item[b-qdl0we0gvs] {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    padding: 5px 0;
    color: var(--text-700);
    font-size: 11px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.09);
}

    .promotion-schedule-validation-item:last-child[b-qdl0we0gvs] {
        border-bottom: 0;
    }

.promotion-schedule-validation-severity[b-qdl0we0gvs] {
    display: inline-flex;
    justify-content: center;
    padding: 2px 5px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.promotion-schedule-validation-item--error .promotion-schedule-validation-severity[b-qdl0we0gvs] {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
}

.promotion-schedule-validation-item--warning .promotion-schedule-validation-severity[b-qdl0we0gvs] {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

/* Annual Schedule Publication */
/* ---------------------------------------------------------
   Controls the publication confirmation summary and explicit
   acknowledgement of non-blocking validation warnings.
   --------------------------------------------------------- */

.promotion-schedule-publication-summary[b-qdl0we0gvs] {
    display: grid;
    gap: 7px;
    margin-top: 14px;
    color: var(--text-700);
    font-size: 13px;
}

.promotion-schedule-publication-acknowledgement[b-qdl0we0gvs] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 15px;
    padding: 10px 11px;
    color: #78350f;
    font-size: 12px;
    font-weight: 650;
    border: 1px solid #fde68a;
    border-radius: 10px;
    background: #fffbeb;
    cursor: pointer;
}

/* Published Schedule Amendment Review */
/* ---------------------------------------------------------
   Provides a fixed-height impact review with stable actions and
   internally scrolling validation and before/after date details.
   --------------------------------------------------------- */

.promotion-schedule-amendment-review-modal-card[b-qdl0we0gvs] {
    width: min(1120px, calc(100vw - 48px));
    height: min(820px, calc(100vh - 48px));
}

.promotion-schedule-amendment-review-body[b-qdl0we0gvs] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.promotion-schedule-amendment-review-notice[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 11px;
    color: #1e3a8a;
    font-size: 12px;
    font-weight: 650;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.68);
}

.promotion-schedule-amendment-summary-grid[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.promotion-schedule-amendment-summary-item[b-qdl0we0gvs] {
    min-width: 0;
    padding: 9px 10px;
    text-align: center;
    border: 1px solid rgba(100, 116, 139, 0.15);
    border-radius: 9px;
    background: #f8fafc;
}

    .promotion-schedule-amendment-summary-item strong[b-qdl0we0gvs] {
        display: block;
        color: var(--text-900);
        font-size: 18px;
        line-height: 1;
    }

    .promotion-schedule-amendment-summary-item span[b-qdl0we0gvs] {
        display: block;
        margin-top: 4px;
        color: var(--text-500);
        font-size: 10px;
        font-weight: 700;
    }

.promotion-schedule-amendment-review-context[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: grid;
    gap: 7px;
    padding: 10px 12px;
    color: var(--text-700);
    font-size: 12px;
    border: 1px solid rgba(100, 116, 139, 0.14);
    border-radius: 10px;
    background: #fff;
}

    .promotion-schedule-amendment-review-context > div[b-qdl0we0gvs] {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 10px;
    }

.promotion-schedule-amendment-review-label[b-qdl0we0gvs] {
    color: var(--text-500);
    font-size: 11px;
    font-weight: 750;
}

.promotion-schedule-amendment-validation[b-qdl0we0gvs] {
    flex: 0 0 auto;
    max-height: 150px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 10px;
    overflow: hidden;
}

.promotion-schedule-amendment-validation--error[b-qdl0we0gvs] {
    border-color: rgba(220, 38, 38, 0.28);
}

.promotion-schedule-amendment-validation--warning[b-qdl0we0gvs] {
    border-color: rgba(217, 119, 6, 0.3);
}

.promotion-schedule-amendment-validation-header[b-qdl0we0gvs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    color: var(--text-700);
    font-size: 11px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.12);
    background: #f8fafc;
}

.promotion-schedule-amendment-validation-list[b-qdl0we0gvs] {
    max-height: 108px;
    padding: 5px 10px;
    overflow-y: auto;
}

.promotion-schedule-amendment-validation-item[b-qdl0we0gvs] {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    padding: 4px 0;
    color: var(--text-700);
    font-size: 11px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.09);
}

    .promotion-schedule-amendment-validation-item:last-child[b-qdl0we0gvs] {
        border-bottom: 0;
    }

.promotion-schedule-amendment-change-region[b-qdl0we0gvs] {
    flex: 1 1 auto;
    min-height: 190px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 10px;
    overflow: auto;
}

.promotion-schedule-amendment-change-table[b-qdl0we0gvs] {
    min-width: 860px;
    margin: 0;
    font-size: 11px;
}

    .promotion-schedule-amendment-change-table thead th[b-qdl0we0gvs] {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 8px 9px;
        color: var(--text-700);
        font-size: 10px;
        font-weight: 850;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        background: #f8fafc;
    }

    .promotion-schedule-amendment-change-table tbody td[b-qdl0we0gvs] {
        padding: 8px 9px;
        color: var(--text-700);
        vertical-align: middle;
    }

.promotion-schedule-amendment-target[b-qdl0we0gvs] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .promotion-schedule-amendment-target span[b-qdl0we0gvs] {
        color: var(--text-500);
        font-size: 10px;
    }

.promotion-schedule-amendment-direction[b-qdl0we0gvs] {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    font-size: 10px;
    font-weight: 800;
    border-radius: 999px;
    white-space: nowrap;
}

.promotion-schedule-amendment-direction--earlier[b-qdl0we0gvs] {
    color: #92400e;
    border: 1px solid #fde68a;
    background: #fffbeb;
}

.promotion-schedule-amendment-direction--later[b-qdl0we0gvs] {
    color: #1e40af;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
}

.promotion-schedule-amendment-direction--added[b-qdl0we0gvs] {
    color: #166534;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}

.promotion-schedule-amendment-direction--removed[b-qdl0we0gvs] {
    color: #991b1b;
    border: 1px solid #fecaca;
    background: #fef2f2;
}

.promotion-schedule-amendment-status-section[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: grid;
    gap: 5px;
    padding: 9px 11px;
    border: 1px solid rgba(217, 119, 6, 0.22);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.65);
}

.promotion-schedule-amendment-status-title[b-qdl0we0gvs] {
    color: #78350f;
    font-size: 11px;
    font-weight: 850;
}

.promotion-schedule-amendment-status-row[b-qdl0we0gvs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #78350f;
    font-size: 11px;
}

    .promotion-schedule-amendment-status-row span[b-qdl0we0gvs] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

.promotion-schedule-amendment-acknowledgement[b-qdl0we0gvs] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 11px;
    color: #78350f;
    font-size: 12px;
    font-weight: 650;
    border: 1px solid #fde68a;
    border-radius: 10px;
    background: #fffbeb;
    cursor: pointer;
}

@container promotion-cycles-page (max-width: 900px) {
    .promotion-schedule-year-toolbar[b-qdl0we0gvs],
    .promotion-schedule-year-overview[b-qdl0we0gvs],
    .promotion-schedule-year-preview-header[b-qdl0we0gvs] {
        align-items: stretch;
        flex-direction: column;
    }

    .promotion-schedule-year-selector[b-qdl0we0gvs] {
        width: 100%;
    }

    .promotion-schedule-year-toolbar-actions[b-qdl0we0gvs],
    .promotion-schedule-year-preview-actions[b-qdl0we0gvs] {
        justify-content: flex-start;
    }

    .promotion-schedule-year-overview-metrics[b-qdl0we0gvs] {
        width: 100%;
    }

    .promotion-schedule-year-metric[b-qdl0we0gvs] {
        flex: 1 1 0;
    }

    .promotion-schedule-year-preview-summary[b-qdl0we0gvs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .promotion-schedule-amendment-context-fields[b-qdl0we0gvs] {
        grid-template-columns: 1fr;
    }

    .promotion-schedule-amendment-summary-grid[b-qdl0we0gvs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Shared/Promotions/DistributorPricingDetailShared.razor.rz.scp.css */
/* Distributor Pricing Detail shared styles */
/* ---------------------------------------------------------
   Shared visual layer for WAM Admin and Distributor Promotion
   Pricing detail pages. Parent pages own workflow actions.
   --------------------------------------------------------- */

/* Page shell and shared cards */
/* ---------------------------------------------------------
   Establishes the fixed-height pricing workspace and reusable
   card shells for overview and pricing item sections.
   --------------------------------------------------------- */

.pricing-detail-root[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.pricing-detail-items-card[b-9z37fdyvu1] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.pricing-detail-items-card--prepack[b-9z37fdyvu1] {
    flex: 1 1 auto;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
}

.pricing-detail-card[b-9z37fdyvu1] {
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 12px;
  overflow: hidden;
}

.pricing-detail-summary-card-grid[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.pricing-detail-context-card[b-9z37fdyvu1],
.pricing-detail-workflow-card[b-9z37fdyvu1] {
  min-width: 0;
  min-height: auto;
}

.pricing-detail-context-header[b-9z37fdyvu1] {
  min-height: 27px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 10px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.12);
  background: #f1f5f9;
}

.pricing-detail-workflow-header[b-9z37fdyvu1] {
  background: #effaf8;
}

.pricing-detail-context-title[b-9z37fdyvu1] {
  color: var(--text-600, #64748b);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.pricing-detail-context-body[b-9z37fdyvu1] {
  padding: 8px 12px 9px;
}

.pricing-detail-context-card .pricing-detail-context-body[b-9z37fdyvu1],
.pricing-detail-workflow-card .pricing-detail-context-body[b-9z37fdyvu1] {
  min-height: 82px;
}

.pricing-detail-context-grid[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(72px, 0.35fr);
  gap: 0;
  margin-top: 8px;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(216, 226, 232, 0.10);
}

  .pricing-detail-context-grid .pricing-detail-field[b-9z37fdyvu1] {
    min-width: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: transparent;
  }

    .pricing-detail-context-grid .pricing-detail-field + .pricing-detail-field[b-9z37fdyvu1] {
      border-left: 1px solid rgba(25, 35, 68, 0.10);
    }

  .pricing-detail-context-grid .pricing-detail-label[b-9z37fdyvu1] {
    min-height: 28px;
    margin-bottom: 0;
    padding: 5px 10px 4px 10px;
    display: flex;
    align-items: center;
    background: rgba(117, 140, 167, 0.07);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    color: var(--text-500, #64748b);
    font-size: 10px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .pricing-detail-context-grid .pricing-detail-value[b-9z37fdyvu1] {
    min-width: 0;
    padding: 10px 10px 9px 10px;
    color: var(--text-900, #0f2147);
    font-size: 12px;
    line-height: 1.18;
    font-weight: 500;
    overflow-wrap: normal;
    word-break: normal;
  }

.pricing-detail-workflow-message[b-9z37fdyvu1] {
  margin-bottom: 1px;
  color: var(--text-900, #0f2147);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.pricing-detail-workflow-stage[b-9z37fdyvu1] {
    color: var(--text-600, #64748b);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
}

.pricing-detail-workflow-review-grid[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  margin-top: 8px;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(216, 226, 232, 0.10);
}

.pricing-detail-workflow-review-cell[b-9z37fdyvu1] {
  min-width: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: transparent;
}

  .pricing-detail-workflow-review-cell + .pricing-detail-workflow-review-cell[b-9z37fdyvu1] {
    border-left: 1px solid rgba(25, 35, 68, 0.10);
  }

.pricing-detail-workflow-review-header[b-9z37fdyvu1] {
  min-height: 28px;
  margin-bottom: 0;
  padding: 5px 10px 4px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: rgba(91, 196, 191, 0.08);
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  color: var(--text-500, #64748b);
  font-size: 10px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.pricing-detail-workflow-review-value[b-9z37fdyvu1] {
  min-width: 0;
  padding: 10px 10px 9px 10px;
  color: var(--text-900, #0f2147);
  font-size: 12px;
  line-height: 1.18;
  font-weight: 500;
  overflow-wrap: normal;
  word-break: normal;
}

.pricing-detail-workflow-link[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--link-600, #2563eb);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}

  .pricing-detail-workflow-link i[b-9z37fdyvu1] {
    font-size: 10px;
    line-height: 1;
  }

  .pricing-detail-workflow-link:hover:not(:disabled) span[b-9z37fdyvu1] {
    text-decoration: underline;
  }

  .pricing-detail-workflow-link:disabled[b-9z37fdyvu1] {
    color: var(--text-500, #94a3b8);
    cursor: not-allowed;
  }

  .pricing-detail-workflow-link:focus[b-9z37fdyvu1],
  .pricing-detail-workflow-link:focus-visible[b-9z37fdyvu1],
  .pricing-detail-workflow-link:active[b-9z37fdyvu1] {
    outline: 0;
    border: 0;
    box-shadow: none;
  }

.pricing-detail-promotion-title[b-9z37fdyvu1] {
  margin: 0;
  color: var(--text-900, #0f2147);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.pricing-detail-cycle-name[b-9z37fdyvu1] {
    margin-top: 2px;
    color: var(--text-600, #64748b);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
}

.pricing-detail-context-title-line[b-9z37fdyvu1] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.pricing-detail-promo-period-inline[b-9z37fdyvu1] {
  flex: 0 0 auto;
  color: var(--text-700, #334155);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

  .pricing-detail-promo-period-inline[b-9z37fdyvu1]::before {
    content: "·";
    margin-right: 8px;
    color: var(--text-500, #94a3b8);
  }

.pricing-detail-muted[b-9z37fdyvu1] {
  color: var(--text-600, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

.pricing-detail-small[b-9z37fdyvu1] {
  font-size: 12px;
}

.pricing-detail-summary-grid[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 9px 12px 10px;
}

.pricing-detail-label[b-9z37fdyvu1] {
  color: var(--text-600, #64748b);
  font-size: 12px;
  line-height: 1.25;
  margin-bottom: 4px;
}

/* Field labels and information tooltips */
/* ---------------------------------------------------------
   Provides compact field guidance while preserving the dense
   Promotion Pricing row layout.
   --------------------------------------------------------- */
.pricing-detail-label--with-info[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}

.pricing-detail-field-info[b-9z37fdyvu1] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-500, #94a3b8);
  font-size: 11px;
  line-height: 1;
  cursor: help;
}

  .pricing-detail-field-info:hover[b-9z37fdyvu1],
  .pricing-detail-field-info:focus[b-9z37fdyvu1] {
    color: var(--brand-600, #2563eb);
  }

  .pricing-detail-field-info:focus[b-9z37fdyvu1] {
    outline: none;
  }

  .pricing-detail-field-info[b-9z37fdyvu1]::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    z-index: 80;
    width: max-content;
    max-width: 285px;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 10px;
    background: #fff8e6;
    color: #475569;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
    white-space: normal;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px);
    transition: opacity 0.12s ease, transform 0.12s ease;
  }

  .pricing-detail-field-info[b-9z37fdyvu1]::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 3px);
    z-index: 81;
    width: 10px;
    height: 10px;
    border-right: 1px solid rgba(245, 158, 11, 0.30);
    border-bottom: 1px solid rgba(245, 158, 11, 0.30);
    background: #fff8e6;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px) rotate(45deg);
    transition: opacity 0.12s ease, transform 0.12s ease;
  }

  .pricing-detail-field-info:hover[b-9z37fdyvu1]::after,
  .pricing-detail-field-info:focus[b-9z37fdyvu1]::after,
  .pricing-detail-field-info:hover[b-9z37fdyvu1]::before,
  .pricing-detail-field-info:focus[b-9z37fdyvu1]::before {
    opacity: 1;
    transform: translate(-50%, 0);
  }

.pricing-detail-field-info--align-right[b-9z37fdyvu1]::after {
  right: 0;
  left: auto;
  transform: translate(0, 4px);
}

.pricing-detail-field-info--align-right[b-9z37fdyvu1]::before {
  right: 2px;
  left: auto;
  transform: translate(0, 4px) rotate(45deg);
}

.pricing-detail-field-info--align-right:hover[b-9z37fdyvu1]::after,
.pricing-detail-field-info--align-right:focus[b-9z37fdyvu1]::after {
  transform: translate(0, 0);
}

.pricing-detail-field-info--align-right:hover[b-9z37fdyvu1]::before,
.pricing-detail-field-info--align-right:focus[b-9z37fdyvu1]::before {
  transform: translate(0, 0) rotate(45deg);
}

.pricing-detail-field-info--below[b-9z37fdyvu1]::after {
  top: calc(100% + 8px);
  bottom: auto;
  z-index: 120;
  transform: translate(-50%, -4px);
}

.pricing-detail-field-info--below[b-9z37fdyvu1]::before {
  top: calc(100% + 3px);
  bottom: auto;
  z-index: 121;
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid rgba(245, 158, 11, 0.30);
  border-top: 1px solid rgba(245, 158, 11, 0.30);
  transform: translate(-50%, -4px) rotate(45deg);
}

.pricing-detail-field-info--below:hover[b-9z37fdyvu1]::after,
.pricing-detail-field-info--below:focus[b-9z37fdyvu1]::after {
  transform: translate(-50%, 0);
}

.pricing-detail-field-info--below:hover[b-9z37fdyvu1]::before,
.pricing-detail-field-info--below:focus[b-9z37fdyvu1]::before {
  transform: translate(-50%, 0) rotate(45deg);
}

.pricing-detail-field-info--align-right.pricing-detail-field-info--below[b-9z37fdyvu1]::after {
  right: 0;
  left: auto;
  transform: translate(0, -4px);
}

.pricing-detail-field-info--align-right.pricing-detail-field-info--below[b-9z37fdyvu1]::before {
  right: 2px;
  left: auto;
  transform: translate(0, -4px) rotate(45deg);
}

.pricing-detail-field-info--align-right.pricing-detail-field-info--below:hover[b-9z37fdyvu1]::after,
.pricing-detail-field-info--align-right.pricing-detail-field-info--below:focus[b-9z37fdyvu1]::after {
  transform: translate(0, 0);
}

.pricing-detail-field-info--align-right.pricing-detail-field-info--below:hover[b-9z37fdyvu1]::before,
.pricing-detail-field-info--align-right.pricing-detail-field-info--below:focus[b-9z37fdyvu1]::before {
  transform: translate(0, 0) rotate(45deg);
}

.pricing-detail-value[b-9z37fdyvu1] {
  color: var(--text-900, #0f2147);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* Pricing Review Utility Row */
/* ---------------------------------------------------------
   Aligns overview visibility and preference controls around
   the centered Promotion Pricing workflow heading.
   Controls remain text-based without boxed button surfaces.
   --------------------------------------------------------- */

.pricing-detail-intro-band[b-9z37fdyvu1] {
    flex: 0 0 auto;
    min-height: 32px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 2px 4px;
    margin: 0;
}

.pricing-detail-intro-actions[b-9z37fdyvu1] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    white-space: nowrap;
}

.pricing-detail-intro-side[b-9z37fdyvu1] {
    min-width: 0;
}

/* Pricing Review Heading */
/* ---------------------------------------------------------
   Presents the workflow heading as a quiet centered divider
   without a button or pill appearance.
   --------------------------------------------------------- */

.pricing-detail-intro-center[b-9z37fdyvu1] {
    min-width: 300px;
    display: grid;
    grid-template-columns: minmax(34px, 1fr) auto minmax(34px, 1fr);
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-align: center;
    text-transform: none;
    white-space: nowrap;
}

    .pricing-detail-intro-center[b-9z37fdyvu1]::before,
    .pricing-detail-intro-center[b-9z37fdyvu1]::after {
        content: "";
        height: 1px;
        background: rgba(148, 163, 184, 0.42);
    }

/* Overview Utility */
/* ---------------------------------------------------------
   Displays Show or Hide Overview as text only. The pin uses
   gray when temporary and green when the state is remembered.
   --------------------------------------------------------- */

.pricing-detail-utility-action[b-9z37fdyvu1] {
    flex: 0 0 auto;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
}

    .pricing-detail-utility-action:hover[b-9z37fdyvu1] {
        color: var(--link-700, #1d4ed8);
        background: transparent;
    }

        .pricing-detail-utility-action:hover span[b-9z37fdyvu1] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .pricing-detail-utility-action:focus-visible[b-9z37fdyvu1],
    .pricing-detail-overview-pin:focus-visible[b-9z37fdyvu1] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

[b-9z37fdyvu1] .pricing-detail-overview-pin-tooltip {
    display: inline-flex;
    align-items: center;
}

.pricing-detail-overview-pin[b-9z37fdyvu1] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #94a3b8;
    font-size: 14px;
    line-height: 1;
    box-shadow: none;
    cursor: pointer;
}

    .pricing-detail-overview-pin i[b-9z37fdyvu1] {
        color: currentColor;
        font-size: 14px;
        line-height: 1;
    }

    .pricing-detail-overview-pin:hover[b-9z37fdyvu1] {
        color: #64748b;
        background: transparent;
    }

.pricing-detail-overview-pin--active[b-9z37fdyvu1] {
    color: #16a34a;
}

    .pricing-detail-overview-pin--active:hover[b-9z37fdyvu1] {
        color: #15803d;
    }

/* Status and worksheet badges */
/* ---------------------------------------------------------
   Displays Promotion Pricing workflow status and worksheet
   type indicators in the overview area.
   --------------------------------------------------------- */

.pricing-detail-status-badge[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.pricing-detail-status-badge--released[b-9z37fdyvu1] {
  background: #dbeafe;
  color: #2563eb;
}

.pricing-detail-status-badge--progress[b-9z37fdyvu1] {
  background: #fef3c7;
  color: #92400e;
}

.pricing-detail-status-badge--submitted[b-9z37fdyvu1] {
  background: #dbeafe;
  color: #1d4ed8;
}

.pricing-detail-status-badge--returned[b-9z37fdyvu1] {
  background: #ffe4e6;
  color: #e11d48;
}

.pricing-detail-status-badge--completed[b-9z37fdyvu1] {
  background: #d1fae5;
  color: #15803d;
}

.pricing-detail-status-badge--cancelled[b-9z37fdyvu1],
.pricing-detail-status-badge--default[b-9z37fdyvu1] {
  background: #e2e8f0;
  color: #475569;
}

.pricing-detail-worksheet-badge[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background: rgba(59, 130, 246, 0.08);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Pricing section header */
/* ---------------------------------------------------------
   Provides the section title, lifecycle guidance, and optional
   workflow actions supplied by parent pages.
   --------------------------------------------------------- */

.pricing-detail-section-header[b-9z37fdyvu1] {
  padding: 7px 12px 7px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.14);
}

.pricing-detail-section-heading[b-9z37fdyvu1] {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.pricing-detail-section-title-row[b-9z37fdyvu1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.pricing-detail-section-primary-actions[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

  .pricing-detail-section-primary-actions[b-9z37fdyvu1]  .btn {
    min-height: 30px;
    padding: 5px 12px;
    font-size: 13px;
    line-height: 1.2;
  }

.pricing-detail-section-meta-row[b-9z37fdyvu1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}

/* View commands */
/* ---------------------------------------------------------
   Presents overview and guidance visibility controls as compact
   link-style actions while preserving current placement.
   --------------------------------------------------------- */

.pricing-detail-guidance-toggle[b-9z37fdyvu1] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
    transition: color 0.15s ease;
}

    .pricing-detail-guidance-toggle:hover[b-9z37fdyvu1] {
        color: var(--link-700, #1d4ed8);
    }

        .pricing-detail-guidance-toggle:hover span[b-9z37fdyvu1] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .pricing-detail-guidance-toggle:focus-visible[b-9z37fdyvu1] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

    .pricing-detail-guidance-toggle:active[b-9z37fdyvu1] {
        color: var(--link-800, #1e40af);
    }

/* Expand and collapse commands */
/* ---------------------------------------------------------
   Provides one compact link-action treatment for table-level
   and row-level expansion without changing table layout.
   --------------------------------------------------------- */

.pricing-detail-expand-command[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--link-600, #2563eb);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s ease;
}

  .pricing-detail-expand-command i[b-9z37fdyvu1] {
    width: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    font-size: 11px;
    line-height: 1;
  }

  .pricing-detail-expand-command:hover[b-9z37fdyvu1] {
    color: var(--link-700, #1d4ed8);
    background: transparent;
  }

    .pricing-detail-expand-command:hover span[b-9z37fdyvu1] {
      text-decoration: underline;
      text-underline-offset: 2px;
    }

  .pricing-detail-expand-command:focus[b-9z37fdyvu1],
  .pricing-detail-expand-command:active[b-9z37fdyvu1] {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .pricing-detail-expand-command:focus-visible[b-9z37fdyvu1] {
    outline: 2px solid rgba(37, 99, 235, 0.28);
    outline-offset: 3px;
    border-radius: 3px;
  }

.pricing-detail-expand-command--all[b-9z37fdyvu1],
.pricing-detail-expand-command--row[b-9z37fdyvu1] {
  margin-left: auto;
}


/* Pricing guidance and section actions */
/* ---------------------------------------------------------
   Supports optional guidance visibility, section messaging,
   and parent-supplied actions for WAM Admin and Distributor
   Promotion Pricing pages.
   --------------------------------------------------------- */

.pricing-detail-guidance-actions[b-9z37fdyvu1] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    white-space: nowrap;
}

/* Guidance Preference Pin */
/* ---------------------------------------------------------
   Matches the Overview preference pattern. Gray indicates a
   temporary state; green indicates a remembered preference.
   --------------------------------------------------------- */

[b-9z37fdyvu1] .pricing-detail-guidance-pin-tooltip {
    display: inline-flex;
    align-items: center;
}

.pricing-detail-guidance-pin[b-9z37fdyvu1] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #94a3b8;
    font-size: 14px;
    line-height: 1;
    box-shadow: none;
    cursor: pointer;
}

    .pricing-detail-guidance-pin i[b-9z37fdyvu1] {
        color: currentColor;
        font-size: 14px;
        line-height: 1;
    }

    .pricing-detail-guidance-pin:hover[b-9z37fdyvu1] {
        color: #64748b;
        background: transparent;
    }

    .pricing-detail-guidance-pin:focus-visible[b-9z37fdyvu1] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

.pricing-detail-guidance-pin--active[b-9z37fdyvu1] {
    color: #16a34a;
}

    .pricing-detail-guidance-pin--active:hover[b-9z37fdyvu1] {
        color: #15803d;
    }

.pricing-detail-guidance-toggle:focus[b-9z37fdyvu1],
.pricing-detail-guidance-toggle:focus-visible[b-9z37fdyvu1],
.pricing-detail-guidance-toggle:active[b-9z37fdyvu1] {
  outline: 0;
  border: 0;
  box-shadow: none;
}

.pricing-detail-section-message-wrap[b-9z37fdyvu1] {
  min-width: 0;
  flex: 1 1 auto;
}

.pricing-detail-section-title[b-9z37fdyvu1] {
  margin: 0;
  color: var(--text-900, #0f2147);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}

.pricing-detail-section-subtitle[b-9z37fdyvu1] {
  color: var(--text-700, #334155);
  font-size: 13px;
  line-height: 1.35;
}

.pricing-detail-section-actions[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.pricing-detail-expand-actions[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

  .pricing-detail-expand-actions .pricing-detail-item-action[b-9z37fdyvu1] {
    color: var(--text-900, #0f2147);
    font-size: 13px;
    font-weight: 600;
  }

    .pricing-detail-expand-actions .pricing-detail-item-action i[b-9z37fdyvu1] {
      color: var(--brand-600, #2563eb);
    }

.pricing-detail-expand-button[b-9z37fdyvu1] {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.pricing-detail-expand-actions .pricing-detail-item-action:focus[b-9z37fdyvu1],
.pricing-detail-expand-actions .pricing-detail-item-action:focus-visible[b-9z37fdyvu1],
.pricing-detail-expand-actions .pricing-detail-item-action:active[b-9z37fdyvu1],
.pricing-detail-col-details .pricing-detail-item-action:focus[b-9z37fdyvu1],
.pricing-detail-col-details .pricing-detail-item-action:focus-visible[b-9z37fdyvu1],
.pricing-detail-col-details .pricing-detail-item-action:active[b-9z37fdyvu1] {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Latest WAM Review */
/* ---------------------------------------------------------
   Displays the latest WAM decision, comment, and review time
   in a compact single-row strip above Promotion Pricing.
   --------------------------------------------------------- */

.pricing-latest-review-strip[b-9z37fdyvu1] {
    min-width: 0;
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 11px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-left-width: 3px;
    border-radius: 6px;
    background: #ffffff;
}

.pricing-latest-review-strip--revision[b-9z37fdyvu1] {
    border-left-color: #c78a19;
    background: #fffaf0;
}

.pricing-latest-review-strip--approved[b-9z37fdyvu1] {
    border-left-color: #3f8a5b;
    background: #f6fbf7;
}

.pricing-latest-review-strip-badge[b-9z37fdyvu1] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.pricing-latest-review-strip--revision .pricing-latest-review-strip-badge[b-9z37fdyvu1] {
    color: #8b5c08;
}

.pricing-latest-review-strip--approved .pricing-latest-review-strip-badge[b-9z37fdyvu1] {
    color: #2f7047;
}

.pricing-latest-review-strip-comment[b-9z37fdyvu1] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--text-800, #1e293b);
    font-size: 12.5px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-latest-review-strip-date[b-9z37fdyvu1] {
    flex: 0 0 auto;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}

.pricing-latest-review-strip[b-9z37fdyvu1] {
    margin-bottom: 4px;
}

.pricing-latest-review-strip-comment[b-9z37fdyvu1] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--text-800, #1e293b);
    font-size: 12.5px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-latest-review-strip-comment--expanded[b-9z37fdyvu1] {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.pricing-latest-review-strip--expanded[b-9z37fdyvu1] {
    align-items: flex-start;
}

    .pricing-latest-review-strip--expanded .pricing-latest-review-strip-badge[b-9z37fdyvu1],
    .pricing-latest-review-strip--expanded .pricing-latest-review-strip-date[b-9z37fdyvu1],
    .pricing-latest-review-strip--expanded .pricing-latest-review-strip-toggle[b-9z37fdyvu1] {
        margin-top: 2px;
    }

.pricing-latest-review-strip-toggle[b-9z37fdyvu1] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

    .pricing-latest-review-strip-toggle:hover[b-9z37fdyvu1] {
        color: var(--link-600, #2563eb);
    }

    .pricing-latest-review-strip-toggle:focus[b-9z37fdyvu1],
    .pricing-latest-review-strip-toggle:focus-visible[b-9z37fdyvu1] {
        outline: none;
        box-shadow: none;
    }

/* Pricing section body */
/* ---------------------------------------------------------
   Hosts the internally scrolling item table while the section
   header and pager remain visually stable.
   --------------------------------------------------------- */

.pricing-detail-section-body[b-9z37fdyvu1] {
  min-height: 0;
  padding: 2px 10px 2px 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}

/* Pre-Pack Pricing Workspace */
/* ---------------------------------------------------------
   Uses the existing click-to-open image modal for Pre-Pack
   component rows because hover previews would be clipped by
   the internally scrollable table region.
   --------------------------------------------------------- */

.pricing-detail-section-body--prepack .pricing-detail-table .pricing-detail-image-trigger[b-9z37fdyvu1] {
    cursor: pointer;
}

    .pricing-detail-section-body--prepack .pricing-detail-table .pricing-detail-image-trigger:hover .pricing-detail-image-tile[b-9z37fdyvu1] {
        border-color: rgba(37, 99, 235, 0.35);
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.10);
    }

/* ---------------------------------------------------------
   Keeps the grouped Pre-Pack content compact and stable while
   allowing the component item table to own vertical scrolling.
   --------------------------------------------------------- */

.pricing-detail-section-body--prepack[b-9z37fdyvu1] {
    min-height: 0;
    overflow: hidden;
}

    .pricing-detail-section-body--prepack .pricing-detail-prepack-summary[b-9z37fdyvu1],
    .pricing-detail-section-body--prepack .pricing-detail-item-toolbar[b-9z37fdyvu1] {
        flex: 0 0 auto;
    }

    .pricing-detail-section-body--prepack .pricing-detail-table-region[b-9z37fdyvu1] {
        flex: 1 1 auto;
        min-height: 0;
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        overflow: hidden;
    }

    .pricing-detail-section-body--prepack .pricing-detail-table-wrap[b-9z37fdyvu1] {
        width: 100%;
        min-height: 0;
        max-height: none;
        height: 100%;
        overflow: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .pricing-detail-section-body--prepack .pricing-detail-table thead th[b-9z37fdyvu1] {
        position: sticky;
        top: 0;
        z-index: 6;
        padding-top: 5px;
        padding-bottom: 5px;
        line-height: 1.15;
    }

    .pricing-detail-section-body--prepack .pricing-detail-pager[b-9z37fdyvu1] {
        position: static;
        background: #ffffff;
        min-height: 38px;
        padding-top: 4px;
        padding-bottom: 4px;
    }

/* Pricing item toolbar */
/* ---------------------------------------------------------
   Provides worksheet search and page-size controls without
   changing pricing calculations or source data.
   --------------------------------------------------------- */

.pricing-detail-item-toolbar[b-9z37fdyvu1] {
    flex: 0 0 auto;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 2px;
}

.pricing-detail-section-body--prepack .pricing-detail-item-toolbar[b-9z37fdyvu1] {
    padding-top: 1px;
    padding-bottom: 1px;
}

.pricing-detail-item-search[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pricing-detail-toolbar-page-size[b-9z37fdyvu1] {
  flex: 0 0 104px;
  min-width: 104px;
  display: grid;
  gap: 3px;
  margin: 0;
}

.pricing-detail-section-body--prepack .pricing-detail-toolbar-page-size[b-9z37fdyvu1] {
    flex-basis: 88px;
    min-width: 88px;
}

  .pricing-detail-toolbar-page-size span[b-9z37fdyvu1] {
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
  }

  .pricing-detail-toolbar-page-size .pricing-detail-pager-select[b-9z37fdyvu1] {
    width: 100%;
    min-height: 38px;
    height: 38px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 14px;
  }

.pricing-detail-section-body--prepack .pricing-detail-toolbar-page-size .pricing-detail-pager-select[b-9z37fdyvu1] {
    min-height: 30px;
    height: 30px;
    padding: 2px 8px;
    font-size: 12px;
}

.pricing-detail-item-search-label[b-9z37fdyvu1] {
  margin: 0;
  color: var(--text-700, #334155);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.pricing-detail-item-search-input[b-9z37fdyvu1] {
  min-height: 38px;
  height: 38px;
  font-size: 14px;
}

.pricing-detail-section-body--prepack[b-9z37fdyvu1]  .pricing-detail-item-search-input {
    min-height: 30px;
    height: 30px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 13px;
}

/* Lifecycle status message */
/* ---------------------------------------------------------
   Displays compact workflow guidance beneath the pricing
   section title.
   --------------------------------------------------------- */

.pricing-detail-section-message[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  background: #f8fafc;
  color: #475569;
}

.pricing-detail-section-message--released[b-9z37fdyvu1] {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.pricing-detail-section-message--progress[b-9z37fdyvu1] {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.pricing-detail-section-message--submitted[b-9z37fdyvu1] {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.pricing-detail-section-message--returned[b-9z37fdyvu1] {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b91c1c;
}

.pricing-detail-section-message--completed[b-9z37fdyvu1] {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #15803d;
}

.pricing-detail-section-message--cancelled[b-9z37fdyvu1],
.pricing-detail-section-message--default[b-9z37fdyvu1] {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
}

/* Pricing table shell */
/* ---------------------------------------------------------
   Preserves internal vertical and horizontal scrolling, sticky
   headers, fixed column sizing, and compact pricing density.
   --------------------------------------------------------- */

.pricing-detail-table-region[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 12px;
  background: #ffffff;
}

.pricing-detail-table-wrap[b-9z37fdyvu1] {
  width: 100%;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #fff;
}

.pricing-detail-table[b-9z37fdyvu1] {
  width: 100%;
  margin: 0;
  min-width: 920px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text-900, #0f2147);
  font-size: 13px;
}

.pricing-detail-table--prepack[b-9z37fdyvu1] {
  min-width: 1010px;
}

.pricing-detail-table thead th[b-9z37fdyvu1] {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 8px;
  border-bottom: 0;
  background: #ffffff;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.035em;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
  vertical-align: bottom;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.pricing-detail-table tbody td[b-9z37fdyvu1] {
  padding: 9px 8px;
  border-bottom: 1px solid #edf2f7;
  background: #ffffff;
  color: var(--text-900, #0f2147);
  line-height: 1.35;
  vertical-align: middle;
}

.pricing-detail-section-body--prepack .pricing-detail-table tbody td[b-9z37fdyvu1] {
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.2;
}

.pricing-detail-table tbody tr:hover td[b-9z37fdyvu1] {
  background: #fbfdff;
}

.pricing-detail-table tbody tr:last-child td[b-9z37fdyvu1] {
  border-bottom: 0;
}

/* Pricing table columns */

.pricing-detail-col-sequence[b-9z37fdyvu1] {
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  text-align: left;
}

.pricing-detail-col-image[b-9z37fdyvu1] {
  width: 54px;
  min-width: 54px;
  max-width: 54px;
  text-align: left;
  white-space: nowrap;
}

.pricing-detail-col-item-number[b-9z37fdyvu1] {
  width: 96px;
  min-width: 88px;
}

.pricing-detail-col-pack-item-number[b-9z37fdyvu1] {
  width: 92px;
  min-width: 84px;
}

.pricing-detail-col-description[b-9z37fdyvu1] {
  width: auto;
  min-width: 0;
}

.pricing-detail-col-category[b-9z37fdyvu1] {
  width: 76px;
  min-width: 68px;
}

.pricing-detail-col-subtype[b-9z37fdyvu1] {
  width: 118px;
  min-width: 104px;
}

.pricing-detail-col-details[b-9z37fdyvu1] {
  width: 104px;
  min-width: 96px;
  max-width: 104px;
  text-align: right;
  white-space: nowrap;
}

.pricing-detail-table--prepack .pricing-detail-col-description[b-9z37fdyvu1] {
  min-width: 0;
}

/* Pricing item image thumbnails */

.pricing-detail-image-trigger[b-9z37fdyvu1] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.pricing-detail-image-tile[b-9z37fdyvu1] {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(25, 35, 68, 0.12);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
  transition: transform 120ms ease, box-shadow 120ms ease;
}

.pricing-detail-section-body--prepack .pricing-detail-image-tile[b-9z37fdyvu1] {
    width: 34px;
    height: 34px;
}

.pricing-detail-image-trigger:hover .pricing-detail-image-tile[b-9z37fdyvu1],
.pricing-detail-image-trigger:focus-visible .pricing-detail-image-tile[b-9z37fdyvu1] {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
}

.pricing-detail-image-tile--prepack[b-9z37fdyvu1] {
  width: 46px;
  height: 46px;
  border-color: rgba(37, 99, 235, 0.18);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.pricing-detail-image-tile--prepack-summary[b-9z37fdyvu1] {
  width: 54px;
  height: 54px;
  border-color: rgba(31, 59, 99, 0.22);
  border-radius: 10px;
  background: #ffffff;
}

.pricing-detail-image-thumb[b-9z37fdyvu1] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Sortable pricing headers */
/* ---------------------------------------------------------
   Styles sortable worksheet headers for MFG item number and
   item description.
   --------------------------------------------------------- */

.pricing-detail-sort-button[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

  .pricing-detail-sort-button:hover[b-9z37fdyvu1],
  .pricing-detail-sort-button--active[b-9z37fdyvu1] {
    color: #2563eb;
  }

.pricing-detail-sort-indicator[b-9z37fdyvu1] {
  font-size: 11px;
  line-height: 1;
}

/* Pre-Pack pricing summary */
/* ---------------------------------------------------------
   Displays Pre-Pack group pricing with the same compact visual
   language used by expanded Open-Stock pricing rows.
   --------------------------------------------------------- */

.pricing-detail-prepack-summary[b-9z37fdyvu1] {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 5px 0;
    overflow-x: hidden;
    overflow-y: visible;
    border: 1px solid rgba(25, 35, 68, 0.14);
    border-radius: 12px;
    background: #ffffff;
}

  .pricing-detail-prepack-summary:has(.pricing-detail-image-trigger:hover)[b-9z37fdyvu1],
  .pricing-detail-prepack-summary:has(.pricing-detail-image-trigger:focus-visible)[b-9z37fdyvu1] {
    overflow: visible;
  }

.pricing-detail-prepack-summary-panel[b-9z37fdyvu1] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 12px 1px 10px;
  color: var(--text-900, #0f2147);
  font-size: 13px;
}

/* Pre-Pack group identity row */
.pricing-detail-prepack-summary-row--overview[b-9z37fdyvu1] {
    display: grid;
    grid-template-columns: 120px minmax(260px, 1fr) minmax(168px, 190px) 86px;
    align-items: stretch;
    width: auto;
    min-height: 60px;
    margin: 0 -12px 4px -12px;
    padding: 0;
    overflow: visible;
    border-bottom: 1px solid rgba(25, 35, 68, 0.12);
    border-top-left-radius: 11px;
    border-top-right-radius: 11px;
    background: #ffffff;
}

.pricing-detail-prepack-summary-cell[b-9z37fdyvu1] {
    min-width: 0;
    display: grid;
    grid-template-rows: 25px 38px;
    align-items: stretch;
}

.pricing-detail-prepack-summary-cell[b-9z37fdyvu1] {
  overflow: visible;
}

.pricing-detail-prepack-summary-label[b-9z37fdyvu1] {
    min-height: 25px;
    margin: 0;
    padding: 5px 10px 4px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, #19365f, #102746);
    color: #ffffff;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.035em;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: nowrap;
}

.pricing-detail-prepack-summary-cell:first-child .pricing-detail-prepack-summary-label[b-9z37fdyvu1] {
  border-top-left-radius: 11px;
}

.pricing-detail-prepack-summary-cell:last-child .pricing-detail-prepack-summary-label[b-9z37fdyvu1] {
  border-top-right-radius: 11px;
}

.pricing-detail-prepack-summary-cell--description .pricing-detail-table-tooltip-cell[b-9z37fdyvu1],
.pricing-detail-prepack-summary-cell--cost-context .pricing-detail-prepack-cost-context[b-9z37fdyvu1],
.pricing-detail-prepack-summary-cell--gp .pricing-detail-gp-cell[b-9z37fdyvu1] {
    align-self: center;
    justify-self: start;
    margin: 0 5px;
}

.pricing-detail-prepack-summary-image[b-9z37fdyvu1] {
    align-self: center;
    justify-self: start;
    padding-left: 8px;
}

.pricing-detail-prepack-summary-cell--description[b-9z37fdyvu1]  .pricing-detail-table-tooltip-cell {
  width: calc(100% - 20px);
  min-width: 0;
  justify-self: start;
  text-align: left;
}

.pricing-detail-prepack-summary-description-text[b-9z37fdyvu1] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  color: #0f3fa9;
  font-weight: 850;
  line-height: 1.25;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-detail-prepack-cost-context[b-9z37fdyvu1] {
  display: grid;
  gap: 3px;
}

.pricing-detail-prepack-cost-context-line[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: 68px auto;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  color: #0f2147;
  font-size: 12px;
  line-height: 1.2;
}

  .pricing-detail-prepack-cost-context-line span[b-9z37fdyvu1] {
    color: #5b78a0;
    font-weight: 750;
    white-space: nowrap;
  }

  .pricing-detail-prepack-cost-context-line strong[b-9z37fdyvu1] {
    color: #0f2147;
    font-weight: 850;
    white-space: nowrap;
  }

.pricing-detail-prepack-summary-cell--gp .pricing-detail-gp-cell[b-9z37fdyvu1] {
  justify-content: flex-start;
}

/* Pre-Pack editable group panel */
.pricing-detail-prepack-summary-edit-panel[b-9z37fdyvu1] {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 4px 7px;
    border: 1px solid rgba(25, 35, 68, 0.14);
    border-radius: 12px;
    background: #f8fafc;
    overflow: visible;
    flex: 0 0 auto;
}

.pricing-detail-expanded-grid--prepack-group-entry[b-9z37fdyvu1] {
    grid-template-columns: minmax(112px, 132px) /* Retail Delivery */
    minmax(118px, 142px) /* Dist Pack Item # */
    minmax(84px, 98px) /* Dist Base Cost */
    minmax(78px, 92px) /* Allowance */
    minmax(74px, 86px) /* Spiff */
    minmax(72px, 86px) /* Total Count */
    minmax(68px, 78px) /* SRP */
    minmax(112px, 128px); /* Pre-Book / Ship Now */
    align-items: end;
    gap: 3px 6px;
}

.pricing-detail-expanded-grid--prepack-group-book[b-9z37fdyvu1] {
    grid-template-columns: minmax(112px, 132px) /* Display Start */
    minmax(118px, 142px) /* Display End */
    minmax(220px, 1fr) /* Promo Comments */
    minmax(220px, 1fr); /* WAM Notes */
    align-items: end;
    gap: 3px 6px;
}

.pricing-detail-prepack-summary-edit-panel .pricing-detail-expanded-field[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-detail-prepack-summary-edit-panel .pricing-detail-input[b-9z37fdyvu1],
.pricing-detail-prepack-summary-edit-panel .pricing-detail-input-select[b-9z37fdyvu1] {
  width: 100%;
}

.pricing-detail-prepack-summary-edit-panel .pricing-detail-affix-field[b-9z37fdyvu1] {
  width: 100%;
}

.pricing-detail-prepack-summary-edit-panel .pricing-detail-textarea[b-9z37fdyvu1] {
    min-height: 30px;
    height: 30px;
    max-height: 36px;
}

.pricing-detail-input-readonly:disabled[b-9z37fdyvu1] {
  background-color: #eef2f6;
  border-color: #d8e0ea;
  color: #0f2147;
  font-weight: 800;
  opacity: 1;
  cursor: not-allowed;
}

.pricing-detail-prepack-summary .pricing-detail-image-trigger[b-9z37fdyvu1] {
  z-index: 5;
}

.pricing-detail-image-tile--prepack-summary[b-9z37fdyvu1] {
    width: 40px;
    height: 40px;
    border-color: rgba(31, 59, 99, 0.18);
    border-radius: 10px;
    background: #ffffff;
}

/* Pre-Pack table fields */

.pricing-detail-col-prepack-item-count[b-9z37fdyvu1] {
  width: 84px;
  min-width: 78px;
  max-width: 84px;
  text-align: left;
  white-space: nowrap;
}

.pricing-detail-col-prepack-retail[b-9z37fdyvu1] {
  width: 84px;
  min-width: 78px;
  max-width: 84px;
  text-align: left;
  white-space: nowrap;
}

.pricing-detail-input--inline[b-9z37fdyvu1] {
  max-width: 76px;
}

.pricing-detail-affix-field--inline[b-9z37fdyvu1] {
  max-width: 82px;
}

/* Pre-Pack component detail panel */
/* ---------------------------------------------------------
   Keeps component edits compact while component count and
   retail support the Pre-Pack group G.P. % calculation.
   --------------------------------------------------------- */

.pricing-detail-expanded-grid--prepack-component[b-9z37fdyvu1] {
  grid-template-columns: 140px 140px minmax(320px, 1fr);
  align-items: end;
  gap: 8px;
}

  .pricing-detail-expanded-grid--prepack-component .pricing-detail-expanded-field--comment[b-9z37fdyvu1] {
    align-self: stretch;
  }

    .pricing-detail-expanded-grid--prepack-component .pricing-detail-expanded-field--comment .pricing-detail-value[b-9z37fdyvu1] {
      min-height: 31px;
      display: flex;
      align-items: center;
      padding: 6px 10px;
      border: 1px dashed rgba(31, 59, 99, 0.18);
      border-radius: 8px;
      background: rgba(248, 250, 252, 0.80);
      color: #4f6b91;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

/* G.P. % calculation display */
/* ---------------------------------------------------------
   Shows read-only gross profit values and compact item-level
   calculation context.
   --------------------------------------------------------- */

.pricing-detail-col-cost-context[b-9z37fdyvu1] {
    width: 106px;
    min-width: 100px;
    max-width: 106px;
    text-align: left;
    white-space: nowrap;
}

.pricing-detail-cost-context[b-9z37fdyvu1] {
  display: grid;
  gap: 2px;
  color: var(--text-700, #334155);
  font-size: 11px;
  line-height: 1.15;
}

.pricing-detail-cost-context-line[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}

  .pricing-detail-cost-context-line span[b-9z37fdyvu1] {
    color: var(--text-500, #64748b);
    font-weight: 700;
  }

  .pricing-detail-cost-context-line strong[b-9z37fdyvu1] {
    color: var(--text-900, #0f2147);
    font-weight: 800;
  }

.pricing-detail-col-gp[b-9z37fdyvu1] {
  width: 86px;
  min-width: 82px;
  max-width: 86px;
  text-align: left;
  white-space: nowrap;
}

  .pricing-detail-col-gp .pricing-detail-gp-cell[b-9z37fdyvu1] {
    justify-content: flex-start;
  }

.pricing-detail-gp-header[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.pricing-detail-gp-cell[b-9z37fdyvu1] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: 100%;
}

.pricing-detail-gp-badge[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.pricing-detail-gp-badge--positive[b-9z37fdyvu1] {
  border: 1px solid rgba(34, 197, 94, 0.28);
  background: rgba(34, 197, 94, 0.10);
  color: #15803d;
}

.pricing-detail-gp-badge--negative[b-9z37fdyvu1] {
  border: 1px solid rgba(239, 68, 68, 0.26);
  background: rgba(239, 68, 68, 0.08);
  color: #b91c1c;
}

.pricing-detail-gp-badge--pending[b-9z37fdyvu1] {
  border: 1px solid rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.08);
  color: #92400e;
}

.pricing-detail-gp-badge--muted[b-9z37fdyvu1] {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(148, 163, 184, 0.08);
  color: #64748b;
}

.pricing-detail-gp-info-button[b-9z37fdyvu1] {
  min-width: 18px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #94a3b8;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}

  .pricing-detail-gp-info-button:hover[b-9z37fdyvu1],
  .pricing-detail-gp-info-button:focus[b-9z37fdyvu1] {
    color: #2563eb;
  }

  .pricing-detail-gp-info-button:focus[b-9z37fdyvu1] {
    outline: none;
  }

/* Pricing Item Hover Preview */
/* ---------------------------------------------------------
   Renders component image hover previews outside the internally
   scrollable table so the preview cannot be clipped.
   --------------------------------------------------------- */

.pricing-detail-floating-image-preview[b-9z37fdyvu1] {
    position: fixed;
    z-index: 12600;
    width: 190px;
    padding: 8px;
    border: 1px solid rgba(25, 35, 68, 0.12);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    pointer-events: none;
    transform: translateY(-100%);
}

.pricing-detail-floating-image-preview-img[b-9z37fdyvu1] {
    width: 100%;
    height: 190px;
    display: block;
    object-fit: contain;
    border-radius: 12px;
    background: #f8fafc;
}

/* Pricing image preview modal */
/* ---------------------------------------------------------
   Displays pricing item and Pre-Pack package images at a larger
   size without leaving the Promotion Pricing workspace.
   --------------------------------------------------------- */

.pricing-detail-image-preview-backdrop[b-9z37fdyvu1] {
  position: fixed;
  inset: 0;
  z-index: 12800;
  background: rgba(15, 23, 42, 0.42);
}

.pricing-detail-image-preview-shell[b-9z37fdyvu1] {
  position: fixed;
  inset: 0;
  z-index: 12810;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.pricing-detail-image-preview-card[b-9z37fdyvu1] {
  width: min(640px, calc(100vw - 72px));
  max-height: calc(100vh - 72px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(25, 35, 68, 0.14);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 28px 72px rgba(15, 23, 42, 0.28);
}

.pricing-detail-image-preview-header[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px 13px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.09);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.pricing-detail-image-preview-title[b-9z37fdyvu1] {
  margin: 0;
  color: #0f2147;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.15;
}

.pricing-detail-image-preview-subtitle[b-9z37fdyvu1] {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
}

.pricing-detail-image-preview-close[b-9z37fdyvu1] {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
}

  .pricing-detail-image-preview-close:hover[b-9z37fdyvu1] {
    background: #e2e8f0;
    color: #0f2147;
  }

.pricing-detail-image-preview-body[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px;
  overflow: auto;
}

.pricing-detail-image-preview-img[b-9z37fdyvu1] {
  max-width: 100%;
  max-height: min(58vh, 520px);
  object-fit: contain;
  display: block;
  border: 1px solid rgba(25, 35, 68, 0.12);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}

.pricing-detail-image-preview-footer[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 11px 18px 14px;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  background: #ffffff;
}

/* G.P. % calculation modal */
/* ---------------------------------------------------------
   Renders item-level gross profit calculations outside the
   table scroll container to prevent clipping and preserve
   internal table scrolling.
   --------------------------------------------------------- */

.pricing-detail-gp-modal-backdrop[b-9z37fdyvu1] {
  position: fixed;
  inset: 0;
  z-index: 12700;
  background: rgba(15, 23, 42, 0.42);
}

.pricing-detail-gp-modal-shell[b-9z37fdyvu1] {
  position: fixed;
  inset: 0;
  z-index: 12710;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.pricing-detail-gp-modal-card[b-9z37fdyvu1] {
  width: min(640px, calc(100vw - 48px));
  max-height: calc(100vh - 56px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(25, 35, 68, 0.14);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 28px 72px rgba(15, 23, 42, 0.28);
}

.pricing-detail-gp-modal-header[b-9z37fdyvu1] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px 13px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.09);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.pricing-detail-gp-modal-title[b-9z37fdyvu1] {
  margin: 0;
  color: #0f2147;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.15;
}

.pricing-detail-gp-modal-subtitle[b-9z37fdyvu1] {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
}

.pricing-detail-gp-modal-close[b-9z37fdyvu1] {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
}

  .pricing-detail-gp-modal-close:hover[b-9z37fdyvu1] {
    background: #e2e8f0;
    color: #0f2147;
  }

.pricing-detail-gp-modal-body[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  gap: 13px;
  padding: 16px 18px 18px;
  overflow-y: auto;
}

.pricing-detail-gp-modal-item[b-9z37fdyvu1] {
  padding: 12px 13px;
  border: 1px solid rgba(25, 35, 68, 0.10);
  border-radius: 14px;
  background: #f8fafc;
}

.pricing-detail-gp-modal-kicker[b-9z37fdyvu1] {
  color: #64748b;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.pricing-detail-gp-modal-item-title[b-9z37fdyvu1] {
  margin-top: 3px;
  color: #0f2147;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}

.pricing-detail-gp-modal-item-meta[b-9z37fdyvu1] {
  margin-top: 3px;
  color: #475569;
  font-size: 12px;
  line-height: 1.3;
}

.pricing-detail-gp-modal-section[b-9z37fdyvu1] {
  display: grid;
  gap: 5px;
}

.pricing-detail-gp-explanation[b-9z37fdyvu1] {
  padding: 9px 11px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: 10px;
  background: rgba(37, 99, 235, 0.035);
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.42;
}

.pricing-detail-gp-value-grid[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.pricing-detail-gp-value-grid--six[b-9z37fdyvu1] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-detail-gp-value-grid div[b-9z37fdyvu1] {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 10px;
  background: #ffffff;
}

.pricing-detail-gp-value-grid span[b-9z37fdyvu1] {
  display: block;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.pricing-detail-gp-value-grid strong[b-9z37fdyvu1] {
  display: block;
  margin-top: 3px;
  color: #0f2147;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.pricing-detail-gp-section-label[b-9z37fdyvu1] {
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pricing-detail-gp-formula[b-9z37fdyvu1] {
  padding: 8px 9px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 9px;
  background: #f8fafc;
  color: #0f2147;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11.5px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pricing-detail-gp-formula--muted[b-9z37fdyvu1] {
  color: #475569;
  background: #ffffff;
}

.pricing-detail-gp-result[b-9z37fdyvu1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid rgba(34, 197, 94, 0.22);
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.08);
}

  .pricing-detail-gp-result span[b-9z37fdyvu1] {
    color: #166534;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .pricing-detail-gp-result strong[b-9z37fdyvu1] {
    color: #15803d;
    font-size: 18px;
    font-weight: 900;
  }

.pricing-detail-gp-result--modal[b-9z37fdyvu1] {
  margin-top: 2px;
}

/* G.P. modal responsive layout */
@media (max-width: 760px) {
  .pricing-detail-gp-modal-shell[b-9z37fdyvu1] {
    align-items: stretch;
    padding: 12px;
  }

  .pricing-detail-gp-modal-card[b-9z37fdyvu1] {
    width: 100%;
    max-height: calc(100vh - 24px);
  }

  .pricing-detail-gp-value-grid[b-9z37fdyvu1] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-detail-gp-value-grid--six[b-9z37fdyvu1] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Pricing item actions and expanded details */
/* ---------------------------------------------------------
   Styles item commands, expanded entry and book panels, locked
   states, and compact item text presentation.
   --------------------------------------------------------- */

.pricing-detail-item-action[b-9z37fdyvu1] {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  appearance: none;
  color: var(--text-900, #0f2147);
  font-size: 13px;
  line-height: 1.15;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

  .pricing-detail-item-action i[b-9z37fdyvu1] {
    color: var(--brand-600, #2563eb);
    font-size: 12px;
    line-height: 1;
  }

.pricing-detail-item-action--utility[b-9z37fdyvu1] {
  color: var(--text-900, #0f2147);
  border: 0;
  background: transparent;
}

  .pricing-detail-item-action--utility:hover:not(:disabled)[b-9z37fdyvu1] {
    color: var(--text-900, #0f2147);
    background: transparent;
    text-decoration: none;
  }

    .pricing-detail-item-action--utility:hover:not(:disabled) span[b-9z37fdyvu1] {
      text-decoration: underline;
    }

.pricing-detail-item-action:focus[b-9z37fdyvu1],
.pricing-detail-item-action:focus-visible[b-9z37fdyvu1],
.pricing-detail-item-action:active[b-9z37fdyvu1] {
  outline: none;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.pricing-detail-item-action:disabled[b-9z37fdyvu1] {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}

.pricing-detail-col-details-header[b-9z37fdyvu1] {
  text-align: right;
}

.pricing-detail-table-head-action i[b-9z37fdyvu1] {
  color: var(--brand-600, #2563eb);
}

.pricing-detail-table-head-action:hover span[b-9z37fdyvu1] {
  text-decoration: underline;
}

.pricing-detail-row-toggle i[b-9z37fdyvu1] {
  color: var(--brand-600, #2563eb);
}

/* Expanded pricing item panels */

.pricing-detail-expanded-row td[b-9z37fdyvu1] {
  padding: 0 6px 10px;
  background: #fff;
  border-bottom: 1px solid rgba(25, 35, 68, 0.10);
}

.pricing-detail-expanded-panel[b-9z37fdyvu1] {
    margin: 0;
    padding: 0px 8px 6px 8px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    background: #f8fafc;
}

.pricing-detail-expanded-panel--compact[b-9z37fdyvu1] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pricing-detail-expanded-grid[b-9z37fdyvu1] {
  display: grid;
  justify-content: start;
  align-items: end;
  gap: 4px 8px;
}

.pricing-detail-expanded-grid--entry[b-9z37fdyvu1] {
  grid-template-columns: minmax(132px, 132px) /* Retail Delivery */
  minmax(132px, 132px) /* Dist Item # */
  minmax(90px, 90px) /* Dist Base Cost */
  minmax(90px, 90px) /* Allowance */
  minmax(90px, 90px) /* Spiff */
  minmax(80px, 80px) /* Item Count */
  minmax(80px, 80px) /* Retail */
  minmax(118px, 118px); /* Pre-Book / Ship Now */
}

.pricing-detail-expanded-grid--book[b-9z37fdyvu1] {
  grid-template-columns: minmax(132px, 132px) /* Display Start */
  minmax(132px, 132px) /* Display End */
  minmax(285px, 285px) /* Promo Comments */
  minmax(302px, 302px); /* WAM Notes */
}

.pricing-detail-expanded-field[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-detail-expanded-field--comment[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-detail-item-number[b-9z37fdyvu1] {
  font-weight: 700;
  white-space: nowrap;
}

.pricing-detail-item-number-stack[b-9z37fdyvu1] {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

/* Locked pricing item states */

.pricing-detail-item-row--locked td[b-9z37fdyvu1] {
  background: rgba(248, 250, 252, 0.62);
}

.pricing-detail-access-badge[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.pricing-detail-access-badge--locked[b-9z37fdyvu1] {
  border: 1px solid rgba(180, 83, 9, 0.18);
  background: rgba(245, 158, 11, 0.10);
  color: #92400e;
}

.pricing-detail-expanded-panel--locked[b-9z37fdyvu1] {
  border-color: rgba(180, 83, 9, 0.18);
  background: rgba(255, 251, 235, 0.45);
}

/* =====================================
   Open-Stock Pricing Access
   ---------------------------------------------------------
   Displays locked-item guidance and the release-specific
   pricing unlock action for eligible Open-Stock items.
   ===================================== */

.pricing-detail-locked-message[b-9z37fdyvu1] {
    width: 100%;
    max-width: 100%;
    margin-bottom: 6px;
    padding: 6px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(180, 83, 9, 0.20);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.92);
    color: #92400e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

    .pricing-detail-locked-message i[b-9z37fdyvu1] {
        font-size: 12px;
        line-height: 1;
    }

.pricing-detail-locked-message-copy[b-9z37fdyvu1] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .pricing-detail-locked-message-copy i[b-9z37fdyvu1] {
        flex: 0 0 auto;
        font-size: 12px;
        line-height: 1;
    }

.pricing-detail-unlock-action[b-9z37fdyvu1] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 7px;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
}

    .pricing-detail-unlock-action:hover span[b-9z37fdyvu1] {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .pricing-detail-unlock-action:focus-visible[b-9z37fdyvu1] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 2px;
        border-radius: 4px;
    }

/* Pricing item text overflow */

.pricing-detail-description-cell[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-detail-description-text[b-9z37fdyvu1],
.pricing-detail-prepack-summary-description-text[b-9z37fdyvu1] {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-detail-description-cell[b-9z37fdyvu1] {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

  .pricing-detail-description-cell[b-9z37fdyvu1]  .pricing-detail-table-tooltip-cell {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

.pricing-detail-description-text[b-9z37fdyvu1],
.pricing-detail-prepack-summary-description-text[b-9z37fdyvu1] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-detail-table-tooltip-cell[b-9z37fdyvu1] {
  display: block;
  max-width: 100%;
  min-width: 0;
}

.pricing-detail-upc-stack[b-9z37fdyvu1] {
  display: grid;
  gap: 1px;
  min-width: 130px;
  font-size: 12px;
  line-height: 1.25;
}

.pricing-detail-empty[b-9z37fdyvu1] {
  color: var(--text-600, #64748b);
  font-size: 13px;
}

/* Pricing table pager */
/* ---------------------------------------------------------
   Keeps paging anchored to the bottom of the table shell while
   the table region owns vertical and horizontal scrolling.
   --------------------------------------------------------- */

.pricing-detail-pager[b-9z37fdyvu1] {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 12px;
  border-top: 1px solid rgba(25, 35, 68, 0.08);
  background: #ffffff;
  flex-wrap: wrap;
}

.pricing-detail-pager-left[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.pricing-detail-pager-meta[b-9z37fdyvu1] {
  color: var(--text-600, #64748b);
  font-size: 12px;
}

.pricing-detail-pager-size[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--text-700, #334155);
  font-size: 12px;
  font-weight: 600;
}


.pricing-detail-pager-select[b-9z37fdyvu1] {
  min-width: 84px;
  font-size: 13px;
}

.pricing-detail-pager-actions[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pricing-detail-pager-page[b-9z37fdyvu1] {
  min-width: 82px;
  text-align: center;
  color: var(--text-700, #334155);
  font-size: 12px;
  font-weight: 600;
}

/* Editable Distributor fields */
/* ---------------------------------------------------------
   Styles pricing inputs when parent pages allow editing.
   Parent pages remain responsible for workflow actions and
   validation rules.
   --------------------------------------------------------- */

.pricing-detail-input[b-9z37fdyvu1] {
  width: 100%;
  min-width: 0;
  height: 30px;
  font-size: 12px;
}

.pricing-detail-input-number[b-9z37fdyvu1] {
  max-width: none;
}

/* Native date input alignment */
.pricing-detail-input-date[b-9z37fdyvu1] {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.pricing-detail-input-select[b-9z37fdyvu1] {
  width: 100%;
  min-width: 0;
  max-width: none;
}

/* Checkbox and text controls */

.pricing-detail-check-row[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 30px;
  flex-wrap: wrap;
}

.pricing-detail-check[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: var(--text-900, #0f2147);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

  .pricing-detail-check input[b-9z37fdyvu1] {
    margin: 0;
  }

.pricing-detail-textarea[b-9z37fdyvu1] {
  min-height: 38px;
  resize: vertical;
  font-size: 12px;
}

.pricing-detail-textarea--compact[b-9z37fdyvu1] {
  width: 100%;
  height: 30px;
  min-height: 30px;
  line-height: 1.15;
  padding-top: 5px;
  padding-bottom: 4px;
  resize: vertical;
  overflow-y: auto;
  box-sizing: border-box;
}

.pricing-detail-expanded-field--wide[b-9z37fdyvu1] {
  grid-column: span 2;
}

/* Prefix and affix fields */

.pricing-detail-affix-field[b-9z37fdyvu1] {
  position: relative;
  display: block;
}

.pricing-detail-affix-field__affix[b-9z37fdyvu1] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-700, #334155);
  pointer-events: none;
  z-index: 1;
  line-height: 1;
  font-size: 12px;
}

.pricing-detail-affix-field--prefix .pricing-detail-affix-field__affix[b-9z37fdyvu1] {
  left: 10px;
}

.pricing-detail-affix-field--prefix .pricing-detail-affix-field__input[b-9z37fdyvu1] {
  padding-left: 24px;
}

/* Distributor pricing guidance */
/* ---------------------------------------------------------
   Keeps WAM instructions visible during pricing entry without
   blocking worksheet activity.
   --------------------------------------------------------- */

.pricing-detail-guidance-card[b-9z37fdyvu1] {
    margin-top: 4px;
    padding: 5px 8px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.035);
}

.pricing-detail-guidance-title[b-9z37fdyvu1] {
    margin-bottom: 3px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-900);
}

.pricing-detail-guidance-list[b-9z37fdyvu1] {
    margin: 0;
    padding-left: 17px;
    color: var(--text-600);
    font-size: 11px;
    line-height: 1.28;
}

    .pricing-detail-guidance-list li + li[b-9z37fdyvu1] {
        margin-top: 1px;
    }

/* Guidance visibility command */

.pricing-detail-guidance-toggle:hover span[b-9z37fdyvu1] {
  text-decoration: underline;
}

.pricing-detail-guidance-toggle:focus[b-9z37fdyvu1],
.pricing-detail-guidance-toggle:focus-visible[b-9z37fdyvu1],
.pricing-detail-guidance-toggle:active[b-9z37fdyvu1] {
  outline: 0;
  border: 0;
  box-shadow: none;
}

/* Distributor pricing field helpers */
/* ---------------------------------------------------------
   Provides compact guidance and warning text beneath pricing
   fields such as Dist Item # and Pre-Book / Ship Now.
   --------------------------------------------------------- */

.pricing-detail-field-help[b-9z37fdyvu1] {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
  color: var(--text-500);
}

.pricing-detail-field-help--danger[b-9z37fdyvu1] {
  color: #b5474f;
  font-weight: 600;
}

/* Promotion Pricing workflow history modal */
/* ---------------------------------------------------------
   Keeps long workflow history content scrolling inside the
   modal body instead of the underlying page.
   --------------------------------------------------------- */

.pricing-workflow-history-modal[b-9z37fdyvu1] {
  overflow: hidden;
}

.pricing-workflow-history-dialog[b-9z37fdyvu1] {
  max-height: calc(100vh - 96px);
  margin-top: 48px;
  margin-bottom: 48px;
}

.pricing-workflow-history-content[b-9z37fdyvu1] {
  max-height: calc(100vh - 96px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

  .pricing-workflow-history-content .modal-header[b-9z37fdyvu1],
  .pricing-workflow-history-content .modal-footer[b-9z37fdyvu1] {
    flex: 0 0 auto;
  }

.pricing-workflow-history-body[b-9z37fdyvu1] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

/* Workflow review details */
/* ---------------------------------------------------------
   Styles read-only review fields and workflow history entries
   shared by Distributor and WAM Admin review views.
   --------------------------------------------------------- */

.pricing-review-readonly-grid[b-9z37fdyvu1],
.admin-review-readonly-grid[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pricing-review-readonly-field[b-9z37fdyvu1],
.admin-review-readonly-field[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-review-readonly-field--wide[b-9z37fdyvu1],
.admin-review-readonly-field--wide[b-9z37fdyvu1] {
  grid-column: 1 / -1;
}

.pricing-review-readonly-label[b-9z37fdyvu1],
.admin-review-readonly-label[b-9z37fdyvu1] {
  margin-bottom: 5px;
  color: var(--text-600, #64748b);
  font-size: 12px;
  font-weight: 700;
}

.pricing-review-readonly-value[b-9z37fdyvu1],
.admin-review-readonly-value[b-9z37fdyvu1] {
  min-height: 38px;
  padding: 9px 11px;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--text-900, #0f2147);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pricing-review-history-list[b-9z37fdyvu1],
.admin-review-history-list[b-9z37fdyvu1] {
  display: grid;
  gap: 14px;
}

.pricing-review-history-row[b-9z37fdyvu1],
.admin-review-history-row[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.10);
}

  .pricing-review-history-row:last-child[b-9z37fdyvu1],
  .admin-review-history-row:last-child[b-9z37fdyvu1] {
    padding-bottom: 0;
    border-bottom: 0;
  }

.pricing-review-history-left[b-9z37fdyvu1],
.admin-review-history-left[b-9z37fdyvu1] {
  min-width: 0;
}

.pricing-review-history-title[b-9z37fdyvu1],
.admin-review-history-title[b-9z37fdyvu1] {
  color: var(--text-900, #0f2147);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.pricing-review-history-date[b-9z37fdyvu1],
.admin-review-history-date[b-9z37fdyvu1],
.pricing-review-history-role[b-9z37fdyvu1],
.admin-review-history-role[b-9z37fdyvu1] {
  margin-top: 4px;
  color: var(--text-600, #64748b);
  font-size: 12px;
  line-height: 1.25;
}

.pricing-review-history-right[b-9z37fdyvu1],
.admin-review-history-right[b-9z37fdyvu1] {
  min-width: 0;
  display: grid;
  gap: 10px;
}

/* Workflow audit changes */
/* ---------------------------------------------------------
   Displays field-level previous and new values recorded during
   Promotion Pricing workflow transitions.
   --------------------------------------------------------- */

.pricing-review-audit-modal-actions[b-9z37fdyvu1] {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.pricing-review-audit-modal-action[b-9z37fdyvu1],
.pricing-review-audit-toggle[b-9z37fdyvu1] {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--link-600, #2563eb);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

  .pricing-review-audit-modal-action i[b-9z37fdyvu1],
  .pricing-review-audit-toggle i[b-9z37fdyvu1] {
    font-size: 12px;
    line-height: 1;
  }

  .pricing-review-audit-modal-action:hover span[b-9z37fdyvu1],
  .pricing-review-audit-toggle:hover span[b-9z37fdyvu1] {
    text-decoration: underline;
  }

  .pricing-review-audit-modal-action:focus[b-9z37fdyvu1],
  .pricing-review-audit-modal-action:focus-visible[b-9z37fdyvu1],
  .pricing-review-audit-modal-action:active[b-9z37fdyvu1],
  .pricing-review-audit-toggle:focus[b-9z37fdyvu1],
  .pricing-review-audit-toggle:focus-visible[b-9z37fdyvu1],
  .pricing-review-audit-toggle:active[b-9z37fdyvu1] {
    outline: 0;
    border: 0;
    box-shadow: none;
  }

.pricing-review-audit-summary[b-9z37fdyvu1] {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 0;
}

.pricing-review-audit-summary-label[b-9z37fdyvu1] {
  margin-bottom: 0;
}

.pricing-review-readonly-field--audit[b-9z37fdyvu1] {
  margin-top: 2px;
  padding: 9px 11px;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  background: #f8fafc;
}

.pricing-review-audit-header[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 4px;
  padding: 0 9px;
}

.pricing-review-audit-header-values[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.pricing-review-audit-list[b-9z37fdyvu1] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pricing-review-audit-row[b-9z37fdyvu1] {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  padding: 7px 9px;
  border: 1px solid rgba(25, 35, 68, 0.08);
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.75);
}

.pricing-review-audit-field[b-9z37fdyvu1] {
  display: flex;
  align-items: center;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pricing-review-audit-values[b-9z37fdyvu1] {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  font-size: 12px;
  line-height: 1.35;
}

.pricing-review-audit-old[b-9z37fdyvu1],
.pricing-review-audit-new[b-9z37fdyvu1] {
  min-width: 0;
  min-height: 32px;
  display: flex;
  align-items: center;
  padding: 6px 8px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid rgba(25, 35, 68, 0.08);
  color: #334155;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pricing-review-audit-old[b-9z37fdyvu1] {
  color: #64748b;
}

.pricing-review-audit-new[b-9z37fdyvu1] {
  color: #0f172a;
  font-weight: 600;
}

.pricing-review-audit-arrow[b-9z37fdyvu1] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-weight: 700;
}

/* Sticky workflow actions */
/* ---------------------------------------------------------
   Keeps Save Draft and workflow actions anchored at the bottom
   of the pricing workspace.
   --------------------------------------------------------- */
.pricing-detail-actions-bar[b-9z37fdyvu1] {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  padding: 4px 12px 2px;
  background: rgb(248, 250, 252);
}

.pricing-detail-actions[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.pricing-detail-save-button[b-9z37fdyvu1] {
  min-height: 30px;
  padding: 4px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
}

/* Baseline refresh indicators */
/* ---------------------------------------------------------
   Highlights refreshed Manufacturer pricing baselines and
   provides contextual explanation without changing field data.
   --------------------------------------------------------- */
.pricing-detail-baseline-refresh-banner[b-9z37fdyvu1] {
  width: fit-content;
  max-width: calc(100% - 10px);
  min-height: 26px;
  margin: 0 8px 0 0;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: start;
  align-self: start;
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 999px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

  .pricing-detail-baseline-refresh-banner i[b-9z37fdyvu1] {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1;
  }

.pricing-detail-label--baseline-refreshed[b-9z37fdyvu1] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  color: #a16207 !important;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}

/* Promotion Cost Baseline Indicators
/* ---------------------------------------------------------
   Highlights synchronized read-only Base and Net Cost values
   while preserving the compact Cost Context layout.
   --------------------------------------------------------- */

.pricing-detail-cost-context-line--baseline-refreshed[b-9z37fdyvu1],
.pricing-detail-prepack-cost-context-line--baseline-refreshed[b-9z37fdyvu1] {
    color: #a16207;
    font-weight: 800;
}

    .pricing-detail-cost-context-line--baseline-refreshed span[b-9z37fdyvu1],
    .pricing-detail-cost-context-line--baseline-refreshed strong[b-9z37fdyvu1],
    .pricing-detail-prepack-cost-context-line--baseline-refreshed span[b-9z37fdyvu1],
    .pricing-detail-prepack-cost-context-line--baseline-refreshed strong[b-9z37fdyvu1] {
        color: #a16207 !important;
    }

.pricing-detail-cost-context-line[b-9z37fdyvu1] {
    align-items: center;
}

.pricing-detail-prepack-cost-context-line[b-9z37fdyvu1] {
    grid-template-columns: 68px auto 14px;
    align-items: center;
}

[b-9z37fdyvu1] .pricing-detail-baseline-refresh-tooltip-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #a16207;
    font-size: 10px;
    line-height: 1;
    cursor: help;
}

    [b-9z37fdyvu1] .pricing-detail-baseline-refresh-tooltip-trigger:hover,
    [b-9z37fdyvu1] .pricing-detail-baseline-refresh-tooltip-trigger:focus-visible {
        color: #854d0e;
    }

[b-9z37fdyvu1] .pricing-detail-gp-header-tooltip-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-500, #94a3b8);
    font-size: 11px;
    line-height: 1;
    cursor: help;
}

    [b-9z37fdyvu1] .pricing-detail-gp-header-tooltip-trigger:hover,
    [b-9z37fdyvu1] .pricing-detail-gp-header-tooltip-trigger:focus-visible {
        color: var(--brand-600, #2563eb);
    }

/* Responsive layout */
/* ---------------------------------------------------------
   Collapses overview and workflow layouts while preserving
   internal table scrolling, modal behavior, and pricing action
   placement across narrower viewports.
   --------------------------------------------------------- */

@media (max-width: 1120px) {
  .pricing-detail-summary-card-grid[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-detail-context-card .pricing-detail-context-body[b-9z37fdyvu1],
  .pricing-detail-workflow-card .pricing-detail-context-body[b-9z37fdyvu1] {
    min-height: 0;
  }
}

@media (max-width: 1180px) {
  .pricing-detail-prepack-summary[b-9z37fdyvu1] {
    overflow-x: auto;
  }

  .pricing-detail-prepack-summary-panel[b-9z37fdyvu1] {
    min-width: 920px;
  }
}

@media (max-width: 900px) {
  .pricing-detail-context-card .pricing-detail-context-body[b-9z37fdyvu1],
  .pricing-detail-workflow-card .pricing-detail-context-body[b-9z37fdyvu1] {
    min-height: 0;
  }

  .pricing-detail-context-grid[b-9z37fdyvu1] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(48px, 0.3fr);
  }

  .pricing-detail-expanded-grid--entry[b-9z37fdyvu1],
  .pricing-detail-expanded-grid--book[b-9z37fdyvu1] {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }

  .pricing-detail-expanded-field--comment[b-9z37fdyvu1] {
    min-width: 0;
  }

  /* Workflow audit responsive layout */
  .pricing-review-audit-header[b-9z37fdyvu1],
  .pricing-review-audit-row[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-review-audit-header[b-9z37fdyvu1] {
    display: none;
  }

  .pricing-review-audit-values[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-review-audit-arrow[b-9z37fdyvu1] {
    padding: 2px 0;
  }
}

@media (max-width: 640px) {
  .pricing-detail-section-title-row[b-9z37fdyvu1],
  .pricing-detail-section-meta-row[b-9z37fdyvu1] {
    align-items: flex-start;
    flex-direction: column;
  }

  .pricing-detail-section-primary-actions[b-9z37fdyvu1],
  .pricing-detail-section-actions[b-9z37fdyvu1] {
    justify-content: flex-start;
  }

  .pricing-detail-context-grid[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-detail-context-title-line[b-9z37fdyvu1] {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .pricing-detail-promo-period-inline[b-9z37fdyvu1]::before {
    content: "";
    margin-right: 0;
  }

  .pricing-detail-section-actions[b-9z37fdyvu1] {
    width: 100%;
    justify-content: flex-start;
  }

  .pricing-detail-pager[b-9z37fdyvu1] {
    align-items: flex-start;
    flex-direction: column;
  }

  .pricing-detail-pager-actions[b-9z37fdyvu1] {
    width: 100%;
    justify-content: flex-start;
  }

  .pricing-detail-expanded-grid--entry[b-9z37fdyvu1],
  .pricing-detail-expanded-grid--book[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-detail-expanded-field--wide[b-9z37fdyvu1],
  .pricing-detail-expanded-field--comment[b-9z37fdyvu1] {
    grid-column: span 1;
  }

  /* Pricing review divider controls */
  /* ---------------------------------------------------------
   Keeps the review title centered while overview visibility
   and preference controls remain aligned at the left.
   --------------------------------------------------------- */

  .pricing-detail-intro-band[b-9z37fdyvu1] {
    flex: 0 0 auto;
    min-height: 36px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 4px 0;
  }

  .pricing-detail-intro-actions[b-9z37fdyvu1] {
    grid-column: 1;
    justify-self: start;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
  }

  .pricing-detail-intro-center[b-9z37fdyvu1] {
    grid-column: 2;
    justify-self: center;
  }

  .pricing-detail-intro-side[b-9z37fdyvu1] {
    grid-column: 3;
    min-width: 0;
  }

  .pricing-detail-intro-center[b-9z37fdyvu1] {
    max-width: calc(100% - 96px);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .pricing-detail-workflow-review-grid[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-detail-workflow-review-cell + .pricing-detail-workflow-review-cell[b-9z37fdyvu1] {
    border-left: 0;
    border-top: 1px solid rgba(25, 35, 68, 0.10);
  }

  .pricing-review-readonly-grid[b-9z37fdyvu1],
  .admin-review-readonly-grid[b-9z37fdyvu1],
  .pricing-review-history-row[b-9z37fdyvu1],
  .admin-review-history-row[b-9z37fdyvu1] {
    grid-template-columns: 1fr;
  }

  .pricing-workflow-history-dialog[b-9z37fdyvu1] {
    max-height: calc(100vh - 24px);
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .pricing-workflow-history-content[b-9z37fdyvu1] {
    max-height: calc(100vh - 24px);
  }

  .pricing-workflow-history-body[b-9z37fdyvu1] {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* /Components/Shared/Promotions/DistributorPricingProjectionPreviewModal.razor.rz.scp.css */
/* =========================================================
   Distributor Pricing Projection Preview Modal
   ---------------------------------------------------------
   Shared modal for projection previews from Report, Queue,
   Admin detail, and Distributor detail pages.
   ========================================================= */

.pricing-projection-modal-backdrop[b-ruv4hhs8eq] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.48);
}

.pricing-projection-modal[b-ruv4hhs8eq] {
  width: min(1180px, calc(100vw - 48px));
  height: min(780px, calc(100vh - 48px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(25, 35, 68, 0.16);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
}

.pricing-projection-modal-header[b-ruv4hhs8eq] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px 12px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.10);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), #ffffff);
}

.pricing-projection-modal-title-block[b-ruv4hhs8eq] {
  min-width: 0;
}

.pricing-projection-modal-title[b-ruv4hhs8eq] {
  margin: 0;
  color: var(--text-900, #0f2147);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
}

.pricing-projection-modal-subtitle[b-ruv4hhs8eq] {
  margin-top: 4px;
  color: var(--text-600, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

/*Modal action button*/
.pricing-projection-modal-header-actions[b-ruv4hhs8eq] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.pricing-projection-modal-open-tab[b-ruv4hhs8eq] {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 8px;
  color: #334155;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

  .pricing-projection-modal-open-tab .bi[b-ruv4hhs8eq] {
    font-size: 13px;
    line-height: 1;
  }

.pricing-projection-modal-close[b-ruv4hhs8eq] {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(25, 35, 68, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: var(--text-600, #64748b);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

  .pricing-projection-modal-close:hover[b-ruv4hhs8eq] {
    color: var(--text-900, #0f2147);
    border-color: rgba(25, 35, 68, 0.22);
    background: #f8fafc;
  }

.pricing-projection-modal-body[b-ruv4hhs8eq] {
  min-height: 0;
  overflow: hidden;
  background: #f8fafc;
}

.pricing-projection-modal-frame[b-ruv4hhs8eq] {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: #ffffff;
}

.pricing-projection-modal-empty[b-ruv4hhs8eq] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-600, #64748b);
  font-size: 14px;
}
/* /Components/Shared/Promotions/DistributorPricingQueueShared.razor.rz.scp.css */
/* Distributor Pricing Queue Shared */
/* ---------------------------------------------------------
   Shared visual layer for WAM Admin and Distributor pricing queues.
   Parent pages retain data loading, authorization, and routing.
   --------------------------------------------------------- */

/* Page shell */

.pricing-queue-page[b-8rtd52i1lo] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    overflow: hidden;
    container-type: inline-size;
    container-name: pricing-queue-page;
}

.pricing-queue-workspace[b-8rtd52i1lo] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Summary cards */
/* ---------------------------------------------------------
   Compact operational cards aligned with Dashboard, Books,
   Promotion Cycles, Promotions, and Promotion Pricing.
   --------------------------------------------------------- */

.pricing-queue-summary-strip[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: grid;
    gap: 10px;
}

.pricing-queue-summary-strip--five[b-8rtd52i1lo] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pricing-queue-summary-strip--four[b-8rtd52i1lo] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pricing-queue-summary-card[b-8rtd52i1lo] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
    border-radius: 13px;
    box-shadow: var(--shadow-1, 0 1px 4px rgba(15, 23, 42, 0.08));
}

.pricing-queue-summary-card-button[b-8rtd52i1lo] {
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .pricing-queue-summary-card-button:hover[b-8rtd52i1lo] {
        border-color: rgba(29, 58, 109, 0.18);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .pricing-queue-summary-card-button.is-active[b-8rtd52i1lo] {
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .pricing-queue-summary-card-button:focus-visible[b-8rtd52i1lo] {
        outline: none;
        box-shadow: var(--focus-ring, 0 0 0 3px rgba(59, 130, 246, 0.25));
    }

.pricing-queue-summary-label[b-8rtd52i1lo] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600, #475569);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-queue-summary-value[b-8rtd52i1lo] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.pricing-queue-summary-meta[b-8rtd52i1lo] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500, #64748b);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-queue-summary-card--info[b-8rtd52i1lo] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.pricing-queue-summary-card--warning[b-8rtd52i1lo] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.pricing-queue-summary-card--success[b-8rtd52i1lo],
.pricing-queue-summary-card--completed[b-8rtd52i1lo] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.pricing-queue-summary-card--danger[b-8rtd52i1lo] {
    border-color: rgba(239, 68, 68, 0.26);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.05), #fff);
}

.pricing-queue-summary-card--info.is-active[b-8rtd52i1lo] {
    border-color: rgba(117, 140, 167, 0.34);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.pricing-queue-summary-card--warning.is-active[b-8rtd52i1lo] {
    border-color: rgba(250, 169, 75, 0.42);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}

.pricing-queue-summary-card--success.is-active[b-8rtd52i1lo],
.pricing-queue-summary-card--completed.is-active[b-8rtd52i1lo] {
    border-color: rgba(91, 196, 191, 0.48);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.pricing-queue-summary-card--danger.is-active[b-8rtd52i1lo] {
    border-color: rgba(239, 68, 68, 0.38);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.10), #fff);
}

/* Queue card */

.pricing-queue-card[b-8rtd52i1lo] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-200, rgba(25, 35, 68, 0.12));
    border-radius: 18px;
}

.pricing-queue-panel-header[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 12px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.pricing-queue-panel-header-copy[b-8rtd52i1lo] {
    min-width: 0;
    flex: 1 1 auto;
}

.pricing-queue-panel-header-actions[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.pricing-queue-card-title[b-8rtd52i1lo] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 18px;
    font-weight: 700;
}

.pricing-queue-card-subtitle[b-8rtd52i1lo] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
}

.pricing-queue-list-body[b-8rtd52i1lo] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    padding: 0;
}

/* Filters */

.pricing-queue-controls[b-8rtd52i1lo] {
    width: 100%;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 180px 155px minmax(210px, 235px) 92px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
}

.pricing-queue-page--admin .pricing-queue-controls[b-8rtd52i1lo] {
    grid-template-columns: minmax(300px, 1fr) 170px 145px minmax(210px, 240px) 90px;
}

.pricing-queue-control[b-8rtd52i1lo] {
    min-width: 0;
}

.pricing-queue-control-label[b-8rtd52i1lo] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700, #334155);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
}

.pricing-queue-search[b-8rtd52i1lo],
.pricing-queue-filter-select[b-8rtd52i1lo] {
    width: 100%;
    min-height: 38px;
    height: 38px;
    min-width: 0;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 12px;
    line-height: 1.2;
}

.pricing-queue-search-wrapper[b-8rtd52i1lo] {
    width: 100%;
}

.pricing-queue-control--search[b-8rtd52i1lo]  input.form-control.pricing-queue-search {
    min-height: 38px;
    height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 12px;
    line-height: 1.2;
}

    .pricing-queue-control--search[b-8rtd52i1lo]  input.form-control.pricing-queue-search::placeholder {
        font-size: 12px;
        line-height: 1.2;
        color: var(--text-500, #64748b);
    }

.pricing-queue-control-page-size .pricing-queue-filter-select[b-8rtd52i1lo] {
    min-width: 84px;
}

/* Promotion Cycle Filter */
/* ---------------------------------------------------------
   Keeps the searchable Promotion Cycle selector aligned with
   the compact Promotion Pricing filter toolbar.
   --------------------------------------------------------- */

.pricing-queue-cycle-filter-host[b-8rtd52i1lo] {
    min-width: 0;
}

    .pricing-queue-cycle-filter-host[b-8rtd52i1lo]  .searchable-select__button {
        min-height: 38px;
        height: 38px;
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12px;
        line-height: 1.2;
    }

    .pricing-queue-cycle-filter-host[b-8rtd52i1lo]  .searchable-select__menu {
        width: max(100%, 320px);
    }

/* Table shell */
/* ---------------------------------------------------------
   Provides the fixed-height queue workspace aligned with Promotions
   and Promotion Cycles. The table owns vertical and horizontal scrolling.
   --------------------------------------------------------- */

.pricing-queue-table-region[b-8rtd52i1lo] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.pricing-queue-table-scroll[b-8rtd52i1lo] {
    min-height: 0;
    position: relative;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #ffffff;
}

/* Queue table */

.pricing-queue-table[b-8rtd52i1lo] {
    width: 100%;
    margin: 0;
    min-width: 1060px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .pricing-queue-table thead th[b-8rtd52i1lo] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .pricing-queue-table tbody td[b-8rtd52i1lo] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        color: var(--text-900, #0f172a);
    }

    .pricing-queue-table tbody tr:hover td[b-8rtd52i1lo] {
        background: #fbfdff;
    }

/* Promotion Cycle Group Rows */
/* ---------------------------------------------------------
   Provides the outer grouping level for Promotion Pricing records.
   WAM Admin Manufacturer and Promotion groups remain nested below.
   --------------------------------------------------------- */

.pricing-queue-cycle-group-row td[b-8rtd52i1lo] {
    padding: 0 !important;
    border-top: 1px solid rgba(37, 99, 235, 0.20);
    border-bottom: 1px solid rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, 0.28);
}

.pricing-queue-table tbody tr.pricing-queue-cycle-group-row:hover td[b-8rtd52i1lo] {
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
}

/* Queue Expand and Collapse Controls */
/* ---------------------------------------------------------
   Adds Promotion Cycle and Admin subgroup expand and collapse
   controls while preserving compact enterprise table density.
   --------------------------------------------------------- */

.pricing-queue-cycle-toggle-all[b-8rtd52i1lo] {
    flex: 0 0 auto;
    padding: 3px 5px;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .pricing-queue-cycle-toggle-all:hover[b-8rtd52i1lo] {
        color: #143a74;
        text-decoration: underline;
    }

    .pricing-queue-cycle-toggle-all:focus-visible[b-8rtd52i1lo] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
        border-radius: 4px;
    }

.pricing-queue-cycle-group-toggle[b-8rtd52i1lo] {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    margin-left: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 7px;
    background: #f8fbff;
    color: #2563eb;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

    .pricing-queue-cycle-group-toggle:hover[b-8rtd52i1lo] {
        border-color: #b8cbea;
        background: #f2f7ff;
    }

    .pricing-queue-cycle-group-toggle:focus-visible[b-8rtd52i1lo] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
    }

.pricing-queue-group-toggle[b-8rtd52i1lo] {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 6px;
    background: #fbfdff;
    color: #2563eb;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

    .pricing-queue-group-toggle:hover[b-8rtd52i1lo] {
        border-color: #c4d4ee;
        background: #f5f9ff;
    }

    .pricing-queue-group-toggle:focus-visible[b-8rtd52i1lo] {
        outline: 2px solid rgba(37, 99, 235, 0.18);
        outline-offset: 2px;
    }

.pricing-queue-cycle-group-header[b-8rtd52i1lo] {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 10px 4px 8px;
}

.pricing-queue-cycle-group-main[b-8rtd52i1lo] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.pricing-queue-cycle-group-label[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 2px 6px;
    border: 1px solid rgba(59, 92, 148, 0.20);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.88);
    color: #526b91;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.pricing-queue-cycle-group-name[b-8rtd52i1lo] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-queue-cycle-group-period[b-8rtd52i1lo] {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.pricing-queue-cycle-group-count[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 21px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #475569;
    font-size: 10.5px;
    font-weight: 800;
    white-space: nowrap;
}

/* WAM Admin Manufacturer and Promotion Groups */
/* ---------------------------------------------------------
   Provides the second grouping level beneath Promotion Cycle.
   Distributor rows remain the operational record level.
   --------------------------------------------------------- */

.pricing-queue-group-row td[b-8rtd52i1lo] {
    padding: 8px 12px 0 !important;
    border-top: 0;
    border-bottom: 0;
    background: transparent !important;
}

.pricing-queue-table tbody tr.pricing-queue-group-row:hover td[b-8rtd52i1lo] {
    background: transparent !important;
}

.pricing-queue-group-header[b-8rtd52i1lo] {
    position: relative;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 5px 12px 5px 14px;
    border: 1px solid rgba(56, 97, 163, 0.18);
    border-bottom-color: rgba(56, 97, 163, 0.12);
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
}

.pricing-queue-group-row--collapsed .pricing-queue-group-header[b-8rtd52i1lo] {
    border-radius: 8px;
}

.pricing-queue-group-sequence[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    min-height: 18px;
    padding: 1px 6px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.pricing-queue-group-title[b-8rtd52i1lo] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.pricing-queue-group-part[b-8rtd52i1lo] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-queue-group-label[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 16px;
    padding: 1px 5px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 4px;
    background: #ffffff;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.pricing-queue-group-value[b-8rtd52i1lo] {
    min-width: 0;
    color: #334155;
    font-size: 11.5px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-queue-group-value--promotion[b-8rtd52i1lo] {
    color: #1d4ed8;
    font-weight: 750;
}

.pricing-queue-group-separator[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9px;
    height: 16px;
    color: #b0bac8;
    font-size: 9px;
    line-height: 1;
}

    .pricing-queue-group-separator .bi[b-8rtd52i1lo] {
        font-size: 10px;
        line-height: 1;
    }

.pricing-queue-group-count[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 19px;
    padding: 2px 8px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

.pricing-queue-table thead th:first-child[b-8rtd52i1lo],
.pricing-queue-table tbody td:first-child[b-8rtd52i1lo] {
    padding-left: 12px;
}

.pricing-queue-table thead th:last-child[b-8rtd52i1lo],
.pricing-queue-table tbody td:last-child[b-8rtd52i1lo] {
    padding-right: 12px;
}

/* WAM Admin Promotion Group Child Rows */
/* ---------------------------------------------------------
   Keeps Distributor pricing rows visually contained inside
   the Manufacturer / Promotion group while preserving the
   existing table columns and row actions.
   --------------------------------------------------------- */

.pricing-queue-page--admin .pricing-queue-group-child-row > td:first-child[b-8rtd52i1lo] {
    position: relative;
    padding-left: 26px !important;
}

    .pricing-queue-page--admin .pricing-queue-group-child-row > td:first-child[b-8rtd52i1lo]::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 0;
        bottom: 0;
        width: 1px;
        background: rgba(56, 97, 163, 0.18);
        pointer-events: none;
    }

.pricing-queue-page--admin .pricing-queue-group-child-row > td:last-child[b-8rtd52i1lo] {
    position: relative;
    padding-right: 26px !important;
}

    .pricing-queue-page--admin .pricing-queue-group-child-row > td:last-child[b-8rtd52i1lo]::after {
        content: "";
        position: absolute;
        right: 12px;
        top: 0;
        bottom: 0;
        width: 1px;
        background: rgba(56, 97, 163, 0.18);
        pointer-events: none;
    }

.pricing-queue-page--admin .pricing-queue-group-child-row > td:first-child[b-8rtd52i1lo] {
    border-bottom: 0;
    background: linear-gradient(to right, transparent 0, transparent 12px, #edf2f7 12px, #edf2f7 100%) bottom / 100% 1px no-repeat, #ffffff !important;
}

.pricing-queue-page--admin .pricing-queue-group-child-row > td:last-child[b-8rtd52i1lo] {
    border-bottom: 0;
    background: linear-gradient(to right, #edf2f7 0, #edf2f7 calc(100% - 12px), transparent calc(100% - 12px), transparent 100%) bottom / 100% 1px no-repeat, #ffffff !important;
}

.pricing-queue-page--admin .pricing-queue-group-child-row--last > td[b-8rtd52i1lo] {
    border-bottom: 0;
}

    .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:first-child[b-8rtd52i1lo] {
        background: linear-gradient(to right, transparent 0, transparent 21px, rgba(56, 97, 163, 0.18) 21px, rgba(56, 97, 163, 0.18) 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

        .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:first-child[b-8rtd52i1lo]::before {
            display: none;
        }

        .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:first-child[b-8rtd52i1lo]::after {
            content: "";
            position: absolute;
            left: 12px;
            top: 0;
            bottom: 0;
            width: 9px;
            border-left: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom-left-radius: 8px;
            pointer-events: none;
        }

    .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:last-child[b-8rtd52i1lo] {
        background: linear-gradient(to right, rgba(56, 97, 163, 0.18) 0, rgba(56, 97, 163, 0.18) calc(100% - 21px), transparent calc(100% - 21px), transparent 100%) bottom / 100% 1px no-repeat, #ffffff !important;
    }

        .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:last-child[b-8rtd52i1lo]::after {
            display: none;
        }

        .pricing-queue-page--admin .pricing-queue-group-child-row--last > td:last-child[b-8rtd52i1lo]::before {
            content: "";
            position: absolute;
            right: 12px;
            top: 0;
            bottom: 0;
            width: 9px;
            border-right: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom: 1px solid rgba(56, 97, 163, 0.18);
            border-bottom-right-radius: 8px;
            pointer-events: none;
        }

/* Promotion Group and Cycle Spacing */
/* ---------------------------------------------------------
   Separates nested Manufacturer / Promotion groups and
   Promotion Cycles in both expanded and collapsed states.
   --------------------------------------------------------- */

.pricing-queue-page--admin .pricing-queue-group-child-row--last + .pricing-queue-group-row > td[b-8rtd52i1lo] {
    padding-top: 8px !important;
}

.pricing-queue-page--admin .pricing-queue-group-child-row--last + .pricing-queue-cycle-group-row > td[b-8rtd52i1lo],
.pricing-queue-page--admin .pricing-queue-group-row--collapsed + .pricing-queue-cycle-group-row > td[b-8rtd52i1lo] {
    border-top: 8px solid #ffffff !important;
}

.pricing-queue-cycle-group-row--collapsed + .pricing-queue-cycle-group-row--collapsed > td[b-8rtd52i1lo] {
    border-top: 6px solid #ffffff !important;
}

/* Column sizing */
/* ---------------------------------------------------------
   Keeps the base table at a 1060px internal minimum before horizontal
   scrolling. Support columns remain compact while Promotion absorbs space.
   --------------------------------------------------------- */

.pricing-queue-col-promotion[b-8rtd52i1lo] {
    width: 32%;
    min-width: 250px;
}

.pricing-queue-col-type[b-8rtd52i1lo] {
    width: 92px;
    min-width: 86px;
    text-align: center;
    white-space: nowrap;
}

.pricing-queue-col-manufacturer[b-8rtd52i1lo] {
    width: 132px;
    min-width: 120px;
    white-space: normal;
}

.pricing-queue-col-distributor[b-8rtd52i1lo] {
    width: 132px;
    min-width: 120px;
    white-space: normal;
}

.pricing-queue-col-period[b-8rtd52i1lo] {
    width: 78px;
    min-width: 70px;
    white-space: nowrap;
}

.pricing-queue-col-items[b-8rtd52i1lo] {
    width: 58px;
    min-width: 54px;
    text-align: center;
    white-space: nowrap;
}

.pricing-queue-col-status[b-8rtd52i1lo] {
    width: 138px;
    min-width: 132px;
    white-space: nowrap;
}

.pricing-queue-col-date[b-8rtd52i1lo] {
    width: 136px;
    min-width: 126px;
    color: var(--text-700, #334155);
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
}

.pricing-queue-col-actions[b-8rtd52i1lo] {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
}

.pricing-queue-page--projection-preview .pricing-queue-col-actions[b-8rtd52i1lo] {
    width: 132px;
    min-width: 132px;
    max-width: 132px;
}

.pricing-queue-page--distributor .pricing-queue-col-actions[b-8rtd52i1lo] {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
}

.pricing-queue-page--distributor.pricing-queue-page--projection-preview .pricing-queue-col-actions[b-8rtd52i1lo] {
    width: 132px;
    min-width: 132px;
    max-width: 132px;
}

.pricing-queue-page--distributor .pricing-queue-col-manufacturer[b-8rtd52i1lo] {
    width: 136px;
    min-width: 124px;
}

.pricing-queue-page--distributor .pricing-queue-col-date[b-8rtd52i1lo] {
    width: 130px;
    min-width: 120px;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Pins Actions to the right edge of the table scroll viewport.
   The sticky cell stays neutral while the inner action zone owns emphasis.
   --------------------------------------------------------- */
.pricing-queue-table th.pricing-queue-col-actions[b-8rtd52i1lo],
.pricing-queue-table td.pricing-queue-col-actions[b-8rtd52i1lo] {
    position: sticky;
    right: 0;
    z-index: 10;
    text-align: left;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.pricing-queue-table thead th.pricing-queue-col-actions[b-8rtd52i1lo] {
    z-index: 18;
    background: #ffffff;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.pricing-queue-table tbody tr:hover td.pricing-queue-col-actions[b-8rtd52i1lo] {
    z-index: 40;
    background: #fbfdff;
}

.pricing-queue-table tbody td.pricing-queue-col-actions:focus-within[b-8rtd52i1lo] {
    z-index: 40;
}

.pricing-queue-table td.pricing-queue-col-items[b-8rtd52i1lo] {
    font-weight: 600;
}

/* WAM Admin grouped column layout */
/* ---------------------------------------------------------
   Removes Promotion and Manufacturer row columns because group headers
   provide that context. Distributor becomes the primary row identity.
   --------------------------------------------------------- */
.pricing-queue-page--admin .pricing-queue-table[b-8rtd52i1lo] {
    min-width: 980px;
}

.pricing-queue-page--admin .pricing-queue-col-type[b-8rtd52i1lo] {
    width: 118px;
    min-width: 108px;
}

.pricing-queue-page--admin .pricing-queue-col-distributor[b-8rtd52i1lo] {
    width: 24%;
    min-width: 180px;
    white-space: normal;
}

.pricing-queue-page--admin .pricing-queue-col-period[b-8rtd52i1lo] {
    width: 110px;
    min-width: 100px;
}

.pricing-queue-page--admin .pricing-queue-col-items[b-8rtd52i1lo] {
    width: 76px;
    min-width: 68px;
}

.pricing-queue-page--admin .pricing-queue-col-status[b-8rtd52i1lo] {
    width: 170px;
    min-width: 160px;
}

.pricing-queue-page--admin .pricing-queue-col-date[b-8rtd52i1lo] {
    width: 156px;
    min-width: 146px;
}

.pricing-queue-page--admin.pricing-queue-page--projection-preview .pricing-queue-col-actions[b-8rtd52i1lo] {
    width: 146px;
    min-width: 146px;
    max-width: 146px;
}

/* Sort controls */
/* ---------------------------------------------------------
   Applies the shared Books and Promotion Cycles table-sort treatment
   with active-sort emphasis.
   --------------------------------------------------------- */

.pricing-queue-sort-button[b-8rtd52i1lo] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .pricing-queue-sort-button:hover[b-8rtd52i1lo],
    .pricing-queue-sort-button--active[b-8rtd52i1lo] {
        color: #2563eb;
    }

.pricing-queue-sort-indicator[b-8rtd52i1lo] {
    font-size: 0.72rem;
    line-height: 1;
}

/* Row text hierarchy */

.pricing-queue-primary[b-8rtd52i1lo] {
    color: var(--text-900, #0f172a);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
}

.pricing-queue-secondary[b-8rtd52i1lo] {
    margin-top: 3px;
    color: var(--text-600, #475569);
    font-size: 12px;
    line-height: 1.35;
}

.pricing-queue-primary-title-wrap[b-8rtd52i1lo] {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

.pricing-queue-primary-title[b-8rtd52i1lo] {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.3;
}

.pricing-queue-truncate[b-8rtd52i1lo] {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Worksheet type badges */
/* ---------------------------------------------------------
   Uses the established Open-Stock and Pre-Pack visual treatments.
   --------------------------------------------------------- */

.pricing-queue-type-badge[b-8rtd52i1lo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.pricing-queue-type-badge--prepack[b-8rtd52i1lo] {
    background: rgba(63, 111, 159, 0.12);
    color: rgb(63, 111, 159);
    border: 1px solid rgba(63, 111, 159, 0.16);
}

.pricing-queue-type-badge--openstock[b-8rtd52i1lo] {
    background: rgba(142, 59, 103, 0.10);
    color: rgb(142, 59, 103);
    border: 1px solid rgba(142, 59, 103, 0.16);
}

.pricing-queue-type-badge--default[b-8rtd52i1lo] {
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

/* Pricing status badges */

.pricing-queue-badge[b-8rtd52i1lo] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.pricing-queue-badge--released[b-8rtd52i1lo] {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
}

.pricing-queue-badge--progress[b-8rtd52i1lo] {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.pricing-queue-badge--submitted[b-8rtd52i1lo] {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
}

.pricing-queue-badge--returned[b-8rtd52i1lo] {
    background: rgba(239, 68, 68, 0.14);
    color: #b91c1c;
}

.pricing-queue-badge--completed[b-8rtd52i1lo] {
    background: rgba(34, 197, 94, 0.16);
    color: #15803d;
}

.pricing-queue-badge--no-participation[b-8rtd52i1lo] {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.pricing-queue-badge--cancelled[b-8rtd52i1lo],
.pricing-queue-badge--default[b-8rtd52i1lo] {
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

/* Row actions */
/* ---------------------------------------------------------
   Provides a compact action surface without tinting the full sticky
   column or increasing its width.
   --------------------------------------------------------- */

.pricing-queue-row-actions[b-8rtd52i1lo] {
    width: 100%;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0 5px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    flex-wrap: nowrap;
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.pricing-queue-table tbody tr:hover .pricing-queue-row-actions[b-8rtd52i1lo] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.pricing-queue-page--projection-preview .pricing-queue-row-actions[b-8rtd52i1lo] {
    min-height: 28px;
    flex-direction: row;
    gap: 0;
    padding: 0 5px;
}

.pricing-queue-link-action[b-8rtd52i1lo] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.pricing-queue-link-action--primary[b-8rtd52i1lo] {
    color: var(--link-600, #2563eb);
    font-weight: 700;
}

.pricing-queue-link-action--projection[b-8rtd52i1lo]::before {
    content: "·";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    color: rgba(100, 116, 139, 0.62);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.pricing-queue-link-action-text[b-8rtd52i1lo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.pricing-queue-link-action:hover[b-8rtd52i1lo],
.pricing-queue-link-action--projection:hover[b-8rtd52i1lo] {
    color: #1d4ed8;
}

    .pricing-queue-link-action:hover .pricing-queue-link-action-text[b-8rtd52i1lo],
    .pricing-queue-link-action--projection:hover .pricing-queue-link-action-text[b-8rtd52i1lo] {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

.pricing-queue-link-action:focus[b-8rtd52i1lo],
.pricing-queue-link-action:focus-visible[b-8rtd52i1lo],
.pricing-queue-link-action:active[b-8rtd52i1lo] {
    outline: 0;
    box-shadow: none;
}

/* Queue states */

.pricing-queue-state[b-8rtd52i1lo] {
    padding: 18px 16px;
    color: var(--text-600, #475569);
}

.pricing-queue-state--error[b-8rtd52i1lo] {
    padding: 12px 16px 0;
}

/* Pager */

.pricing-queue-pager[b-8rtd52i1lo] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 6px 14px 4px;
    background: #f8fafc;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
    flex-wrap: wrap;
}

.pricing-queue-pager-meta[b-8rtd52i1lo] {
    color: var(--text-600, #475569);
    font-size: 12px;
}

.pricing-queue-pager-actions[b-8rtd52i1lo] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pricing-queue-pager-page[b-8rtd52i1lo] {
    min-width: 88px;
    text-align: center;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
}

/* =====================================
   Promotion Cycle Context
   ---------------------------------------------------------
   Displays the exact Promotion Cycle applied from Cycle Summary
   without adding a second filter-clear action.
   ===================================== */

.pricing-queue-cycle-context[b-8rtd52i1lo] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 12px;
    padding: 7px 10px;
    border: 1px solid #cfe0fb;
    border-radius: 8px;
    background: #f4f8ff;
}

.pricing-queue-cycle-context-label[b-8rtd52i1lo] {
    color: #5e7698;
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pricing-queue-cycle-context-value[b-8rtd52i1lo] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 11.5px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive behavior */
/* ---------------------------------------------------------
   Uses container queries based on available content width after
   sidebar expansion or collapse.
   --------------------------------------------------------- */

@media (min-width: 1600px) {
    .pricing-queue-table[b-8rtd52i1lo] {
        min-width: 1120px;
    }

    .pricing-queue-col-manufacturer[b-8rtd52i1lo] {
        width: 150px;
        min-width: 136px;
    }

    .pricing-queue-col-distributor[b-8rtd52i1lo] {
        width: 150px;
        min-width: 136px;
    }
}

@container pricing-queue-page (max-width: 1200px) {
    .pricing-queue-controls[b-8rtd52i1lo] {
        grid-template-columns: minmax(260px, 1fr) 180px 180px 108px;
    }
}

@container pricing-queue-page (max-width: 900px) {
    .pricing-queue-summary-strip--five[b-8rtd52i1lo],
    .pricing-queue-summary-strip--four[b-8rtd52i1lo] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pricing-queue-page--admin .pricing-queue-controls[b-8rtd52i1lo] {
        grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(120px, 1fr));
    }
}

@container pricing-queue-page (max-width: 760px) {
    .pricing-queue-controls[b-8rtd52i1lo] {
        grid-template-columns: 1fr;
    }

    .pricing-queue-table-region[b-8rtd52i1lo] {
        margin-left: 12px;
        margin-right: 12px;
    }
}

@container pricing-queue-page (max-width: 640px) {
    .pricing-queue-summary-strip--five[b-8rtd52i1lo],
    .pricing-queue-summary-strip--four[b-8rtd52i1lo] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/Promotions/PromotionDownstreamImpactModal.razor.rz.scp.css */
.promotion-downstream-impact-dialog[b-v9exr9ykyg] {
  max-width: 920px;
}

  .promotion-downstream-impact-dialog .modal-content[b-v9exr9ykyg] {
    max-height: calc(100vh - 56px);
    display: flex;
    flex-direction: column;
  }

.promotion-downstream-impact-body[b-v9exr9ykyg] {
  overflow-y: auto;
  max-height: calc(100vh - 190px);
  padding-right: 16px;
}

  .promotion-downstream-impact-body[b-v9exr9ykyg]::-webkit-scrollbar {
    width: 10px;
  }

  .promotion-downstream-impact-body[b-v9exr9ykyg]::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 999px;
  }

  .promotion-downstream-impact-body[b-v9exr9ykyg]::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
  }

    .promotion-downstream-impact-body[b-v9exr9ykyg]::-webkit-scrollbar-thumb:hover {
      background: #64748b;
    }

.promotion-downstream-impact-summary[b-v9exr9ykyg] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border-200, #e2e8f0);
  border-radius: 12px;
  overflow: hidden;
}

.promotion-downstream-impact-summary-header[b-v9exr9ykyg] {
  padding: 8px 14px;
  font-weight: 700;
  border-bottom: 1px solid var(--border-200, #e2e8f0);
}

.promotion-downstream-impact-summary-body[b-v9exr9ykyg] {
  padding: 12px 14px;
}

.promotion-downstream-impact-metric[b-v9exr9ykyg] {
  border: 1px solid var(--border-200, #e2e8f0);
  border-radius: 10px;
  padding: 10px 12px;
  height: 100%;
  background: #ffffff;
}

.promotion-downstream-impact-metric-label[b-v9exr9ykyg] {
  font-size: 0.78rem;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.promotion-downstream-impact-metric-value[b-v9exr9ykyg] {
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.2;
  color: #0f172a;
}

.promotion-downstream-impact-metric-help[b-v9exr9ykyg] {
  font-size: 0.82rem;
  color: #64748b;
}

.promotion-downstream-impact-note[b-v9exr9ykyg] {
  border: 1px solid #fde68a;
  background: #fffbeb;
  border-radius: 10px;
  padding: 10px 12px;
  color: #78350f;
}

.promotion-downstream-impact-details[b-v9exr9ykyg] {
  border: 1px solid var(--border-200, #e2e8f0);
  border-radius: 10px;
  background: #ffffff;
  padding: 9px 12px;
}

  .promotion-downstream-impact-details summary[b-v9exr9ykyg] {
    cursor: pointer;
    font-weight: 700;
    color: #334155;
  }

  .promotion-downstream-impact-details[open] summary[b-v9exr9ykyg] {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-200, #e2e8f0);
  }
/* /Components/Shared/Promotions/PromotionEditShared.razor.rz.scp.css */
/* Promotion Edit shared styles */
/* ---------------------------------------------------------
   Follows the visual order of the shared Promotion Edit component.
   Base layout, workflow sections, item entry, modals, and
   responsive overrides remain grouped by purpose.
   --------------------------------------------------------- */

/* Page shell */
/* ---------------------------------------------------------
   Bounds the Promotion Edit workspace and participates in the
   page-height chain so the form can own internal scroll.
   --------------------------------------------------------- */

.promotion-edit-page[b-d3jplb9s3x] {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 2px 0 0;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    transition: background 0.18s ease;
    box-sizing: border-box;
    max-width: 100%;
    container-type: inline-size;
    container-name: promotion-edit;
}

    .promotion-edit-page[b-d3jplb9s3x]::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(circle at top center, rgba(255, 255, 255, 0.12), transparent 44%), linear-gradient( to right, rgba(255, 255, 255, 0.06), transparent 12%, transparent 88%, rgba(255, 255, 255, 0.06) );
    }

/* Edit workspace */
/* ---------------------------------------------------------
   Separates stable header context, the scrollable form region,
   and anchored workflow actions.
   --------------------------------------------------------- */

.promotion-edit-workspace[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    overflow: hidden;
}

.promotion-edit-workspace--summary-collapsed[b-d3jplb9s3x] {
    gap: 0;
}

.promotion-edit-header-region[b-d3jplb9s3x] {
    flex: 0 0 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Edit form host */
/* ---------------------------------------------------------
   Keeps the wrapper and generated EditForm in the flex height
   chain required for internal scrolling.
   --------------------------------------------------------- */

.promotion-edit-form-host[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.promotion-edit-projected-region[b-d3jplb9s3x] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.promotion-edit-form-host[b-d3jplb9s3x]  form.promotion-edit-form-root {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin: 0;
}

.promotion-edit-form-host[b-d3jplb9s3x]  form.promotion-edit-form-root {
    min-height: 0;
}

/* Form shell */
/* ---------------------------------------------------------
   Contains the entry controls and framed Promotion workspace.
   The entry controls remain outside the bordered form frame.
   --------------------------------------------------------- */

.promotion-edit-form-shell[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Form workspace frame */
/* ---------------------------------------------------------
   Frames the internally scrolling form body and anchored
   workflow command bar.
   --------------------------------------------------------- */

.promotion-edit-form-frame[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.56);
}

.promotion-edit-form-viewport[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 4px 2px 4px 5px;
}

/* Form viewport scroll cue */
/* ---------------------------------------------------------
   Adds a subtle inset edge to distinguish the scrollable form
   body from the stable context above.
   --------------------------------------------------------- */

.promotion-edit-form-viewport[b-d3jplb9s3x] {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

/* Previous Promotion Source Context */
/* ---------------------------------------------------------
   Displays reusable Promotion lineage at the top of the internally
   scrolling form. Source details remain visible after Save Draft,
   while date and Product Master notices guide required review.
   --------------------------------------------------------- */

.promotion-reuse-context-banner[b-d3jplb9s3x] {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0 0 2px;
    padding: 11px 13px;
    border: 1px solid rgba(37, 99, 235, 0.20);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.055), rgba(255, 255, 255, 0.92));
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.035);
}

.promotion-reuse-context-banner__icon[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.10);
    color: #1d4ed8;
    font-size: 14px;
}

.promotion-reuse-context-banner__content[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.promotion-reuse-context-banner__header[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.promotion-reuse-context-banner__heading[b-d3jplb9s3x] {
    min-width: 0;
    color: var(--text-900, #0f172a);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.promotion-reuse-context-banner__id[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.promotion-reuse-context-banner__source[b-d3jplb9s3x] {
    overflow: hidden;
    color: var(--text-800, #1e293b);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-reuse-context-banner__meta[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.3;
}

.promotion-reuse-context-banner__separator[b-d3jplb9s3x] {
    color: rgba(100, 116, 139, 0.60);
}

.promotion-reuse-context-banner__date-note[b-d3jplb9s3x] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 3px;
    color: #475569;
    font-size: 11px;
    line-height: 1.35;
}

    .promotion-reuse-context-banner__date-note i[b-d3jplb9s3x] {
        flex: 0 0 auto;
        margin-top: 1px;
        color: #2563eb;
    }

.promotion-reuse-context-banner__warning[b-d3jplb9s3x] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 5px;
    padding: 7px 8px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.075);
    color: #92400e;
    font-size: 11px;
    line-height: 1.35;
}

    .promotion-reuse-context-banner__warning i[b-d3jplb9s3x] {
        flex: 0 0 auto;
        margin-top: 1px;
        color: #d97706;
    }

    .promotion-reuse-context-banner__warning strong[b-d3jplb9s3x] {
        font-weight: 700;
    }

.promotion-reuse-context-banner__warning-content[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
}

.promotion-reuse-context-banner__warning-list[b-d3jplb9s3x] {
    display: grid;
    gap: 2px;
    margin: 5px 0 0;
    padding-left: 18px;
}

    .promotion-reuse-context-banner__warning-list li[b-d3jplb9s3x] {
        padding-left: 1px;
        color: #78350f;
        font-weight: 600;
    }

/* Form command bar */
/* ---------------------------------------------------------
   Anchors draft, submit, and status-specific workflow actions
   below the internally scrolling form.
   --------------------------------------------------------- */

.promotion-edit-form-actions-bar[b-d3jplb9s3x] {
    position: relative;
    z-index: 5;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
    padding: 3px 8px 3px 10px;
    background: transparent;
    box-shadow: none;
}

    /* Form command buttons */
    /* ---------------------------------------------------------
   Keeps anchored workflow actions compact without changing
   the command bar layout.
   --------------------------------------------------------- */

    .promotion-edit-form-actions-bar .btn[b-d3jplb9s3x] {
        min-height: 30px;
        padding: 4px 14px;
        font-size: 14px;
        line-height: 1.15;
        border-radius: 8px;
    }

.promotion-edit-state[b-d3jplb9s3x] {
    padding: 18px 16px;
    color: var(--text-600);
}

.promotion-edit-empty[b-d3jplb9s3x] {
    color: var(--text-600);
    padding: 6px 2px;
}

.promotion-edit-form-actions[b-d3jplb9s3x] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

/* Shared card styling */
/* ---------------------------------------------------------
   Defines the base surface, border, header, and body treatment
   used by Promotion Edit cards.
   --------------------------------------------------------- */

.promotion-edit-card[b-d3jplb9s3x] {
    background: var(--bg-surface);
    border: 1px solid var(--border-200);
    border-radius: var(--radius-2);
    box-shadow: var(--shadow-1);
    overflow: hidden;
    margin-bottom: 0;
}

.promotion-edit-card-header[b-d3jplb9s3x] {
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--border-200);
}

.promotion-edit-card-header-split[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 12px;
    flex-wrap: wrap;
    padding-top: 0;
    padding-bottom: 0;
}

.promotion-edit-card-title[b-d3jplb9s3x] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-900);
}

.promotion-edit-card-body[b-d3jplb9s3x] {
    padding: 16px;
}

/* Promotion workflow sections */
/* ---------------------------------------------------------
   Controls top-level section shells, collapsed summaries,
   validation indicators, chevrons, and section body spacing.
   --------------------------------------------------------- */

.promotion-workflow-section[b-d3jplb9s3x] {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-color: rgba(25, 35, 68, 0.10);
    background: #ffffff;
}

    .promotion-workflow-section + .promotion-workflow-section[b-d3jplb9s3x],
    .promotion-workflow-section + .promotion-layout-row[b-d3jplb9s3x],
    .promotion-layout-row + .promotion-workflow-section[b-d3jplb9s3x] {
        margin-top: 8px;
    }

.promotion-workflow-section--setup[b-d3jplb9s3x] {
    padding: 0;
}

.promotion-workflow-section--collapsed[b-d3jplb9s3x] {
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.045);
}

.promotion-workflow-section-header[b-d3jplb9s3x] {
    width: 100%;
    min-height: 42px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: var(--text-900, #0f2147);
    text-align: left;
    cursor: pointer;
}

    /* Workflow header alignment */
    /* ---------------------------------------------------------
   Keeps titles left, collapsed summaries in the available
   center space, and warnings and chevrons fixed right.
   --------------------------------------------------------- */

    .promotion-workflow-section-header > .promotion-workflow-section-title-wrap[b-d3jplb9s3x] {
        grid-column: 1;
    }

    .promotion-workflow-section-header > .promotion-workflow-section-summary[b-d3jplb9s3x] {
        grid-column: 2;
        justify-self: start;
    }

    .promotion-workflow-section-header[b-d3jplb9s3x]  .promotion-workflow-section-warning {
        grid-column: 3;
        justify-self: end;
    }

    .promotion-workflow-section-header > i:last-child[b-d3jplb9s3x] {
        grid-column: 4;
        justify-self: end;
        width: 14px;
        text-align: center;
    }

    .promotion-workflow-section-header:hover[b-d3jplb9s3x] {
        background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
    }

    .promotion-workflow-section-header:focus[b-d3jplb9s3x],
    .promotion-workflow-section-header:focus-visible[b-d3jplb9s3x],
    .promotion-workflow-section-heading-button:focus[b-d3jplb9s3x],
    .promotion-workflow-section-heading-button:focus-visible[b-d3jplb9s3x] {
        outline: 0;
        box-shadow: none;
    }

    .promotion-workflow-section-header i[b-d3jplb9s3x],
    .promotion-workflow-section-heading-button i[b-d3jplb9s3x] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--text-500, #64748b);
        font-size: 13px;
        line-height: 1;
        vertical-align: middle;
    }

.promotion-workflow-section-title-wrap[b-d3jplb9s3x] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.promotion-workflow-section-title[b-d3jplb9s3x] {
    min-width: 0;
    color: var(--text-900, #0f2147);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.promotion-workflow-section-summary[b-d3jplb9s3x] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.promotion-workflow-summary-pair[b-d3jplb9s3x] {
    min-width: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

    .promotion-workflow-summary-pair:not(:last-child)[b-d3jplb9s3x]::after {
        content: "|";
        margin: 0 7px;
        color: rgba(100, 116, 139, 0.55);
        font-weight: 600;
    }

.promotion-workflow-summary-label[b-d3jplb9s3x] {
    flex: 0 0 auto;
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.015em;
}

.promotion-workflow-summary-value[b-d3jplb9s3x] {
    min-width: 0;
    color: var(--text-800, #1e293b);
    font-size: 12px;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
}

.promotion-workflow-section-body[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-workflow-section-body--setup[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    background: rgba(248, 250, 252, 0.48);
}

    .promotion-workflow-section-body--setup > .promotion-layout-row[b-d3jplb9s3x],
    .promotion-workflow-section-body--setup > .promotion-layout-card[b-d3jplb9s3x] {
        margin: 0;
    }

.promotion-workflow-section-body--items[b-d3jplb9s3x] {
    padding-top: 10px;
}

/* Expanded Items command row */
.promotion-items-command-row[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: -4px -4px 8px;
    padding: 0 4px 4px;
    border-bottom: 0;
}

.promotion-items-command-status[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-items-command-row .promotion-items-header-actions[b-d3jplb9s3x] {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

/* Items section header */
.promotion-workflow-section-header--items[b-d3jplb9s3x] {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.promotion-workflow-section-heading-button[b-d3jplb9s3x] {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    justify-content: stretch;
    gap: 12px;
    padding: 3px 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

    .promotion-workflow-section-heading-button > .promotion-workflow-section-title-wrap[b-d3jplb9s3x] {
        grid-column: 1;
    }

    .promotion-workflow-section-heading-button > .promotion-workflow-section-summary[b-d3jplb9s3x] {
        grid-column: 2;
        justify-self: start;
    }

    .promotion-workflow-section-heading-button[b-d3jplb9s3x]  .promotion-workflow-section-warning {
        grid-column: 3;
        justify-self: end;
    }

    .promotion-workflow-section-heading-button > i:last-child[b-d3jplb9s3x] {
        grid-column: 4;
        justify-self: end;
        width: 14px;
        text-align: center;
    }

    .promotion-workflow-section-heading-button:hover[b-d3jplb9s3x] {
        color: var(--text-900, #0f2147);
    }

    .promotion-workflow-section-heading-button:focus[b-d3jplb9s3x],
    .promotion-workflow-section-heading-button:focus-visible[b-d3jplb9s3x] {
        outline: 0;
        box-shadow: none;
    }

.promotion-workflow-section-header--items .promotion-workflow-section-summary[b-d3jplb9s3x] {
    flex: 0 0 auto;
}

.promotion-workflow-section-header--items .promotion-items-header-actions[b-d3jplb9s3x] {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.promotion-workflow-section-body--setup .promotion-edit-card[b-d3jplb9s3x] {
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.045);
}

.promotion-workflow-section-body--setup .promotion-edit-card-header[b-d3jplb9s3x] {
    min-height: 34px;
    padding: 9px 12px 7px;
}

.promotion-workflow-section-body--setup .promotion-edit-card-body[b-d3jplb9s3x] {
    padding: 12px;
}

.promotion-workflow-section-warning[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    font-size: 13px;
    line-height: 1;
}

    .promotion-workflow-section-warning .bi[b-d3jplb9s3x] {
        color: #dc2626;
        font-size: 13px;
    }

/* WAM Configuration Reference State */
/* ---------------------------------------------------------
   Presents WAM-owned fields as governed reference information
   for Manufacturer and Broker users while preserving normal
   editable styling for WAM Admin.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference[b-d3jplb9s3x] {
    position: relative;
    overflow: hidden;
    border-color: rgba(203, 213, 225, 0.96);
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.035);
}

    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]::after {
        content: "WAM MANAGED";
        position: absolute;
        top: 88px;
        right: 22px;
        z-index: 0;
        color: rgba(148, 163, 184, 0.055);
        font-size: 32px;
        font-weight: 800;
        letter-spacing: 0.16em;
        line-height: 1;
        white-space: nowrap;
        pointer-events: none;
        user-select: none;
    }

    .promotion-workflow-section--wam-reference > *[b-d3jplb9s3x] {
        position: relative;
        z-index: 1;
    }

    /* Reference Header */
    /* ---------------------------------------------------------
   Keeps the section title crisp while distinguishing WAM
   ownership from the current user's read-only access state.
   --------------------------------------------------------- */

    .promotion-workflow-section--wam-reference .promotion-workflow-section-header[b-d3jplb9s3x] {
        background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
    }

.promotion-wam-managed-badge[b-d3jplb9s3x],
.promotion-readonly-badge[b-d3jplb9s3x] {
    flex: 0 0 auto;
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.015em;
    white-space: nowrap;
}

.promotion-wam-managed-badge[b-d3jplb9s3x] {
    border: 1px solid rgba(59, 130, 246, 0.20);
    background: rgba(239, 246, 255, 0.78);
    color: #526f99;
}

.promotion-readonly-badge[b-d3jplb9s3x] {
    border: 1px solid rgba(148, 163, 184, 0.32);
    background: rgba(241, 245, 249, 0.92);
    color: #64748b;
}

    .promotion-readonly-badge .bi[b-d3jplb9s3x] {
        color: #7b8798;
        font-size: 9px;
    }

/* WAM-Managed Reference Note */
/* ---------------------------------------------------------
   Explains ownership and access without presenting the section
   as an editable information alert.
   --------------------------------------------------------- */

.promotion-wam-reference-note[b-d3jplb9s3x] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-left: 3px solid rgba(100, 116, 139, 0.42);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.94);
    color: #64748b;
}

    .promotion-wam-reference-note > .bi[b-d3jplb9s3x] {
        flex: 0 0 auto;
        margin-top: 2px;
        color: #7b8798;
        font-size: 12px;
        line-height: 1;
    }

.promotion-wam-reference-note-content[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.promotion-wam-reference-note-title[b-d3jplb9s3x] {
    color: #536174;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.promotion-wam-reference-note-text[b-d3jplb9s3x] {
    color: #7b8798;
    font-size: 12px;
    line-height: 1.4;
}

/* Read-Only Labels and Supporting Text */
/* ---------------------------------------------------------
   Reduces visual priority for labels, counters, helper text,
   checkbox labels, and required markers.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference .promotion-wam-field > .form-label[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .promotion-field-label-row .form-label[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .form-label[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .promotion-inline-check > span[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .promotion-field-meta[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .promotion-field-meta--helper[b-d3jplb9s3x] {
    color: #7b8798;
}

.promotion-workflow-section--wam-reference .promotion-inline-check[b-d3jplb9s3x] {
    color: #7b8798;
    cursor: default;
}

/* Read-Only Required Markers */
/* ---------------------------------------------------------
   Mutes required-field markers across locked Promotion
   workflow sections without changing validation messages.
   --------------------------------------------------------- */

.promotion-workflow-section--readonly .form-label .text-danger[b-d3jplb9s3x] {
    color: #a9b3c1 !important;
    opacity: 1;
}

/* Read-Only Controls */
/* ---------------------------------------------------------
   Washes out field surfaces and values while keeping existing
   WAM-managed data readable for business reference. Deep
   selectors reach controls rendered by Blazor input components.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference .form-control:disabled[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .form-control[readonly][b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .form-select:disabled[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .promotion-affix-field__input:disabled[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-control:disabled,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-control[readonly],
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-select:disabled {
    border-color: #dce3eb;
    background-color: #f1f4f7;
    color: #8793a3 !important;
    -webkit-text-fill-color: #8793a3 !important;
    font-weight: 400;
    box-shadow: none;
    opacity: 1 !important;
    cursor: default;
}

    .promotion-workflow-section--wam-reference .form-select:disabled option[b-d3jplb9s3x],
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-select:disabled option {
        color: #8793a3;
        -webkit-text-fill-color: #8793a3;
    }

    /* Read-only placeholders */

    .promotion-workflow-section--wam-reference .form-control:disabled[b-d3jplb9s3x]::placeholder,
    .promotion-workflow-section--wam-reference .form-control[readonly][b-d3jplb9s3x]::placeholder,
    .promotion-workflow-section--wam-reference .promotion-affix-field__input:disabled[b-d3jplb9s3x]::placeholder,
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-control:disabled::placeholder,
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-control[readonly]::placeholder {
        color: #aab3c0;
        -webkit-text-fill-color: #aab3c0;
        opacity: 1;
    }

/* Read-only date values */
/* ---------------------------------------------------------
   Ensures Chromium date segments inherit the same muted value
   color used by the other WAM reference controls.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit,
.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit-fields-wrapper,
.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit-text,
.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit-month-field,
.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit-day-field,
.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-datetime-edit-year-field,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit-fields-wrapper,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit-text,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit-month-field,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit-day-field,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-datetime-edit-year-field {
    color: #8793a3 !important;
    -webkit-text-fill-color: #8793a3 !important;
}

.promotion-workflow-section--wam-reference input[type="date"]:disabled[b-d3jplb9s3x]::-webkit-calendar-picker-indicator,
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  input[type="date"]:disabled::-webkit-calendar-picker-indicator {
    filter: grayscale(1);
    opacity: 0.34;
}

/* Read-only affix fields */

.promotion-workflow-section--wam-reference .promotion-affix-field__affix[b-d3jplb9s3x] {
    border-color: #dce3eb;
    background-color: #f1f4f7;
    color: #929dad;
}

/* Read-Only Checkboxes */
/* ---------------------------------------------------------
   Mutes Blazor checkbox controls and labels without obscuring
   the checked state in WAM reference mode.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference .form-check-input:disabled[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-check-input:disabled {
    border-color: #d4dce6;
    background-color: #eef2f6;
    filter: grayscale(0.45);
    opacity: 1;
    cursor: default;
}

    .promotion-workflow-section--wam-reference .form-check-input:disabled:checked[b-d3jplb9s3x],
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-check-input:disabled:checked {
        border-color: #b2bdc9;
        background-color: #b2bdc9;
    }

    .promotion-workflow-section--wam-reference .form-check-input:disabled + span[b-d3jplb9s3x],
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]  .form-check-input:disabled + span,
    .promotion-workflow-section--wam-reference .promotion-inline-check > span[b-d3jplb9s3x] {
        color: #8793a3;
        opacity: 1;
    }

/* Reference-Mode Validation Presentation */
/* ---------------------------------------------------------
   Removes actionable validation styling from fields that
   Manufacturer and Broker users cannot modify.
   --------------------------------------------------------- */

.promotion-workflow-section--wam-reference .form-control.is-invalid[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference .form-select.is-invalid[b-d3jplb9s3x] {
    border-color: #dce3eb;
    background-image: none;
}

.promotion-workflow-section--wam-reference .validation-message[b-d3jplb9s3x],
.promotion-workflow-section--wam-reference div.text-danger[b-d3jplb9s3x] {
    display: none;
}

/* Responsive Reference Treatment */
/* ---------------------------------------------------------
   Reduces watermark pressure in narrower desktop layouts.
   --------------------------------------------------------- */

@media (max-width: 1400px) {
    .promotion-workflow-section--wam-reference[b-d3jplb9s3x]::after {
        top: 92px;
        right: 16px;
        font-size: 26px;
    }
}

/* Workflow Header State Styling */
/* ---------------------------------------------------------
   Distinguishes editable Promotion form sections from locked
   reference sections without changing section body styling,
   scrolling, validation, or accordion behavior.
   --------------------------------------------------------- */

/* Editable section headers */

.promotion-workflow-section--editable > .promotion-workflow-section-header[b-d3jplb9s3x] {
    border-bottom-color: rgba(59, 130, 246, 0.14);
    background: linear-gradient( 180deg, #f9fcff 0%, #edf4fb 100% );
}

    .promotion-workflow-section--editable > .promotion-workflow-section-header:hover[b-d3jplb9s3x] {
        background: linear-gradient( 180deg, #f5faff 0%, #e7f0fa 100% );
    }

/* Read-only section headers */

.promotion-workflow-section--readonly > .promotion-workflow-section-header[b-d3jplb9s3x] {
    border-bottom-color: rgba(100, 116, 139, 0.14);
    background: linear-gradient( 180deg, #fbfcfd 0%, #f0f2f5 100% );
}

    .promotion-workflow-section--readonly > .promotion-workflow-section-header:hover[b-d3jplb9s3x] {
        background: linear-gradient( 180deg, #f8fafc 0%, #eceff3 100% );
    }

    /* Read-only header supporting content */

    .promotion-workflow-section--readonly > .promotion-workflow-section-header .promotion-workflow-section-summary[b-d3jplb9s3x],
    .promotion-workflow-section--readonly > .promotion-workflow-section-header .promotion-workflow-summary-label[b-d3jplb9s3x],
    .promotion-workflow-section--readonly > .promotion-workflow-section-header > i:last-child[b-d3jplb9s3x] {
        color: #7b8798;
    }

/* Locked WAM Configuration Header */
/* ---------------------------------------------------------
   Keeps the Manufacturer and Broker WAM Configuration header
   visually read-only while removing accordion interaction.
   --------------------------------------------------------- */

.promotion-workflow-section--readonly > .promotion-workflow-section-header--locked[b-d3jplb9s3x],
.promotion-workflow-section--readonly > .promotion-workflow-section-header--locked:hover[b-d3jplb9s3x] {
    background: linear-gradient(180deg, #fbfcfd 0%, #f0f2f5 100%);
    color: var(--text-900, #0f2147);
    cursor: default;
    opacity: 1;
}

/* Promotion overview */
/* ---------------------------------------------------------
   Styles Promotion Context and Workflow Summary panels,
   status indicators, review links, and history metadata.
   --------------------------------------------------------- */

.promotion-summary-band[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    overflow: visible;
}

.promotion-summary-panel[b-d3jplb9s3x] {
    min-width: 0;
    position: relative;
    background: #fff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    box-shadow: 0 1px 5px rgba(15, 23, 42, 0.06);
    padding: 0;
    overflow: hidden;
}

.promotion-summary-panel-header[b-d3jplb9s3x] {
    min-height: 27px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    padding: 4px 10px;
    border-radius: 0;
    border-bottom: 1px solid rgba(25, 35, 68, 0.12);
}

.promotion-summary-panel-header--split[b-d3jplb9s3x] {
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
}

.promotion-summary-panel--context .promotion-summary-panel-header[b-d3jplb9s3x] {
    background: #f1f5f9;
}

.promotion-summary-panel--workflow .promotion-summary-panel-header[b-d3jplb9s3x] {
    background: #effaf8;
}

.promotion-summary-panel-title[b-d3jplb9s3x] {
    color: var(--text-600, #64748b);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

/* Header status pills */

.promotion-summary-context-header-status[b-d3jplb9s3x],
.promotion-summary-workflow-header-status[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* Promotion Cycle status */

.promotion-summary-context-header-status[b-d3jplb9s3x],
.promotion-summary-context-header-status--cycle[b-d3jplb9s3x] {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(37, 99, 235, 0.16);
    color: #1d4ed8;
}

/* Draft and default status */

.promotion-summary-workflow-header-status[b-d3jplb9s3x],
.promotion-summary-workflow-header-status--draft[b-d3jplb9s3x],
.promotion-summary-workflow-header-status--default[b-d3jplb9s3x] {
    background: #e2e8f0;
    border-color: #cbd5e1;
    color: #475569;
}

/* Submitted and resubmitted status */

.promotion-summary-workflow-header-status--submitted[b-d3jplb9s3x] {
    background: #dbeafe;
    border-color: #dbeafe;
    color: #003dff;
}

/* Review statuses */

.promotion-summary-workflow-header-status--review[b-d3jplb9s3x] {
    background: #ffedd5;
    border-color: #ffedd5;
    color: #c2410c;
}

/* Revision requested status */

.promotion-summary-workflow-header-status--revision[b-d3jplb9s3x] {
    background: #ffe4e6;
    border-color: #fecdd3;
    color: #e11d48;
}

/* Approved and completed statuses */

.promotion-summary-workflow-header-status--approved[b-d3jplb9s3x] {
    background: #d1fae5;
    border-color: #bbf7d0;
    color: #15803d;
}

/* Overview panel bodies */

.promotion-summary-context[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    min-height: 82px;
    padding: 8px 12px 9px;
    gap: 8px;
}

.promotion-summary-context-hero[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.promotion-summary-context-hero-value[b-d3jplb9s3x] {
    margin: 0;
    color: var(--text-900, #0f2147);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    /*In case description is too long*/
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-summary-context-hero-secondary[b-d3jplb9s3x] {
    overflow: hidden;
    margin-top: 2px;
    color: var(--text-600);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-summary-context-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(110px, 0.58fr) minmax(0, 1.55fr);
    gap: 0;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    overflow: hidden;
    background: rgba(216, 226, 232, 0.10);
}

.promotion-summary-context-grid-item[b-d3jplb9s3x] {
    min-width: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: transparent;
}

    .promotion-summary-context-grid-item + .promotion-summary-context-grid-item[b-d3jplb9s3x] {
        border-left: 1px solid rgba(25, 35, 68, 0.10);
    }

.promotion-summary-context-grid-top[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px 4px 10px;
    background: rgba(117, 140, 167, 0.07);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-summary-context-grid-label[b-d3jplb9s3x] {
    font-size: 10px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--text-500);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.promotion-summary-context-grid-value[b-d3jplb9s3x] {
    padding: 10px 10px 9px 10px;
    font-size: 12px;
    line-height: 1.18;
    font-weight: 500;
    color: var(--text-900);
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}

.promotion-summary-context-grid-value--strong[b-d3jplb9s3x] {
    font-weight: 500;
    color: var(--text-900);
}

.promotion-summary-context-grid-value--muted[b-d3jplb9s3x] {
    color: var(--text-900);
}

.promotion-summary-workflow[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    min-height: 82px;
    padding: 8px 12px 9px;
    gap: 8px;
}

.promotion-summary-status-text[b-d3jplb9s3x] {
    margin-bottom: 0;
    color: var(--text-900, #0f2147);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.promotion-summary-status[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.promotion-summary-status-secondary[b-d3jplb9s3x] {
    overflow: hidden;
    color: var(--text-600);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-summary-workflow-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 0;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 10px;
    overflow: hidden;
    background: rgba(216, 226, 232, 0.10);
}

.promotion-summary-workflow-grid-item[b-d3jplb9s3x] {
    min-width: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: transparent;
}

    .promotion-summary-workflow-grid-item + .promotion-summary-workflow-grid-item[b-d3jplb9s3x] {
        border-left: 1px solid rgba(25, 35, 68, 0.10);
    }

.promotion-summary-workflow-grid-top[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    min-height: 28px;
    padding: 5px 10px 4px 10px;
    background: rgba(91, 196, 191, 0.08);
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
}

.promotion-summary-workflow-grid-label[b-d3jplb9s3x] {
    font-size: 10px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--text-500);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.promotion-summary-workflow-grid-value[b-d3jplb9s3x] {
    padding: 10px 10px 9px 10px;
    font-size: 12px;
    line-height: 1.18;
    font-weight: 500;
    color: var(--text-900);
    min-width: 0;
    overflow-wrap: anywhere;
}

.promotion-summary-workflow-grid-empty[b-d3jplb9s3x] {
    padding: 10px 10px 9px 10px;
    font-size: 12px;
    line-height: 1.18;
    font-weight: 500;
    color: var(--text-600);
    min-width: 0;
}

.promotion-summary-workflow-link[b-d3jplb9s3x] {
    padding: 0;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--link-600, #2563eb);
    white-space: nowrap;
}

    .promotion-summary-workflow-link i[b-d3jplb9s3x] {
        font-size: 11px;
        line-height: 1;
    }

    .promotion-summary-workflow-link:hover[b-d3jplb9s3x] {
        text-decoration: underline;
    }

.promotion-summary-panel .promotions-badge[b-d3jplb9s3x] {
    flex: 0 0 auto;
}

/* Promotion Creator Display */
/* ---------------------------------------------------------
   Displays the original Promotion creator separately from the
   owning Manufacturer, using compact spacing in the context grid.
   --------------------------------------------------------- */

.promotion-summary-context-entered-by[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-left: 8px;
    padding-top: 4px;
}

.promotion-summary-context-entered-by-name[b-d3jplb9s3x] {
    overflow: hidden;
    color: var(--text-900);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-summary-context-entered-by-secondary[b-d3jplb9s3x] {
    overflow: hidden;
    color: var(--text-600);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Top-level form layout */
/* ---------------------------------------------------------
   Provides the shared vertical stack and card sizing for the
   main editable Promotion sections.
   --------------------------------------------------------- */

.promotion-layout-stack[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.promotion-layout-row[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.promotion-layout-card[b-d3jplb9s3x] {
    width: 100%;
    min-width: 0;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
}

    .promotion-layout-card > .promotion-edit-card-body[b-d3jplb9s3x] {
        flex: 1 1 auto;
        min-width: 0;
    }

    .promotion-layout-card .promotion-edit-card-header[b-d3jplb9s3x] {
        padding: 8px 12px 8px;
    }

    .promotion-layout-card .promotion-edit-card-body[b-d3jplb9s3x] {
        padding: 10px 12px;
    }

/* Promotion Utility Row */
/* ---------------------------------------------------------
   Aligns overview, worksheet, Book Proof, and form expansion
   actions around the centered Promotion workflow heading.
   Controls remain text-based without boxed button surfaces.
   --------------------------------------------------------- */

.promotion-form-intro-band[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 32px;
    padding: 2px 4px 1px;
    margin: 0;
}

.promotion-form-intro-side[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-form-intro-side--summary-actions[b-d3jplb9s3x],
.promotion-form-intro-side--actions[b-d3jplb9s3x] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
}

.promotion-form-intro-side--summary-actions[b-d3jplb9s3x] {
    justify-content: flex-start;
}

.promotion-form-intro-side--actions[b-d3jplb9s3x] {
    justify-content: flex-end;
}

/* Promotion Entry Heading */
/* ---------------------------------------------------------
   Presents the workflow heading as a quiet centered divider
   without a button or pill appearance.
   --------------------------------------------------------- */

.promotion-form-intro-title[b-d3jplb9s3x] {
    min-width: 300px;
    display: grid;
    grid-template-columns: minmax(34px, 1fr) auto minmax(34px, 1fr);
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-align: center;
    text-transform: none;
    white-space: nowrap;
}

    .promotion-form-intro-title[b-d3jplb9s3x]::before,
    .promotion-form-intro-title[b-d3jplb9s3x]::after {
        content: "";
        height: 1px;
        background: rgba(148, 163, 184, 0.42);
    }

/* Shared Utility Actions */
/* ---------------------------------------------------------
   Keeps Overview, Worksheet, Book Proof, and form expansion
   actions consistent in font, icon sizing, and interaction.
   --------------------------------------------------------- */

.promotion-utility-action[b-d3jplb9s3x] {
    flex: 0 0 auto;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
}

    .promotion-utility-action i[b-d3jplb9s3x] {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--text-500, #64748b);
        font-size: 13px;
        line-height: 1;
    }

    .promotion-utility-action:hover:not(:disabled)[b-d3jplb9s3x] {
        color: var(--link-700, #1d4ed8);
        background: transparent;
    }

        .promotion-utility-action:hover:not(:disabled) > i[b-d3jplb9s3x] {
            color: currentColor;
        }

        .promotion-utility-action:hover:not(:disabled) > span:first-of-type[b-d3jplb9s3x] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .promotion-utility-action:focus-visible[b-d3jplb9s3x],
    .promotion-overview-pin:focus-visible[b-d3jplb9s3x],
    .promotion-book-proof-request-toggle:has(input:focus-visible)[b-d3jplb9s3x] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

    .promotion-utility-action:disabled[b-d3jplb9s3x] {
        color: #94a3b8;
        opacity: 1;
        cursor: default;
    }

.promotion-utility-label[b-d3jplb9s3x] {
    color: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.promotion-utility-status[b-d3jplb9s3x] {
    color: var(--text-500, #64748b);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.promotion-utility-status--success[b-d3jplb9s3x] {
    color: #15803d;
}

/* Overview Utility */
/* ---------------------------------------------------------
   Displays Show or Hide Overview as text only. The pin uses
   gray when the preference is temporary and green when saved.
   --------------------------------------------------------- */

.promotion-overview-toggle[b-d3jplb9s3x] {
    color: var(--link-600, #2563eb);
}

[b-d3jplb9s3x] .promotion-overview-pin-tooltip {
    display: inline-flex;
    align-items: center;
}

.promotion-overview-pin[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -5px;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #94a3b8;
    font-size: 14px;
    line-height: 1;
    box-shadow: none;
    cursor: pointer;
}

    .promotion-overview-pin i[b-d3jplb9s3x] {
        color: currentColor;
        font-size: 14px;
        line-height: 1;
    }

    .promotion-overview-pin:hover[b-d3jplb9s3x] {
        color: #64748b;
        background: transparent;
    }

.promotion-overview-pin--active[b-d3jplb9s3x] {
    color: #16a34a;
}

    .promotion-overview-pin--active:hover[b-d3jplb9s3x] {
        color: #15803d;
    }

/* Worksheet Utility */
/* ---------------------------------------------------------
   Keeps Worksheet on the left side of the workflow heading
   with a file icon, action text, and lightweight status.
   --------------------------------------------------------- */

.promotion-worksheet-trigger[b-d3jplb9s3x] {
    position: relative;
    flex: 0 0 auto;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    margin: 0 0 0 4px;
    padding: 0 0 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none;
    cursor: pointer;
}

    .promotion-worksheet-trigger[b-d3jplb9s3x]::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        height: 14px;
        background: rgba(148, 163, 184, 0.42);
        transform: translateY(-50%);
    }

    .promotion-worksheet-trigger:hover:not(:disabled)[b-d3jplb9s3x] {
        border: 0;
        background: transparent;
        color: var(--link-700, #1d4ed8);
    }

        .promotion-worksheet-trigger:hover:not(:disabled) .promotion-utility-label[b-d3jplb9s3x] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .promotion-worksheet-trigger:disabled[b-d3jplb9s3x] {
        color: #94a3b8;
        opacity: 1;
        cursor: default;
    }

    .promotion-worksheet-trigger .spinner-border[b-d3jplb9s3x] {
        width: 12px;
        height: 12px;
        border-width: 2px;
    }

/* Worksheet Availability Information */
/* ---------------------------------------------------------
   Keeps the unavailable Worksheet control visually disabled
   while placing availability guidance on a dedicated info icon.
   --------------------------------------------------------- */

.promotion-worksheet-unavailable[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

    .promotion-worksheet-unavailable[b-d3jplb9s3x]
     .promotion-worksheet-info-tooltip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        line-height: 1;
        cursor: help;
    }

        .promotion-worksheet-unavailable[b-d3jplb9s3x]
         .promotion-worksheet-info-tooltip i {
            font-size: 12px;
            line-height: 1;
        }

        .promotion-worksheet-unavailable[b-d3jplb9s3x]
         .promotion-worksheet-info-tooltip:hover {
            color: var(--brand-600, #2563eb);
        }
/* Book Proof Utility */
/* ---------------------------------------------------------
   Keeps the request checkbox and lifecycle status aligned
   with the same text-based styling used by Worksheet.
   --------------------------------------------------------- */

.promotion-book-proof-request-toggle[b-d3jplb9s3x],
.promotion-book-proof-request-readonly[b-d3jplb9s3x] {
    flex: 0 0 auto;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-600, #64748b);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none;
}

.promotion-book-proof-request-label[b-d3jplb9s3x],
.promotion-book-proof-request-readonly-label[b-d3jplb9s3x] {
    color: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.promotion-book-proof-request-toggle[b-d3jplb9s3x] {
    cursor: pointer;
}

    .promotion-book-proof-request-toggle:hover[b-d3jplb9s3x] {
        border: 0;
        background: transparent;
        color: var(--link-700, #1d4ed8);
    }

        .promotion-book-proof-request-toggle:hover .promotion-book-proof-request-label[b-d3jplb9s3x] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .promotion-book-proof-request-toggle input[b-d3jplb9s3x] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
    }

.promotion-book-proof-request-check[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #94a3b8;
    border-radius: 4px;
    background: #ffffff;
    color: transparent;
    font-size: 11px;
    line-height: 1;
}

.promotion-book-proof-request-toggle
input:checked + .promotion-book-proof-request-check[b-d3jplb9s3x] {
    border-color: #16a34a;
    background: #ffffff;
    color: #15803d;
}

.promotion-book-proof-request-toggle
input:focus-visible + .promotion-book-proof-request-check[b-d3jplb9s3x] {
    outline: 2px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
}

.promotion-book-proof-request-toggle
input:disabled ~ span[b-d3jplb9s3x] {
    opacity: 0.64;
}

/* Book Proof Lifecycle Status */
/* ---------------------------------------------------------
   Removes status pill surfaces while retaining the existing
   workflow-specific status colors.
   --------------------------------------------------------- */

.promotion-book-proof-request-status[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.promotion-book-proof-request-status--requested[b-d3jplb9s3x] {
    color: #2563eb;
}

.promotion-book-proof-request-status--not-requested[b-d3jplb9s3x] {
    color: #64748b;
}

.promotion-book-proof-request-status--resolved[b-d3jplb9s3x] {
    color: #475569;
}

.promotion-book-proof-request-status--required[b-d3jplb9s3x] {
    color: #c2410c;
}

.promotion-book-proof-request-status--review[b-d3jplb9s3x] {
    color: #4338ca;
}

.promotion-book-proof-request-status--revision[b-d3jplb9s3x] {
    color: #b45309;
}

.promotion-book-proof-request-status--approved[b-d3jplb9s3x] {
    color: #15803d;
}

.promotion-form-sections-toggle[b-d3jplb9s3x] {
    position: relative;
    margin-left: 4px;
    padding-left: 14px;
}

    /*Divider between Request Book Proof and Collapse Form*/
    .promotion-form-sections-toggle[b-d3jplb9s3x]::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        height: 14px;
        background: rgba(148, 163, 184, 0.42);
        transform: translateY(-50%);
    }

.promotion-form-sections-toggle--without-book-proof[b-d3jplb9s3x] {
    margin-left: 0;
    padding-left: 0;
}

    .promotion-form-sections-toggle--without-book-proof[b-d3jplb9s3x]::before {
        display: none;
    }

/* Form Expansion Utility */
/* ---------------------------------------------------------
   Preserves the current Expand Form and Collapse Form icon
   behavior using the shared text-action presentation.
   --------------------------------------------------------- */

.promotion-form-sections-toggle[b-d3jplb9s3x] {
    position: relative;
    justify-content: flex-end;
    margin-left: 4px;
    padding-left: 14px;
    color: var(--link-600, #2563eb);
}

/* Book Proof Request Notes */
/* ---------------------------------------------------------
   Preserves the optional request-notes row displayed after
   Book Proof is selected for review.
   --------------------------------------------------------- */

.promotion-book-proof-request-notes[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 92px;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 9px;
    background: rgba(239, 246, 255, 0.45);
}

.promotion-book-proof-request-notes-heading[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

    .promotion-book-proof-request-notes-heading label[b-d3jplb9s3x] {
        margin: 0;
        color: #334155;
        font-size: 12px;
        font-weight: 800;
    }

    .promotion-book-proof-request-notes-heading span[b-d3jplb9s3x] {
        color: #64748b;
        font-size: 10px;
        font-weight: 600;
    }

.promotion-book-proof-request-notes-input[b-d3jplb9s3x] {
    min-height: 32px;
    max-height: 64px;
    padding-top: 6px;
    padding-bottom: 6px;
    resize: vertical;
    font-size: 12px;
}

.promotion-book-proof-request-notes-footer[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    color: #64748b;
    font-size: 10px;
    white-space: nowrap;
}

.promotion-book-proof-request-save[b-d3jplb9s3x] {
    min-width: 94px;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 700;
}

    .promotion-book-proof-request-notes-footer
    .validation-message[b-d3jplb9s3x] {
        color: #dc2626;
        white-space: normal;
        text-align: right;
    }

/* Latest WAM Review */
/* ---------------------------------------------------------
   Displays the latest WAM decision, comment, and review time
   in a compact single-row strip above the Promotion form.
   --------------------------------------------------------- */

.promotion-latest-review-strip[b-d3jplb9s3x] {
    min-width: 0;
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 11px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-left-width: 3px;
    border-radius: 6px;
    background: #ffffff;
    margin-bottom: 4px;
}

.promotion-latest-review-strip--revision[b-d3jplb9s3x] {
    border-left-color: #c78a19;
    background: #fffaf0;
}

.promotion-latest-review-strip--approved[b-d3jplb9s3x] {
    border-left-color: #3f8a5b;
    background: #f6fbf7;
}

.promotion-latest-review-strip-badge[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.promotion-latest-review-strip--revision .promotion-latest-review-strip-badge[b-d3jplb9s3x] {
    color: #8b5c08;
}

.promotion-latest-review-strip--approved .promotion-latest-review-strip-badge[b-d3jplb9s3x] {
    color: #2f7047;
}

.promotion-latest-review-strip-comment[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--text-800, #1e293b);
    font-size: 12.5px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-latest-review-strip-comment--expanded[b-d3jplb9s3x] {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.promotion-latest-review-strip-date[b-d3jplb9s3x] {
    flex: 0 0 auto;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}

.promotion-latest-review-strip--expanded[b-d3jplb9s3x] {
    align-items: flex-start;
}

    .promotion-latest-review-strip--expanded .promotion-latest-review-strip-badge[b-d3jplb9s3x],
    .promotion-latest-review-strip--expanded .promotion-latest-review-strip-date[b-d3jplb9s3x],
    .promotion-latest-review-strip--expanded .promotion-latest-review-strip-toggle[b-d3jplb9s3x] {
        margin-top: 2px;
    }

.promotion-latest-review-strip-toggle[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

    .promotion-latest-review-strip-toggle:hover[b-d3jplb9s3x] {
        color: var(--link-600, #2563eb);
    }

    .promotion-latest-review-strip-toggle:focus[b-d3jplb9s3x],
    .promotion-latest-review-strip-toggle:focus-visible[b-d3jplb9s3x] {
        outline: none;
        box-shadow: none;
    }

/* Promotion basics */
/* ---------------------------------------------------------
   Controls Promotion type, identity, description, notes, and
   the grouped field ratios used across the section.
   --------------------------------------------------------- */

.promotion-basics-v2[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Shared grouped shell */
/* ---------------------------------------------------------
   Group boundaries align to the Promotion Type shell.
   --------------------------------------------------------- */
.promotion-basics-row--grouped[b-d3jplb9s3x],
.promotion-basics-row--notes[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 12px;
    align-items: start;
}

.promotion-basics-row--primary-compact[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 12px;
    align-items: start;
}

.promotion-basics-group[b-d3jplb9s3x] {
    min-width: 0;
    display: grid;
    gap: 12px;
    align-items: start;
}

/* Promotion date and entered-by fields */
.promotion-basics-group--meta[b-d3jplb9s3x] {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
    column-gap: 12px;
}

/* Manufacturer item number and bracket fields */
.promotion-basics-group--identity[b-d3jplb9s3x] {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.78fr);
    column-gap: 12px;
}

/* Notes fields */
.promotion-basics-group--notes[b-d3jplb9s3x] {
    grid-template-columns: 1fr;
}

.promotion-basics-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.promotion-basics-description-textarea[b-d3jplb9s3x] {
    min-height: 60px;
    resize: vertical;
}

.promotion-basics-description-textarea--compact[b-d3jplb9s3x] {
    min-height: 38px;
    height: 38px;
    line-height: 1.15;
    padding-top: 10px;
    padding-bottom: 5px;
    resize: vertical;
}

.promotion-basics-textarea--tall[b-d3jplb9s3x] {
    min-height: 60px;
    resize: vertical;
}

/* Promotion type and description row */
.promotion-basics-row--description-paired[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 1fr;
}

.promotion-basics-group--description-meta[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
}

.promotion-basics-group--primary-left[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(132px, 0.82fr) minmax(150px, 0.96fr) minmax(92px, 0.48fr);
    column-gap: 10px;
    align-items: start;
    min-width: 0;
}

.promotion-basics-group--primary-right[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 0;
    align-items: start;
    min-width: 0;
}

/* Keep the dropdown shell visually aligned with Promotion Date width behavior */
.promotion-basics-field--promotion-type[b-d3jplb9s3x] {
    min-width: 0;
}

    .promotion-basics-field--promotion-type .form-select[b-d3jplb9s3x] {
        width: 100%;
    }

.promotion-basics-field--description[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-basics-field--manufacturer-item[b-d3jplb9s3x],
.promotion-basics-field--bracket[b-d3jplb9s3x] {
    min-width: 0;
}

/* Commercial terms and Promotion flags */
/* ---------------------------------------------------------
   Uses compact side-by-side cards to reduce vertical height
   while keeping financial terms and flags distinct.
   --------------------------------------------------------- */

.promotion-terms-flags-row[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(660px, 1.58fr) minmax(310px, 0.82fr);
    gap: 10px;
    align-items: stretch;
    min-width: 0;
}

.promotion-layout-card--terms[b-d3jplb9s3x],
.promotion-layout-card--flags[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-edit-card-body--compact-terms[b-d3jplb9s3x],
.promotion-edit-card-body--compact-flags[b-d3jplb9s3x] {
    padding: 8px 10px;
}

/* Commercial Terms Layout */
/* ---------------------------------------------------------
   Arranges Base Cost, Allowance, and calculated Net Cost as
   the primary pricing relationship. Sales Spiff and rebate
   remain separate from the Net Cost calculation, while the
   selection controls stay in a compact three-column row.
   --------------------------------------------------------- */

.promotion-terms-layout[b-d3jplb9s3x] {
    min-width: 0;
    display: grid;
    gap: 12px;
}

.promotion-terms-row[b-d3jplb9s3x] {
    min-width: 0;
    display: grid;
    column-gap: 20px;
    row-gap: 8px;
    align-items: start;
}

.promotion-terms-row--calculation[b-d3jplb9s3x] {
    grid-template-columns: minmax(150px, 0.9fr) minmax(230px, 1.3fr) minmax(150px, 0.9fr);
}

.promotion-terms-row--monetary[b-d3jplb9s3x] {
    grid-template-columns: minmax(230px, 1.15fr) minmax(170px, 0.85fr);
}

.promotion-terms-row--options[b-d3jplb9s3x] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.promotion-terms-compact-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

    .promotion-terms-compact-field .form-label[b-d3jplb9s3x] {
        margin-bottom: 3px;
        font-size: 13.5px;
        line-height: 1.35;
        white-space: nowrap;
    }

.promotion-terms-type-money-control[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(72px, 0.72fr) minmax(82px, 0.86fr);
    gap: 6px;
    min-width: 0;
}

.promotion-terms-layout .form-control[b-d3jplb9s3x] {
    min-height: 32px;
    height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 14px;
    line-height: 1.15;
}

.promotion-terms-layout .promotion-affix-field__affix[b-d3jplb9s3x] {
    font-size: 13px;
}

.promotion-terms-layout
.promotion-affix-field--prefix
.promotion-affix-field__input[b-d3jplb9s3x] {
    padding-left: 24px;
}

.promotion-terms-layout .promotion-segmented[b-d3jplb9s3x],
.promotion-terms-layout .promotion-segmented--compact[b-d3jplb9s3x] {
    min-height: 32px;
    height: 32px;
}

    .promotion-terms-layout .promotion-segmented-option[b-d3jplb9s3x],
    .promotion-terms-layout
    .promotion-segmented--compact
    .promotion-segmented-option[b-d3jplb9s3x] {
        min-height: 30px;
        padding: 4px 7px;
        font-size: 12px;
        line-height: 1.1;
    }

/* Calculated Net Cost */
/* ---------------------------------------------------------
   Keeps Net Cost visibly read-only and places calculation
   guidance beside the field label through CustomTooltip.
   --------------------------------------------------------- */

.promotion-terms-net-cost-label-row[b-d3jplb9s3x] {
    justify-content: flex-start;
    gap: 5px;
    margin-bottom: 3px;
}

    .promotion-terms-net-cost-label-row .form-label[b-d3jplb9s3x] {
        margin-bottom: 0;
    }

    .promotion-terms-net-cost-label-row[b-d3jplb9s3x]
     .promotion-terms-net-cost-tooltip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        line-height: 1;
        cursor: help;
    }

        .promotion-terms-net-cost-label-row[b-d3jplb9s3x]
         .promotion-terms-net-cost-tooltip i {
            font-size: 12px;
            line-height: 1;
        }

        .promotion-terms-net-cost-label-row[b-d3jplb9s3x]
         .promotion-terms-net-cost-tooltip:hover {
            color: var(--brand-600, #2563eb);
        }

.promotion-terms-net-cost-input:disabled[b-d3jplb9s3x] {
    opacity: 1;
    background: #eef2f6;
    color: #475569;
    font-weight: 700;
    cursor: default;
    -webkit-text-fill-color: #475569;
}

.promotion-terms-net-cost-field
.promotion-affix-field__affix[b-d3jplb9s3x] {
    color: #64748b;
}

.promotion-flags-compact-list[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    align-content: start;
}

    .promotion-flags-compact-list .promotion-inline-check[b-d3jplb9s3x] {
        min-height: 20px;
        gap: 7px;
        font-size: 13px;
        line-height: 1.2;
    }

    .promotion-flags-compact-list .form-check-input[b-d3jplb9s3x] {
        flex: 0 0 auto;
        margin-top: 0;
    }

    .promotion-flags-compact-list span[b-d3jplb9s3x] {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: normal;
    }

/* Segmented controls */
.promotion-segmented[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--border-200);
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-surface-2, #f8fafc);
    min-height: 36px;
    max-width: 100%;
}

.promotion-segmented-option[b-d3jplb9s3x] {
    border: 0;
    border-right: 1px solid var(--border-200);
    background: transparent;
    color: var(--text-800);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 10px;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

    .promotion-segmented-option:last-child[b-d3jplb9s3x] {
        border-right: 0;
    }

    .promotion-segmented-option:hover:not(:disabled)[b-d3jplb9s3x] {
        background: rgba(59, 130, 246, 0.06);
    }

    .promotion-segmented-option.is-active[b-d3jplb9s3x] {
        background: rgba(59, 130, 246, 0.14);
        color: var(--brand-700);
        box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.08);
    }

    .promotion-segmented-option:disabled[b-d3jplb9s3x] {
        opacity: 0.72;
        cursor: not-allowed;
    }

.promotion-segmented--compact[b-d3jplb9s3x] {
    min-height: 34px;
}

    .promotion-segmented--compact .promotion-segmented-option[b-d3jplb9s3x] {
        min-height: 34px;
        padding: 5px 8px;
        font-size: 12px;
    }

/* Order and delivery dates */
/* ---------------------------------------------------------
   Provides the shared date grid for order and delivery windows.
   --------------------------------------------------------- */

.promotion-dates-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.promotion-dates-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* WAM configuration */
/* ---------------------------------------------------------
   Styles WAM-only metadata, administrative flags, required
   messages, and read-only reference fields.
   --------------------------------------------------------- */

.promotion-wam-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.promotion-wam-grid[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.promotion-wam-required-message[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.08);
    color: #92400e;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

    .promotion-wam-required-message i[b-d3jplb9s3x] {
        font-size: 12px;
        line-height: 1;
    }

.promotion-wam-flags-row[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    gap: 18px 28px;
    align-items: center;
}

.promotion-wam-row[b-d3jplb9s3x] {
    display: grid;
    gap: 10px;
    align-items: start;
}

.promotion-wam-row--primary[b-d3jplb9s3x],
.promotion-wam-row--secondary[b-d3jplb9s3x] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.promotion-inline-check[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    min-height: 22px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-700);
    cursor: pointer;
}

    .promotion-inline-check .form-check-input[b-d3jplb9s3x] {
        margin: 0;
        vertical-align: middle;
    }

    /* Disabled checkbox rows should not behave like clickable controls. */
    .promotion-inline-check:has(.form-check-input:disabled)[b-d3jplb9s3x] {
        cursor: default;
        color: var(--text-700);
    }

        .promotion-inline-check:has(.form-check-input:disabled) span[b-d3jplb9s3x] {
            cursor: default;
        }

        .promotion-inline-check:has(.form-check-input:disabled) .form-check-input[b-d3jplb9s3x] {
            cursor: default;
        }

/* Promotion items */
/* ---------------------------------------------------------
   Controls the Items toolbar, item card shell, collapsed
   summaries, and shared Open-Stock and Pre-Pack behavior.
   --------------------------------------------------------- */

.promotion-item-block[b-d3jplb9s3x] {
    border: 1px solid var(--border-200);
    border-radius: var(--radius-1);
    padding: 4px 6px 0 6px;
}

    .promotion-item-block + .promotion-item-block[b-d3jplb9s3x] {
        margin-top: 14px;
    }

.promotion-item-block-header[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.promotion-items-header-actions[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.promotion-item-block-actions[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Items section header - required at least one item message */
.promotion-items-required-message[b-d3jplb9s3x] {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    color: #b45309;
    white-space: nowrap;
    margin-right: 6px;
}

.promotion-edit-card--items-required[b-d3jplb9s3x] {
    border-color: rgba(180, 83, 9, 0.32);
    box-shadow: 0 0 0 1px rgba(180, 83, 9, 0.08);
}

/* Item action controls */
/* ---------------------------------------------------------
   Keeps Add Products and Blank Item visually stronger while
   expand, collapse, and remove remain lightweight utilities.
   --------------------------------------------------------- */

.promotion-item-action[b-d3jplb9s3x] {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

    .promotion-item-action i[b-d3jplb9s3x] {
        font-size: 12px;
        line-height: 1;
    }

    .promotion-item-action:disabled[b-d3jplb9s3x] {
        opacity: 0.6;
        cursor: not-allowed;
        box-shadow: none;
    }

/* Primary item actions */
.promotion-item-action--primary[b-d3jplb9s3x] {
    color: var(--brand-600);
    border-color: rgba(37, 99, 235, 0.32);
    background: rgba(59, 130, 246, 0.04);
}

    .promotion-item-action--primary:hover:not(:disabled)[b-d3jplb9s3x] {
        color: var(--brand-700);
        border-color: rgba(37, 99, 235, 0.45);
        background: rgba(59, 130, 246, 0.08);
    }

/* Secondary item actions */
.promotion-item-action--utility[b-d3jplb9s3x] {
    color: var(--text-700);
    border-color: transparent;
    background: transparent;
}

    .promotion-item-action--utility:hover:not(:disabled)[b-d3jplb9s3x] {
        color: var(--text-900);
        background: rgba(148, 163, 184, 0.10);
    }

/* Promotion item expand commands */
/* ---------------------------------------------------------
   Applies the shared link-action treatment to section-level
   and item-level expand and collapse controls.
   --------------------------------------------------------- */

.promotion-item-expand-command[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--link-600, #2563eb);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s ease;
}

    .promotion-item-expand-command i[b-d3jplb9s3x] {
        width: 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: currentColor;
        font-size: 11px;
        line-height: 1;
    }

    .promotion-item-expand-command:hover:not(:disabled)[b-d3jplb9s3x] {
        color: var(--link-700, #1d4ed8);
        background: transparent;
    }

        .promotion-item-expand-command:hover:not(:disabled) span[b-d3jplb9s3x] {
            text-decoration: underline;
            text-underline-offset: 2px;
        }

    .promotion-item-expand-command:focus[b-d3jplb9s3x],
    .promotion-item-expand-command:active[b-d3jplb9s3x] {
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .promotion-item-expand-command:focus-visible[b-d3jplb9s3x] {
        outline: 2px solid rgba(37, 99, 235, 0.28);
        outline-offset: 3px;
        border-radius: 3px;
    }

    .promotion-item-expand-command:disabled[b-d3jplb9s3x] {
        color: var(--text-500, #94a3b8);
        cursor: not-allowed;
        opacity: 0.6;
    }

.promotion-item-expand-command--all[b-d3jplb9s3x],
.promotion-item-expand-command--row[b-d3jplb9s3x] {
    margin-left: auto;
}

/* Remove item action */
.promotion-item-action--danger[b-d3jplb9s3x] {
    color: #dc2626;
    border-color: transparent;
    background: transparent;
}

    .promotion-item-action--danger:hover:not(:disabled)[b-d3jplb9s3x] {
        color: #b91c1c;
        background: rgba(220, 38, 38, 0.08);
    }

/* When collapse item - summary text placement styles */
.promotion-item-block-heading[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 36px;
}

.promotion-item-collapsed-summary-text[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 400;
    color: var(--text-800);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.promotion-item-collapsed-summary-required[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
    color: #b45309;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.promotion-item-block-title[b-d3jplb9s3x] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-900);
}

/* Product Master lookup */
.promotion-item-subsection-header--with-product-master[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: auto minmax(360px, 0.72fr);
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 7px;
    padding-bottom: 7px;
}

.promotion-item-product-lookup-header[b-d3jplb9s3x] {
    min-width: 0;
    justify-self: end;
    width: min(100%, 640px);
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 7px;
}

.promotion-item-product-lookup-label[b-d3jplb9s3x] {
    margin: 0;
    color: var(--text-600);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}

.promotion-item-product-lookup-select[b-d3jplb9s3x] {
    min-height: 30px;
    height: 30px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 12px;
}

.promotion-item-product-lookup-info[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-500);
    font-size: 13px;
    line-height: 1;
    cursor: help;
}

.promotion-item-product-lookup-status[b-d3jplb9s3x] {
    margin: -4px 0 6px;
    font-size: 12px;
    line-height: 1.25;
    color: var(--text-500);
}

/* Collapsed item image preview */
/* ---------------------------------------------------------
   Provides compact thumbnails and a fixed hover preview outside
   the item row to avoid scroll clipping and layout movement.
   --------------------------------------------------------- */

.promotion-item-collapsed-summary[b-d3jplb9s3x] {
    min-width: 0;
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.promotion-item-collapsed-image-trigger[b-d3jplb9s3x] {
    position: relative;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

    .promotion-item-collapsed-image-trigger:hover[b-d3jplb9s3x],
    .promotion-item-collapsed-image-trigger:focus-visible[b-d3jplb9s3x] {
        z-index: 2;
        border-color: rgba(37, 99, 235, 0.28);
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
        transform: translateY(-1px);
    }

    .promotion-item-collapsed-image-trigger:focus-visible[b-d3jplb9s3x] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

.promotion-item-collapsed-image-thumb[b-d3jplb9s3x] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 7px;
    background: #ffffff;
}

.promotion-item-collapsed-floating-hover-card[b-d3jplb9s3x] {
    position: fixed;
    left: var(--promotion-item-hover-left);
    top: var(--promotion-item-hover-top);
    z-index: 1045;
    width: 148px;
    height: 148px;
    padding: 8px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.22);
    pointer-events: none;
    animation: promotion-item-hover-preview-in-b-d3jplb9s3x 90ms ease-out;
}

.promotion-item-collapsed-floating-hover-preview[b-d3jplb9s3x] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 10px;
    background: #ffffff;
}

@keyframes promotion-item-hover-preview-in-b-d3jplb9s3x {
    from {
        opacity: 0;
        transform: translateY(2px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.promotion-item-collapsed-summary .promotion-item-collapsed-summary-text[b-d3jplb9s3x],
.promotion-item-collapsed-summary .promotion-item-collapsed-summary-required[b-d3jplb9s3x] {
    flex: 1 1 auto;
}

/* Item subsections */
/* ---------------------------------------------------------
   Separates item basics, pricing, allowances, and logistics
   inside each Promotion item card.
   --------------------------------------------------------- */

.promotion-item-subsection[b-d3jplb9s3x] {
    border: 1px solid var(--border-200);
    border-radius: 10px;
    background: #fbfcfe;
    overflow: hidden;
}

    .promotion-item-subsection + .promotion-item-subsection[b-d3jplb9s3x] {
        margin-top: 2px;
    }

.promotion-item-subsection-header[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(148, 163, 184, 0.08);
    border-bottom: 1px solid var(--border-200);
}

.promotion-item-subsection-title[b-d3jplb9s3x] {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-900);
}

.promotion-item-subsection-meta[b-d3jplb9s3x] {
    font-size: 12px;
    color: var(--text-600);
}

.promotion-item-subsection-body[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
}

/* Pre-Pack item fields */
/* ---------------------------------------------------------
   Uses a compact item-entry layout while keeping header-level
   Pre-Pack logistics outside the item card.
   --------------------------------------------------------- */

.promotion-item-prepack-v2[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.promotion-item-prepack-v2-row[b-d3jplb9s3x] {
    display: grid;
    gap: 10px;
    align-items: start;
}

.promotion-item-prepack-v2-row--master[b-d3jplb9s3x],
.promotion-item-prepack-v2-row--identity[b-d3jplb9s3x] {
    grid-template-columns: 1.08fr 0.74fr 0.74fr 0.84fr 0.84fr;
}

    .promotion-item-prepack-v2-row--master > .promotion-item-prepack-v2-field:first-child[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity > .promotion-item-prepack-v2-field:first-child[b-d3jplb9s3x] {
        grid-column: 1;
    }

    .promotion-item-prepack-v2-row--master > .promotion-item-prepack-v2-field:last-child[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity > .promotion-item-prepack-v2-field:last-child[b-d3jplb9s3x] {
        grid-column: 2 / -1;
    }

.promotion-item-prepack-v2-row--quantity[b-d3jplb9s3x] {
    grid-template-columns: 1.08fr 0.74fr 0.74fr 0.84fr 0.84fr;
}

.promotion-item-prepack-v2-row--upc[b-d3jplb9s3x] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.promotion-item-prepack-v2-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Open-Stock item fields */
/* ---------------------------------------------------------
   Provides the dense identity, quantity, pricing, UPC, and
   logistics layout for Open-Stock Promotion items.
   --------------------------------------------------------- */

.promotion-item-openstock-v3[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.promotion-item-openstock-v3-row[b-d3jplb9s3x] {
    display: grid;
    gap: 10px;
    align-items: start;
}

.promotion-item-openstock-v3-row--identity[b-d3jplb9s3x],
.promotion-item-openstock-v3-row--master[b-d3jplb9s3x],
.promotion-item-openstock-v3-row--quantity[b-d3jplb9s3x] {
    grid-template-columns: 1.08fr 0.74fr 0.74fr 0.84fr 0.84fr;
}

    .promotion-item-openstock-v3-row--identity > .promotion-item-openstock-v3-field:first-child[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--master > .promotion-item-openstock-v3-field:first-child[b-d3jplb9s3x] {
        grid-column: 1;
    }

    .promotion-item-openstock-v3-row--identity > .promotion-item-openstock-v3-field:last-child[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--master > .promotion-item-openstock-v3-field:last-child[b-d3jplb9s3x] {
        grid-column: 2 / -1;
    }

.promotion-item-openstock-v3-row--economics-row1[b-d3jplb9s3x],
.promotion-item-openstock-v3-row--economics-row2[b-d3jplb9s3x],
.promotion-item-openstock-v3-row--bottom[b-d3jplb9s3x] {
    grid-template-columns: minmax(0, 1fr) minmax(132px, 0.54fr) minmax(0, 0.96fr);
}

.promotion-item-openstock-v3-row--upc[b-d3jplb9s3x] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.promotion-item-openstock-v3-row--logistics[b-d3jplb9s3x] {
    grid-template-columns: minmax(108px, 0.76fr) minmax(214px, 1.42fr) minmax(104px, 0.72fr) minmax(124px, 0.84fr) minmax(134px, 0.86fr);
}

    .promotion-item-openstock-v3-row--logistics > .promotion-item-openstock-v3-field:nth-child(2)[b-d3jplb9s3x] {
        min-width: 214px;
    }

        .promotion-item-openstock-v3-row--logistics > .promotion-item-openstock-v3-field:nth-child(2) .promotion-dimensions-field[b-d3jplb9s3x] {
            grid-template-columns: minmax(48px, 1fr) auto minmax(48px, 1fr) auto minmax(48px, 1fr);
        }

        .promotion-item-openstock-v3-row--logistics > .promotion-item-openstock-v3-field:nth-child(2) .promotion-dimensions-field__input[b-d3jplb9s3x] {
            min-width: 48px;
        }

.promotion-item-openstock-v3-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Compact Open-Stock pricing and logistics */
.promotion-item-openstock-v3-row--pricing-logistics[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(360px, 0.72fr) minmax(620px, 1.28fr);
    gap: 10px;
    align-items: stretch;
    min-width: 0;
}

.promotion-item-subsection--pricing-allowances[b-d3jplb9s3x],
.promotion-item-subsection--logistics[b-d3jplb9s3x] {
    min-width: 0;
    margin-top: 2px;
}

.promotion-item-subsection-body--compact-item[b-d3jplb9s3x] {
    padding: 10px;
}

.promotion-item-pricing-compact-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(108px, 0.62fr);
    gap: 8px 10px;
    align-items: start;
    align-content: start;
    min-width: 0;
}

    /* Keep Case Pack aligned with the right-side item pricing fields. */
    .promotion-item-pricing-compact-grid .promotion-item-openstock-v3-field--case-pack[b-d3jplb9s3x] {
        grid-column: 2;
    }

/* Pricing and logistics alignment */
.promotion-item-subsection--pricing-allowances .promotion-item-subsection-body--compact-item[b-d3jplb9s3x] {
    padding-top: 12px;
}

.promotion-item-subsection--logistics .promotion-item-subsection-body--compact-item[b-d3jplb9s3x] {
    padding-top: 10px;
}

.promotion-item-pricing-compact-grid .form-label[b-d3jplb9s3x],
.promotion-item-logistics-compact-grid .form-label[b-d3jplb9s3x] {
    display: block;
    min-height: 15px;
    margin-bottom: 3px;
    line-height: 1.2;
}

.promotion-item-type-money-control[b-d3jplb9s3x] {
    align-items: start;
}

.promotion-item-type-money-control[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(76px, 0.72fr) minmax(92px, 0.88fr);
    gap: 6px;
    min-width: 0;
}

.promotion-item-logistics-compact-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.16fr) minmax(0, 0.95fr);
    gap: 8px 10px;
    align-items: start;
    min-width: 0;
}

    .promotion-item-logistics-compact-grid .promotion-dimensions-field[b-d3jplb9s3x] {
        grid-template-columns: minmax(58px, 1fr) auto minmax(58px, 1fr) auto minmax(58px, 1fr);
        gap: 5px;
    }

    .promotion-item-logistics-compact-grid .promotion-dimensions-field__input[b-d3jplb9s3x] {
        min-width: 58px;
        padding-left: 6px;
        padding-right: 6px;
        text-align: center;
    }

    .promotion-item-logistics-compact-grid .promotion-pattern-field[b-d3jplb9s3x] {
        gap: 6px;
    }

    .promotion-item-pricing-compact-grid .form-label[b-d3jplb9s3x],
    .promotion-item-logistics-compact-grid .form-label[b-d3jplb9s3x] {
        margin-bottom: 3px;
        font-size: 12px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .promotion-item-pricing-compact-grid .form-control[b-d3jplb9s3x],
    .promotion-item-logistics-compact-grid .form-control[b-d3jplb9s3x],
    .promotion-item-pricing-compact-grid .promotion-segmented[b-d3jplb9s3x],
    .promotion-item-logistics-compact-grid .promotion-segmented[b-d3jplb9s3x] {
        min-height: 32px;
        height: 32px;
    }

    .promotion-item-pricing-compact-grid .promotion-segmented-option[b-d3jplb9s3x],
    .promotion-item-logistics-compact-grid .promotion-segmented-option[b-d3jplb9s3x] {
        min-height: 30px;
        padding: 4px 7px;
        font-size: 12px;
        line-height: 1.1;
    }

.promotion-item-pricing-compact-grid .promotion-affix-field--prefix .promotion-affix-field__input[b-d3jplb9s3x] {
    padding-left: 24px;
}

.promotion-item-logistics-compact-grid .promotion-affix-field--suffix .promotion-affix-field__input[b-d3jplb9s3x] {
    padding-right: 26px;
}

.promotion-item-pricing-compact-grid .promotion-affix-field__affix[b-d3jplb9s3x],
.promotion-item-logistics-compact-grid .promotion-affix-field__affix[b-d3jplb9s3x] {
    font-size: 12px;
}

/* Shared field controls */
/* ---------------------------------------------------------
   Provides reusable affix, pallet-pattern, dimensions, label,
   helper-text, and placeholder treatments.
   --------------------------------------------------------- */

/* Affix fields */
/* ---------------------------------------------------------
   Shared prefix/suffix formatting for currency, percent,
   weight, and other decorated inputs.
   --------------------------------------------------------- */
.promotion-affix-field[b-d3jplb9s3x] {
    position: relative;
    display: block;
}

.promotion-affix-field__affix[b-d3jplb9s3x] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-700);
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.promotion-affix-field__input[b-d3jplb9s3x] {
    width: 100%;
}

.promotion-affix-field--prefix .promotion-affix-field__affix[b-d3jplb9s3x] {
    left: 12px;
}

.promotion-affix-field--prefix .promotion-affix-field__input[b-d3jplb9s3x] {
    padding-left: 28px;
}

.promotion-affix-field--suffix .promotion-affix-field__affix[b-d3jplb9s3x] {
    right: 12px;
}

.promotion-affix-field--suffix .promotion-affix-field__input[b-d3jplb9s3x] {
    padding-right: 28px;
}

/* =====================================
   Measurement Input Groups
   ---------------------------------------------------------
   Joins Promotion measurement values and unit selectors.
   Closed selectors show compact abbreviations while native
   option lists retain complete measurement descriptions.
   ===================================== */

.promotion-measurement-input-group[b-d3jplb9s3x] {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    height: 38px;
    align-items: stretch;
}

    .promotion-measurement-input-group > .form-control[b-d3jplb9s3x] {
        min-width: 0;
        min-height: 38px;
        height: 38px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

.promotion-measurement-unit-control[b-d3jplb9s3x] {
    position: relative;
    flex: 0 0 84px;
    width: 84px;
    min-width: 84px;
    height: 38px;
    margin-left: -1px;
}

.promotion-measurement-unit-control--shipment[b-d3jplb9s3x] {
    flex-basis: 90px;
    width: 90px;
    min-width: 90px;
}

.promotion-measurement-unit-control[b-d3jplb9s3x]  .promotion-measurement-unit-select {
    width: 100%;
    min-height: 38px;
    height: 38px;
    padding: 0.375rem 1.75rem 0.375rem 0.55rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    font-size: inherit;
    font-weight: 600;
}

.promotion-measurement-unit-display[b-d3jplb9s3x] {
    position: absolute;
    top: 1px;
    right: 28px;
    bottom: 1px;
    left: 1px;
    z-index: 2;
    display: flex;
    align-items: center;
    padding-left: 0.55rem;
    overflow: hidden;
    background: #ffffff;
    color: #1e293b;
    letter-spacing: 0.01em;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.promotion-measurement-unit-select:disabled + .promotion-measurement-unit-display[b-d3jplb9s3x] {
    background: #e9ecef;
    color: #6c757d;
}

.promotion-measurement-input-group > .form-control:focus[b-d3jplb9s3x] {
    position: relative;
    z-index: 3;
}

.promotion-measurement-unit-control:focus-within[b-d3jplb9s3x] {
    z-index: 3;
}

/* =====================================
   Compact Logistics Measurement Height
   ---------------------------------------------------------
   Keeps measurement values, unit selectors, and surrounding
   controls aligned within the Open-Stock logistics grid.
   ===================================== */

.promotion-item-logistics-compact-grid .promotion-measurement-input-group[b-d3jplb9s3x],
.promotion-item-logistics-compact-grid .promotion-measurement-input-group > .form-control[b-d3jplb9s3x],
.promotion-item-logistics-compact-grid .promotion-measurement-unit-control[b-d3jplb9s3x] {
    min-height: 32px;
    height: 32px;
}

.promotion-item-logistics-compact-grid[b-d3jplb9s3x]  .promotion-measurement-unit-select {
    min-height: 32px;
    height: 32px;
    padding-top: 3px;
    padding-bottom: 3px;
}

/* Add Products modal */
/* ---------------------------------------------------------
   Provides the Product Master multi-select workflow with a
   fixed shell, internal table scroll, and stable footer actions.
   --------------------------------------------------------- */

.promotion-item-action--blank-item[b-d3jplb9s3x] {
    border-color: rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.72);
}

.promotion-product-modal-backdrop[b-d3jplb9s3x] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 23, 42, 0.46);
}

.promotion-product-modal-shell[b-d3jplb9s3x] {
    position: fixed;
    inset: 0;
    z-index: 1051;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    pointer-events: none;
}

.promotion-product-modal[b-d3jplb9s3x] {
    width: min(1120px, calc(100vw - 64px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    pointer-events: auto;
}

.promotion-product-modal-header[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

.promotion-product-modal-title[b-d3jplb9s3x] {
    margin: 0;
    color: var(--text-900, #0f172a);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
}

.promotion-product-modal-subtitle[b-d3jplb9s3x] {
    margin: 4px 0 0;
    color: var(--text-500, #64748b);
    font-size: 13px;
    line-height: 1.35;
}

.promotion-product-modal-close[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

    .promotion-product-modal-close:hover[b-d3jplb9s3x] {
        background: #eef2f7;
        color: #0f172a;
    }

.promotion-product-modal-toolbar[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(360px, 1.5fr) minmax(190px, 0.65fr) minmax(160px, 0.45fr);
    gap: 10px;
    align-items: end;
    padding: 12px 18px 8px;
    background: #ffffff;
}

.promotion-product-modal-control[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-product-modal-control--search[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-product-modal-label[b-d3jplb9s3x] {
    display: block;
    margin-bottom: 4px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.promotion-product-modal-search[b-d3jplb9s3x],
.promotion-product-modal-select[b-d3jplb9s3x] {
    width: 100%;
    min-height: 36px;
    border-radius: 9px;
    border-color: #dbe4ef;
    font-size: 14px;
}

.promotion-product-modal-meta-row[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 18px 10px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    background: #ffffff;
}

.promotion-product-modal-table-region[b-d3jplb9s3x] {
    flex: 1 1 auto;
    min-height: 0;
    height: min(48vh, 520px);
    padding: 0 18px;
    overflow: hidden;
    background: #ffffff;
}

.promotion-product-modal-table-wrap[b-d3jplb9s3x] {
    height: 100%;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    background: #ffffff;
}

.promotion-product-modal-table[b-d3jplb9s3x] {
    width: 100%;
    min-width: 960px;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    font-size: 13px;
}

    .promotion-product-modal-table thead th[b-d3jplb9s3x] {
        position: sticky;
        top: 0;
        z-index: 3;
        padding: 9px 10px;
        background: #ffffff;
        color: #64748b;
        border-bottom: 1px solid #e2e8f0;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.08);
        font-size: 11px;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        white-space: nowrap;
    }

    .promotion-product-modal-table tbody td[b-d3jplb9s3x] {
        padding: 8px 10px;
        border-bottom: 1px solid #edf2f7;
        vertical-align: middle;
        background: #ffffff;
        color: var(--text-900, #0f172a);
    }

    .promotion-product-modal-table tbody tr:not(.promotion-product-modal-row--disabled)[b-d3jplb9s3x] {
        cursor: pointer;
    }

        .promotion-product-modal-table tbody tr:not(.promotion-product-modal-row--disabled):hover td[b-d3jplb9s3x] {
            background: #fbfdff;
        }

.promotion-product-modal-row--disabled td[b-d3jplb9s3x] {
    color: #94a3b8;
    background: #f8fafc;
}

.promotion-product-modal-col-select[b-d3jplb9s3x] {
    width: 70px;
    text-align: center;
}

.promotion-product-modal-col-image[b-d3jplb9s3x] {
    width: 74px;
}

.promotion-product-modal-col-item[b-d3jplb9s3x] {
    width: 105px;
}

.promotion-product-modal-col-description[b-d3jplb9s3x] {
    width: 300px;
}

.promotion-product-modal-col-size[b-d3jplb9s3x] {
    width: 80px;
}

.promotion-product-modal-col-upc[b-d3jplb9s3x] {
    width: 145px;
}

.promotion-product-modal-col-line[b-d3jplb9s3x] {
    width: 155px;
}

.promotion-product-modal-col-status[b-d3jplb9s3x] {
    width: 130px;
}

.promotion-product-modal-thumb[b-d3jplb9s3x] {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: contain;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.promotion-product-modal-thumb--empty[b-d3jplb9s3x] {
    color: #94a3b8;
    background: #f8fafc;
}

[b-d3jplb9s3x] .promotion-product-modal-description-tooltip {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-align: left;
}

.promotion-product-modal-description[b-d3jplb9s3x] {
    display: block;
    width: 100%;
    overflow: hidden;
    color: #0f172a;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-product-modal-secondary[b-d3jplb9s3x] {
    margin-top: 2px;
    overflow: hidden;
    color: #64748b;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-product-modal-badge[b-d3jplb9s3x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.promotion-product-modal-badge--active[b-d3jplb9s3x] {
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.promotion-product-modal-badge--disabled[b-d3jplb9s3x] {
    color: #64748b;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
}

.promotion-product-modal-empty[b-d3jplb9s3x] {
    padding: 24px;
    text-align: center;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.promotion-product-modal-footer[b-d3jplb9s3x] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 18px 16px;
    border-top: 1px solid rgba(25, 35, 68, 0.08);
    background: #ffffff;
}

.promotion-product-modal-selected-summary[b-d3jplb9s3x] {
    color: #475569;
    font-size: 13px;
    font-weight: 750;
}

.promotion-product-modal-footer-actions[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.promotion-product-modal-footer .btn[b-d3jplb9s3x] {
    min-height: 34px;
    padding: 5px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

/* Pattern fields */
/* ---------------------------------------------------------
   Two-part layout used for values like pallet pattern.
   --------------------------------------------------------- */
.promotion-pattern-field[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.promotion-pattern-field__input[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-pattern-field__input--left[b-d3jplb9s3x] {
    text-align: right;
}

.promotion-pattern-field__separator[b-d3jplb9s3x] {
    color: var(--text-600);
    font-weight: 600;
    line-height: 1;
}

/* Dimension fields */
/* ---------------------------------------------------------
   Three-part layout used for values like H x W x D.
   --------------------------------------------------------- */
.promotion-dimensions-field[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
}

.promotion-dimensions-field__input[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-dimensions-field__input--left[b-d3jplb9s3x] {
    text-align: right;
}

.promotion-dimensions-field__input--middle[b-d3jplb9s3x] {
    text-align: center;
}

.promotion-dimensions-field__separator[b-d3jplb9s3x] {
    color: var(--text-600);
    font-weight: 600;
    line-height: 1;
}

/* Field label / helper rows */
/* ---------------------------------------------------------
   Shared label rows for counters, helper text, and
   right-aligned field metadata.
   --------------------------------------------------------- */
.promotion-field-label-row[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.promotion-field-meta[b-d3jplb9s3x] {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1.2;
    color: var(--text-500);
    white-space: nowrap;
    padding-right: 5px;
}

.promotion-field-meta--helper[b-d3jplb9s3x] {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1.2;
    color: var(--text-500);
    white-space: nowrap;
    padding-right: 5px;
}

/* Shared placeholder styling */
/* ---------------------------------------------------------
   Consistent placeholder treatment across text inputs
   and textareas.
   --------------------------------------------------------- */
.form-control[b-d3jplb9s3x]::placeholder,
textarea.form-control[b-d3jplb9s3x]::placeholder {
    color: rgba(148, 163, 184, 0.55);
    font-style: italic;
    font-size: 12px;
    opacity: 1;
}

/* Pre-Pack logistics layout */
/* ---------------------------------------------------------
   Header-level logistics grid for Pre-Pack promotions.
   Separate from item-level Pre-Pack layouts.
   --------------------------------------------------------- */
.promotion-prepack-logistics-grid[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 0.92fr 1.48fr 0.92fr 0.92fr 0.92fr 0.48fr;
    gap: 12px;
    align-items: start;
}

.promotion-prepack-logistics-field[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}


/* Compact control sizing */
/* ---------------------------------------------------------
   Keeps shared labels, text areas, and form controls compact
   without reducing desktop readability.
   --------------------------------------------------------- */
.promotion-edit-page .form-label[b-d3jplb9s3x] {
    margin-bottom: 0.25rem;
}

.promotion-edit-page textarea.form-control[b-d3jplb9s3x],
.promotion-edit-page .promotion-basics-description-textarea[b-d3jplb9s3x],
.promotion-edit-page .promotion-basics-textarea--tall[b-d3jplb9s3x] {
    height: auto;
}

.promotion-edit-page .promotion-basics-description-textarea[b-d3jplb9s3x] {
    min-height: 60px;
}

.promotion-edit-page .promotion-basics-textarea--tall[b-d3jplb9s3x] {
    min-height: 92px;
}

/* Review actions */
/* ---------------------------------------------------------
   Aligns save, submit, and review commands in supporting
   workflow action rows.
   --------------------------------------------------------- */

.promotion-edit-review-actions[b-d3jplb9s3x] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    flex-wrap: wrap;
}

/* History and review modals */
/* ---------------------------------------------------------
   Styles modal shells, workflow history, review details,
   Product Master confirmation, and audit changes.
   --------------------------------------------------------- */

.promotion-history-modal-backdrop[b-d3jplb9s3x] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.28);
    z-index: 1050;
}

.promotion-history-modal[b-d3jplb9s3x] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.promotion-history-modal-card[b-d3jplb9s3x] {
    width: min(1100px, 100%);
    max-height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
    background: var(--bg-surface);
    border: 1px solid var(--border-200);
    border-radius: var(--radius-2);
    box-shadow: var(--shadow-1);
    overflow: hidden;
}

.promotion-review-modal-card[b-d3jplb9s3x] {
    width: min(760px, 100%);
}

.promotion-product-master-confirm-modal-card[b-d3jplb9s3x] {
    width: min(560px, 100%);
    max-height: min(82vh, 620px);
}

    .promotion-product-master-confirm-modal-card .promotion-history-modal-header[b-d3jplb9s3x] {
        padding: 14px 18px;
    }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-title[b-d3jplb9s3x] {
        font-size: 18px;
        font-weight: 600;
    }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-body[b-d3jplb9s3x] {
        padding: 16px 18px 14px;
    }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-detail[b-d3jplb9s3x] {
        gap: 5px;
    }

        .promotion-product-master-confirm-modal-card .promotion-history-modal-detail + .promotion-history-modal-detail[b-d3jplb9s3x] {
            margin-top: 12px;
        }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-detail-label[b-d3jplb9s3x] {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-detail-text[b-d3jplb9s3x] {
        padding: 10px 12px;
        border-radius: 9px;
        font-size: 13px;
        line-height: 1.4;
    }

    .promotion-product-master-confirm-modal-card .promotion-history-modal-footer[b-d3jplb9s3x] {
        padding: 12px 18px 16px;
        gap: 8px;
    }

        .promotion-product-master-confirm-modal-card .promotion-history-modal-footer .btn[b-d3jplb9s3x] {
            min-width: 92px;
            min-height: 34px;
            padding: 6px 14px;
            border-radius: 8px;
            font-size: 13px;
            font-weight: 600;
        }

.promotion-history-modal-header[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-200);
}

.promotion-history-modal-title[b-d3jplb9s3x] {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-900);
}

.promotion-history-modal-body[b-d3jplb9s3x] {
    padding: 16px 20px;
    overflow: auto;
}

.promotion-history-modal-footer[b-d3jplb9s3x] {
    display: flex;
    justify-content: flex-end;
    padding: 14px 20px 18px;
    border-top: 1px solid var(--border-200);
    gap: 10px;
}

.promotion-history-modal-list[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
}

.promotion-history-modal-item[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border-200);
}

    .promotion-history-modal-item:first-child[b-d3jplb9s3x] {
        padding-top: 0;
    }

    .promotion-history-modal-item:last-child[b-d3jplb9s3x] {
        border-bottom: 0;
        padding-bottom: 0;
    }

.promotion-history-modal-left[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promotion-history-modal-item-title[b-d3jplb9s3x] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-900);
}

.promotion-history-modal-item-meta[b-d3jplb9s3x] {
    font-size: 12px;
    color: var(--text-600);
}

.promotion-history-modal-right[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.promotion-history-modal-detail[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promotion-history-modal-detail-label[b-d3jplb9s3x] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-600);
}

.promotion-history-modal-detail-text[b-d3jplb9s3x] {
    padding: 10px 12px;
    border: 1px solid var(--border-200);
    border-radius: 10px;
    background: #f8fafc;
    color: var(--text-900);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* audit */
.promotion-history-modal-detail--audit[b-d3jplb9s3x] {
    padding: 9px 11px;
    border: 1px solid #d8e0ea;
    border-radius: 8px;
    background: #f8fafc;
}

.promotion-history-audit-header[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-bottom: 4px;
    padding: 0 9px;
}

.promotion-history-audit-header-values[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.promotion-history-audit-list[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.promotion-history-audit-row[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    padding: 7px 9px;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.75);
}

.promotion-history-audit-field[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.promotion-history-audit-values[b-d3jplb9s3x] {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
    font-size: 12px;
    line-height: 1.35;
}

.promotion-history-audit-old[b-d3jplb9s3x],
.promotion-history-audit-new[b-d3jplb9s3x] {
    min-width: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    padding: 6px 8px;
    border-radius: 7px;
    background: #fff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    color: #334155;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.promotion-history-audit-old[b-d3jplb9s3x] {
    color: #64748b;
}

.promotion-history-audit-new[b-d3jplb9s3x] {
    color: #0f172a;
    font-weight: 600;
}

.promotion-history-audit-arrow[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-weight: 700;
}

.promotion-history-audit-modal-actions[b-d3jplb9s3x] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.promotion-history-audit-modal-action[b-d3jplb9s3x],
.promotion-history-audit-toggle[b-d3jplb9s3x] {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
}

    .promotion-history-audit-modal-action i[b-d3jplb9s3x],
    .promotion-history-audit-toggle i[b-d3jplb9s3x] {
        font-size: 12px;
        line-height: 1;
    }

    .promotion-history-audit-modal-action:hover span[b-d3jplb9s3x],
    .promotion-history-audit-toggle:hover span[b-d3jplb9s3x] {
        text-decoration: underline;
    }

    .promotion-history-audit-modal-action:focus[b-d3jplb9s3x],
    .promotion-history-audit-modal-action:focus-visible[b-d3jplb9s3x],
    .promotion-history-audit-modal-action:active[b-d3jplb9s3x],
    .promotion-history-audit-toggle:focus[b-d3jplb9s3x],
    .promotion-history-audit-toggle:focus-visible[b-d3jplb9s3x],
    .promotion-history-audit-toggle:active[b-d3jplb9s3x] {
        outline: 0;
        border: 0;
        box-shadow: none;
    }

.promotion-history-audit-summary[b-d3jplb9s3x] {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 0;
}

.promotion-history-audit-summary-label[b-d3jplb9s3x] {
    margin-bottom: 0;
}

/* Promotion Worksheet Modal */
/* ---------------------------------------------------------
   Presents spreadsheet metadata and upload/download actions
   without embedding or previewing the worksheet in the browser.
   --------------------------------------------------------- */

.promotion-worksheet-modal-card[b-d3jplb9s3x] {
    width: min(620px, 100%);
    max-height: min(82vh, 720px);
}

.promotion-worksheet-modal-heading[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.promotion-worksheet-modal-icon[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    background: #ecfdf3;
    color: #15803d;
}

    .promotion-worksheet-modal-icon i[b-d3jplb9s3x] {
        font-size: 20px;
        line-height: 1;
    }

.promotion-worksheet-modal-subtitle[b-d3jplb9s3x] {
    margin-top: 2px;
    color: var(--text-600);
    font-size: 12px;
    line-height: 1.35;
}

.promotion-worksheet-modal-body[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.promotion-worksheet-modal-alert[b-d3jplb9s3x] {
    margin: 0;
}

.promotion-worksheet-upload-intro[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.promotion-worksheet-upload-intro-title[b-d3jplb9s3x] {
    color: var(--text-900);
    font-size: 14px;
    font-weight: 700;
}

.promotion-worksheet-upload-intro-text[b-d3jplb9s3x] {
    color: var(--text-600);
    font-size: 12px;
    line-height: 1.4;
}

.promotion-worksheet-file-select[b-d3jplb9s3x] {
    display: flex;
    flex-direction: column;
}

.promotion-worksheet-selected-file[b-d3jplb9s3x],
.promotion-worksheet-file-summary[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dbe5df;
    border-radius: 10px;
    background: #f8fdf9;
}

    .promotion-worksheet-selected-file > i[b-d3jplb9s3x] {
        flex: 0 0 auto;
        color: #15803d;
        font-size: 22px;
    }

.promotion-worksheet-selected-file-copy[b-d3jplb9s3x],
.promotion-worksheet-file-summary-copy[b-d3jplb9s3x] {
    min-width: 0;
}

.promotion-worksheet-selected-file-name[b-d3jplb9s3x],
.promotion-worksheet-file-summary-name[b-d3jplb9s3x] {
    overflow: hidden;
    color: var(--text-900);
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-worksheet-selected-file-meta[b-d3jplb9s3x],
.promotion-worksheet-file-summary-meta[b-d3jplb9s3x] {
    margin-top: 2px;
    color: var(--text-600);
    font-size: 12px;
}

.promotion-worksheet-file-summary-icon[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #dcfce7;
    color: #15803d;
}

    .promotion-worksheet-file-summary-icon i[b-d3jplb9s3x] {
        font-size: 22px;
    }

.promotion-worksheet-details[b-d3jplb9s3x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.promotion-worksheet-detail[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid var(--border-200);
    border-radius: 9px;
    background: #f8fafc;
}

.promotion-worksheet-detail-label[b-d3jplb9s3x] {
    color: var(--text-600);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.promotion-worksheet-detail-value[b-d3jplb9s3x] {
    overflow-wrap: anywhere;
    color: var(--text-900);
    font-size: 13px;
    font-weight: 600;
}

.promotion-worksheet-modal-card .promotion-history-modal-footer .btn[b-d3jplb9s3x] {
    min-width: 100px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.promotion-worksheet-remove-confirmation[b-d3jplb9s3x] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(220, 38, 38, 0.22);
    border-radius: 10px;
    background: #fef2f2;
}

.promotion-worksheet-remove-confirmation-icon[b-d3jplb9s3x] {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #fee2e2;
    color: #b91c1c;
}

    .promotion-worksheet-remove-confirmation-icon i[b-d3jplb9s3x] {
        font-size: 18px;
        line-height: 1;
    }

.promotion-worksheet-remove-confirmation-copy[b-d3jplb9s3x] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promotion-worksheet-remove-confirmation-title[b-d3jplb9s3x] {
    color: #991b1b;
    font-size: 14px;
    font-weight: 700;
}

.promotion-worksheet-remove-confirmation-text[b-d3jplb9s3x] {
    color: #7f1d1d;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

/* Collapsed item full-image modal */
/* ---------------------------------------------------------
   Uses the shared Promotion modal shell for the item image
   viewer with contained image sizing.
   --------------------------------------------------------- */

.promotion-item-image-preview-modal-card[b-d3jplb9s3x] {
    width: min(560px, calc(100vw - 2rem));
}

.promotion-item-image-preview-subtitle[b-d3jplb9s3x] {
    margin-top: 3px;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
}

.promotion-item-image-preview-body[b-d3jplb9s3x] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #f8fafc;
}

.promotion-item-image-preview-img[b-d3jplb9s3x] {
    max-width: 100%;
    max-height: min(68vh, 620px);
    display: block;
    object-fit: contain;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
}

/* Responsive layout */
/* ---------------------------------------------------------
   Uses container-based breakpoints against usable Promotion
   content width. Ratios tighten before layouts wrap.
   --------------------------------------------------------- */

@container promotion-edit (max-width: 1100px) {
    .promotion-basics-row--grouped[b-d3jplb9s3x],
    .promotion-basics-row--notes[b-d3jplb9s3x] {
        column-gap: 24px;
    }

    .promotion-basics-row--primary-compact[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 22px;
    }

    .promotion-basics-group--primary-left[b-d3jplb9s3x] {
        grid-template-columns: minmax(160px, 0.92fr) minmax(180px, 1.02fr) minmax(72px, 0.44fr);
        column-gap: 10px;
    }

    .promotion-basics-group--description-meta[b-d3jplb9s3x] {
        grid-template-columns: minmax(200px, 228px) minmax(0, 1fr);
        column-gap: 12px;
    }

    .promotion-terms-flags-row[b-d3jplb9s3x] {
        grid-template-columns: minmax(560px, 1.5fr) minmax(292px, 0.82fr);
    }

    .promotion-terms-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(158px, 0.82fr);
        column-gap: 16px;
        row-gap: 8px;
    }

    .promotion-terms-type-money-control[b-d3jplb9s3x] {
        grid-template-columns: minmax(66px, 0.7fr) minmax(76px, 0.84fr);
    }

    .promotion-item-openstock-v3-row--identity[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--master[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--quantity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--master[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--quantity[b-d3jplb9s3x] {
        column-gap: 8px;
    }

    .promotion-item-openstock-v3-row--identity[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--master[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--quantity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--master[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--quantity[b-d3jplb9s3x] {
        grid-template-columns: 1.02fr 0.78fr 0.78fr 0.88fr 0.88fr;
    }

    .promotion-prepack-logistics-grid[b-d3jplb9s3x] {
        grid-template-columns: 0.88fr 1.34fr 0.86fr 0.84fr 0.84fr 0.52fr;
        gap: 10px;
    }
    /* Items */
    .promotion-item-openstock-v3-row--pricing-logistics[b-d3jplb9s3x] {
        grid-template-columns: minmax(340px, 0.74fr) minmax(560px, 1.26fr);
        gap: 8px;
    }

    .promotion-item-pricing-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 1.08fr) minmax(100px, 0.58fr);
    }

    .promotion-item-type-money-control[b-d3jplb9s3x] {
        grid-template-columns: minmax(70px, 0.7fr) minmax(84px, 0.84fr);
    }

    .promotion-item-logistics-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.2fr) minmax(0, 0.92fr);
        gap: 8px;
    }
}

@container promotion-edit (max-width: 980px) {
    .promotion-summary-context-grid[b-d3jplb9s3x],
    .promotion-summary-workflow-grid[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-summary-context-grid-item + .promotion-summary-context-grid-item[b-d3jplb9s3x],
    .promotion-summary-workflow-grid-item + .promotion-summary-workflow-grid-item[b-d3jplb9s3x] {
        border-left: 0;
        border-top: 1px solid rgba(25, 35, 68, 0.10);
    }

    .promotion-basics-row--primary-compact[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
    }

    .promotion-basics-group--primary-left[b-d3jplb9s3x] {
        grid-template-columns: minmax(122px, 0.8fr) minmax(136px, 0.94fr) minmax(88px, 0.46fr);
        column-gap: 8px;
    }

    .promotion-item-openstock-v3-row--upc[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--upc[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .promotion-item-openstock-v3-row--logistics[b-d3jplb9s3x] {
        grid-template-columns: minmax(100px, 0.72fr) minmax(208px, 1.38fr) minmax(96px, 0.68fr) minmax(118px, 0.8fr) minmax(126px, 0.82fr);
        gap: 8px;
    }

        .promotion-item-openstock-v3-row--logistics > .promotion-item-openstock-v3-field:nth-child(2)[b-d3jplb9s3x] {
            min-width: 208px;
        }
    /* Items */
    .promotion-item-openstock-v3-row--pricing-logistics[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-item-pricing-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 1.12fr) minmax(140px, 0.62fr);
    }

    .promotion-item-logistics-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .promotion-history-audit-header[b-d3jplb9s3x],
    .promotion-history-audit-row[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-history-audit-header[b-d3jplb9s3x] {
        display: none;
    }

    .promotion-history-audit-values[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-history-audit-arrow[b-d3jplb9s3x] {
        padding: 2px 0;
    }

    .promotion-product-modal-shell[b-d3jplb9s3x] {
        padding: 16px;
    }

    .promotion-product-modal[b-d3jplb9s3x] {
        width: calc(100vw - 32px);
        max-height: calc(100vh - 32px);
    }

    .promotion-product-modal-toolbar[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-product-modal-table-region[b-d3jplb9s3x] {
        height: min(50vh, 520px);
    }

    .promotion-product-modal-footer[b-d3jplb9s3x] {
        align-items: flex-start;
        flex-direction: column;
    }

    .promotion-product-modal-footer-actions[b-d3jplb9s3x] {
        width: 100%;
        justify-content: flex-end;
    }
}

@container promotion-edit (max-width: 860px) {
    .promotion-dates-grid[b-d3jplb9s3x],
    .promotion-wam-row--primary[b-d3jplb9s3x],
    .promotion-wam-row--secondary[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .promotion-wam-flags-row[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .promotion-basics-row--grouped[b-d3jplb9s3x],
    .promotion-basics-row--notes[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
    }

    .promotion-basics-row--primary-compact[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 12px;
    }

    .promotion-basics-group--primary-left[b-d3jplb9s3x] {
        grid-template-columns: minmax(108px, 0.86fr) minmax(120px, 0.98fr) minmax(86px, 0.5fr);
        column-gap: 8px;
    }

    .promotion-terms-flags-row[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-terms-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, 0.82fr);
        column-gap: 12px;
    }

    .promotion-flags-compact-list[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 14px;
    }

    .promotion-item-openstock-v3-row--quantity[b-d3jplb9s3x] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .promotion-item-openstock-v3-row--economics-row1[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--economics-row2[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--bottom[b-d3jplb9s3x] {
        grid-template-columns: minmax(0, 1fr) minmax(124px, 0.5fr) minmax(0, 0.92fr);
        gap: 8px;
    }

    .promotion-item-openstock-v3-row--logistics[b-d3jplb9s3x] {
        grid-template-columns: minmax(96px, 0.7fr) minmax(204px, 1.34fr) minmax(92px, 0.66fr) minmax(112px, 0.76fr) minmax(120px, 0.78fr);
        gap: 8px;
    }

        .promotion-item-openstock-v3-row--logistics > .promotion-item-openstock-v3-field:nth-child(2)[b-d3jplb9s3x] {
            min-width: 204px;
        }

    .promotion-prepack-logistics-grid[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }
}

@container promotion-edit (max-width: 760px) {
    .promotion-summary-band[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .promotion-basics-row--grouped[b-d3jplb9s3x],
    .promotion-basics-row--notes[b-d3jplb9s3x],
    .promotion-basics-row--primary-compact[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 12px;
    }

    .promotion-basics-group--meta[b-d3jplb9s3x],
    .promotion-basics-group--identity[b-d3jplb9s3x],
    .promotion-basics-group--primary-left[b-d3jplb9s3x],
    .promotion-basics-group--primary-right[b-d3jplb9s3x],
    .promotion-basics-group--description-meta[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 10px;
    }

    .promotion-item-openstock-v3-row--identity[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--master[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--quantity[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--economics-row1[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--economics-row2[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--bottom[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--upc[b-d3jplb9s3x],
    .promotion-item-openstock-v3-row--logistics[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

    .promotion-item-prepack-v2-row--master[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--quantity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--upc[b-d3jplb9s3x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .promotion-history-modal[b-d3jplb9s3x] {
        padding: 12px;
    }

    .promotion-history-modal-card[b-d3jplb9s3x] {
        width: 100%;
        max-height: 92vh;
    }

    .promotion-history-modal-item[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .promotion-item-block-heading[b-d3jplb9s3x] {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .promotion-form-intro-band[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 6px;
    }

    .promotion-form-intro-side[b-d3jplb9s3x],
    .promotion-form-intro-side--actions[b-d3jplb9s3x] {
        width: 100%;
        display: flex;
        justify-content: flex-end;
    }
    /* Items */
    .promotion-item-pricing-compact-grid[b-d3jplb9s3x],
    .promotion-item-logistics-compact-grid[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }

        .promotion-item-pricing-compact-grid .promotion-item-openstock-v3-field--case-pack[b-d3jplb9s3x] {
            grid-column: auto;
        }

    .promotion-item-type-money-control[b-d3jplb9s3x] {
        grid-template-columns: minmax(100px, 0.6fr) minmax(120px, 0.7fr);
    }

    .promotion-item-subsection-header--with-product-master[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .promotion-item-product-lookup-header[b-d3jplb9s3x] {
        justify-self: stretch;
        width: 100%;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .promotion-workflow-section-header--items[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        align-items: start;
    }

        .promotion-workflow-section-header--items .promotion-items-header-actions[b-d3jplb9s3x] {
            width: 100%;
            justify-content: flex-end;
            flex-wrap: wrap;
        }

    .promotion-items-command-row[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
        align-items: start;
    }

        .promotion-items-command-row .promotion-items-header-actions[b-d3jplb9s3x] {
            width: 100%;
            justify-content: flex-end;
            flex-wrap: wrap;
        }
}

@media (max-width: 700px) {
    .promotion-reuse-context-banner__header[b-d3jplb9s3x] {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .promotion-reuse-context-banner__source[b-d3jplb9s3x] {
        white-space: normal;
    }
}

@container promotion-edit (max-width: 640px) {
    .promotion-dates-grid[b-d3jplb9s3x],
    .promotion-wam-row--primary[b-d3jplb9s3x],
    .promotion-wam-row--secondary[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }
}

@container promotion-edit (max-width: 560px) {
    .promotion-summary-panel[b-d3jplb9s3x] {
        padding: 12px 14px;
    }

    .promotion-summary-context[b-d3jplb9s3x],
    .promotion-summary-workflow[b-d3jplb9s3x] {
        padding: 4px 6px 2px 6px;
    }

    .promotion-item-prepack-v2-row--master[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--identity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--quantity[b-d3jplb9s3x],
    .promotion-item-prepack-v2-row--upc[b-d3jplb9s3x] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/Promotions/PromotionReuseSourceSelector.razor.rz.scp.css */
/* Promotion Reuse Source Selector */
/* ---------------------------------------------------------
   Controls the reusable Promotion starting-point selector,
   source-scope summary, filters, internally scrolling source
   table, selected-source summary, and responsive behavior.
   --------------------------------------------------------- */

.promotion-reuse-selector[b-njatvl82r5] {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(25, 35, 68, 0.09);
}

.promotion-reuse-selector__header[b-njatvl82r5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.promotion-reuse-selector__title[b-njatvl82r5] {
    color: var(--text-900, #0f172a);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.promotion-reuse-selector__subtitle[b-njatvl82r5] {
    margin-top: 3px;
    color: var(--text-500, #64748b);
    font-size: 12.5px;
    line-height: 1.4;
}


/* Starting Point Options */
/* ---------------------------------------------------------
   Provides the Blank Promotion and Previous Promotion choices.
   --------------------------------------------------------- */

.promotion-reuse-selector__options[b-njatvl82r5] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.promotion-reuse-selector__option[b-njatvl82r5] {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--border-200, #dbe3ee);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .promotion-reuse-selector__option:hover[b-njatvl82r5] {
        border-color: rgba(37, 99, 235, 0.34);
        background: #fbfdff;
    }

.promotion-reuse-selector__option--selected[b-njatvl82r5] {
    border-color: rgba(37, 99, 235, 0.58);
    background: rgba(37, 99, 235, 0.035);
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.promotion-reuse-selector__option input[type="radio"][b-njatvl82r5] {
    flex: 0 0 auto;
    margin-top: 3px;
    accent-color: #2563eb;
}

.promotion-reuse-selector__option-copy[b-njatvl82r5] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .promotion-reuse-selector__option-copy strong[b-njatvl82r5] {
        color: var(--text-900, #0f172a);
        font-size: 13.5px;
        font-weight: 700;
        line-height: 1.25;
    }

    .promotion-reuse-selector__option-copy span[b-njatvl82r5] {
        color: var(--text-500, #64748b);
        font-size: 12px;
        line-height: 1.35;
    }


/* Previous Promotion Source Panel */
/* ---------------------------------------------------------
   Contains the locked source scope, search and period filters,
   source results, and selected-source confirmation.
   --------------------------------------------------------- */

.promotion-reuse-selector__source-panel[b-njatvl82r5] {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 12px;
    background: #f8fafc;
}

.promotion-reuse-selector__scope[b-njatvl82r5] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.promotion-reuse-selector__scope-item[b-njatvl82r5] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 7px 9px;
    border: 1px solid rgba(25, 35, 68, 0.07);
    border-radius: 8px;
    background: #fff;
}

    .promotion-reuse-selector__scope-item span[b-njatvl82r5] {
        color: var(--text-500, #64748b);
        font-size: 10.5px;
        font-weight: 600;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: 0.025em;
    }

    .promotion-reuse-selector__scope-item strong[b-njatvl82r5] {
        overflow: hidden;
        color: var(--text-800, #1e293b);
        font-size: 12.5px;
        font-weight: 700;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


/* Search and Period Controls */
/* ---------------------------------------------------------
   Keeps source search, Promotion Period, and clear-filter action
   compact and aligned above the results table.
   --------------------------------------------------------- */

.promotion-reuse-selector__toolbar[b-njatvl82r5] {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 240px auto;
    gap: 10px;
    align-items: end;
}

.promotion-reuse-selector__control[b-njatvl82r5] {
    min-width: 0;
}

.promotion-reuse-selector__label[b-njatvl82r5] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700, #334155);
    font-size: 11.5px;
    font-weight: 600;
}

.promotion-reuse-selector__search[b-njatvl82r5],
.promotion-reuse-selector__select[b-njatvl82r5] {
    min-height: 36px;
    font-size: 12.5px;
}

.promotion-reuse-selector__clear-wrap[b-njatvl82r5] {
    display: flex;
    align-items: center;
    min-height: 36px;
}

.promotion-reuse-selector__meta[b-njatvl82r5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 9px;
    margin-bottom: 7px;
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.3;
}


/* Source Results Table */
/* ---------------------------------------------------------
   Owns vertical and horizontal overflow. The table header remains
   sticky while the Create Promotion modal shell stays constrained.
   --------------------------------------------------------- */

.promotion-reuse-selector__table-region[b-njatvl82r5] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(25, 35, 68, 0.10);
    border-radius: 9px;
    background: #fff;
}

.promotion-reuse-selector__table-scroll[b-njatvl82r5] {
    max-height: 275px;
    overflow: auto;
}

.promotion-reuse-selector__table[b-njatvl82r5] {
    width: 100%;
    min-width: 1020px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

    .promotion-reuse-selector__table th[b-njatvl82r5],
    .promotion-reuse-selector__table td[b-njatvl82r5] {
        padding: 8px 9px;
        border-bottom: 1px solid rgba(25, 35, 68, 0.07);
        color: var(--text-700, #334155);
        font-size: 11.5px;
        line-height: 1.3;
        vertical-align: middle;
    }

    .promotion-reuse-selector__table th[b-njatvl82r5] {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #f1f5f9;
        color: var(--text-600, #475569);
        font-size: 10.5px;
        font-weight: 700;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: 0.025em;
        white-space: nowrap;
    }

    .promotion-reuse-selector__table tbody tr[b-njatvl82r5] {
        cursor: pointer;
        transition: background-color 0.12s ease;
    }

        .promotion-reuse-selector__table tbody tr:hover[b-njatvl82r5] {
            background: rgba(37, 99, 235, 0.035);
        }

        .promotion-reuse-selector__table tbody tr:last-child td[b-njatvl82r5] {
            border-bottom: 0;
        }

.promotion-reuse-selector__row--selected[b-njatvl82r5] {
    background: rgba(37, 99, 235, 0.065);
}

    .promotion-reuse-selector__row--selected:hover[b-njatvl82r5] {
        background: rgba(37, 99, 235, 0.085) !important;
    }

.promotion-reuse-selector__col-select[b-njatvl82r5] {
    width: 62px;
    text-align: center !important;
}

.promotion-reuse-selector__col-items[b-njatvl82r5] {
    width: 58px;
    text-align: center !important;
}

.promotion-reuse-selector__promotion[b-njatvl82r5] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .promotion-reuse-selector__promotion strong[b-njatvl82r5] {
        overflow: hidden;
        color: var(--text-900, #0f172a);
        font-size: 12px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .promotion-reuse-selector__promotion span[b-njatvl82r5] {
        color: var(--text-500, #64748b);
        font-size: 10.5px;
    }


/* Source Status */
/* ---------------------------------------------------------
   Distinguishes approved and downstream-approved source states.
   --------------------------------------------------------- */

.promotion-reuse-selector__status[b-njatvl82r5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.promotion-reuse-selector__status--approved[b-njatvl82r5] {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
}

.promotion-reuse-selector__status--review[b-njatvl82r5] {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.promotion-reuse-selector__status--complete[b-njatvl82r5] {
    background: rgba(20, 184, 166, 0.13);
    color: #0f766e;
}


/* Selector State and Selected Source */
/* ---------------------------------------------------------
   Displays loading, errors, empty results, and final selection.
   --------------------------------------------------------- */

.promotion-reuse-selector__state[b-njatvl82r5],
.promotion-reuse-selector__empty[b-njatvl82r5] {
    padding: 18px 14px;
    color: var(--text-500, #64748b);
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

.promotion-reuse-selector__state[b-njatvl82r5] {
    border: 1px dashed rgba(100, 116, 139, 0.24);
    border-radius: 9px;
    background: #fff;
}

.promotion-reuse-selector__state--info[b-njatvl82r5] {
    color: #475569;
}

.promotion-reuse-selector__state--error[b-njatvl82r5] {
    border-color: rgba(220, 53, 69, 0.24);
    background: rgba(220, 53, 69, 0.035);
    color: #b4232d;
}

.promotion-reuse-selector__selection[b-njatvl82r5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 9px;
    background: rgba(37, 99, 235, 0.04);
}

    .promotion-reuse-selector__selection > div[b-njatvl82r5] {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

.promotion-reuse-selector__selection-label[b-njatvl82r5] {
    color: #1d4ed8 !important;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.promotion-reuse-selector__selection strong[b-njatvl82r5] {
    overflow: hidden;
    color: var(--text-900, #0f172a);
    font-size: 12.5px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotion-reuse-selector__selection span[b-njatvl82r5] {
    color: var(--text-500, #64748b);
    font-size: 11px;
    line-height: 1.3;
}


/* Responsive Behavior */
/* ---------------------------------------------------------
   Preserves compact desktop behavior while allowing safe modal
   use at narrower viewport sizes.
   --------------------------------------------------------- */

@media (max-width: 900px) {
    .promotion-reuse-selector__toolbar[b-njatvl82r5] {
        grid-template-columns: minmax(0, 1fr) 220px;
    }

    .promotion-reuse-selector__clear-wrap[b-njatvl82r5] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .promotion-reuse-selector__options[b-njatvl82r5],
    .promotion-reuse-selector__scope[b-njatvl82r5],
    .promotion-reuse-selector__toolbar[b-njatvl82r5] {
        grid-template-columns: 1fr;
    }

    .promotion-reuse-selector__meta[b-njatvl82r5],
    .promotion-reuse-selector__selection[b-njatvl82r5] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/Shared/Promotions/PromotionsShared.razor.rz.scp.css */
/* PromotionsShared.razor.css */
/* ---------------------------------------------------------
   Shared WAM Admin and Manufacturer Promotions page styling.
   Controls the fixed-height workspace, summary cards, filters,
   table-owned scrolling, sticky table regions, anchored pager,
   Create Promotion modal, and projected form helpers.

   The page header, summary cards, filters, and pager remain stable.
   The table region owns record overflow and internal scrolling.
   Base table width remains 1060px before horizontal scrolling.
   --------------------------------------------------------- */


/* Page shell */
/* ---------------------------------------------------------
   Fills the shared application content area and responds to
   available width after sidebar expansion or collapse.
   --------------------------------------------------------- */

.promotions-page[b-si92g219n6] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    overflow: hidden;
    container-type: inline-size;
    container-name: promotions-page;
}

.promotions-workspace[b-si92g219n6] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}


/* Summary cards */
/* ---------------------------------------------------------
   Provides compact operational cards aligned with Dashboard,
   Books, Promotion Cycles, and other shared list workspaces.
   --------------------------------------------------------- */

.promotions-summary-strip[b-si92g219n6] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.promotions-summary-card[b-si92g219n6] {
    min-width: 0;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-200);
    border-radius: 13px;
    box-shadow: var(--shadow-1);
}

.promotions-summary-card-button[b-si92g219n6] {
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .promotions-summary-card-button:hover[b-si92g219n6] {
        border-color: rgba(29, 58, 109, 0.18);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .promotions-summary-card-button.is-active[b-si92g219n6] {
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 3px 10px rgba(15, 23, 42, 0.06);
    }

    .promotions-summary-card-button:focus-visible[b-si92g219n6] {
        outline: none;
        box-shadow: var(--focus-ring);
    }

.promotions-summary-label[b-si92g219n6] {
    margin: 0 0 6px;
    overflow: hidden;
    color: var(--text-600);
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotions-summary-value[b-si92g219n6] {
    margin: 0;
    color: var(--text-900);
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
}

.promotions-summary-meta[b-si92g219n6] {
    margin-top: 5px;
    overflow: hidden;
    color: var(--text-500);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotions-summary-card--neutral[b-si92g219n6] {
    border-color: rgba(117, 140, 167, 0.22);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.035), #fff);
}

.promotions-summary-card--info[b-si92g219n6] {
    border-color: rgba(117, 140, 167, 0.24);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.04), #fff);
}

.promotions-summary-card--success[b-si92g219n6] {
    border-color: rgba(91, 196, 191, 0.38);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.05), #fff);
}

.promotions-summary-card--warning[b-si92g219n6] {
    border-color: rgba(250, 169, 75, 0.32);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.05), #fff);
}

.promotions-summary-card--neutral.is-active[b-si92g219n6],
.promotions-summary-card--info.is-active[b-si92g219n6] {
    border-color: rgba(117, 140, 167, 0.34);
    background: linear-gradient(180deg, rgba(117, 140, 167, 0.08), #fff);
}

.promotions-summary-card--success.is-active[b-si92g219n6] {
    border-color: rgba(91, 196, 191, 0.48);
    background: linear-gradient(180deg, rgba(91, 196, 191, 0.10), #fff);
}

.promotions-summary-card--warning.is-active[b-si92g219n6] {
    border-color: rgba(250, 169, 75, 0.42);
    background: linear-gradient(180deg, rgba(250, 169, 75, 0.10), #fff);
}


/* Operational list card */
/* ---------------------------------------------------------
   Provides the fixed-height Promotions grid host. The table region
   owns scrolling while the header, filters, and pager remain stable.
   --------------------------------------------------------- */

.promotions-card[b-si92g219n6] {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-200);
    border-radius: 18px;
    overflow: hidden;
}

.promotions-list-card[b-si92g219n6] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.promotions-list-body[b-si92g219n6] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    margin-bottom: 0;
    padding: 0;
}

.promotions-panel-header[b-si92g219n6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 12px 8px;
    border-bottom: 1px solid rgba(25, 35, 68, 0.07);
}

.promotions-panel-header-copy[b-si92g219n6] {
    min-width: 0;
    flex: 1 1 auto;
}

.promotions-panel-header-actions[b-si92g219n6] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.promotions-card-title[b-si92g219n6] {
    margin: 0;
    color: var(--text-900);
    font-size: 18px;
    font-weight: 700;
}

.promotions-card-subtitle[b-si92g219n6] {
    margin: 4px 0 0;
    color: var(--text-500);
    font-size: 13px;
}

/* Promotion Cycle Display Actions */
/* ---------------------------------------------------------
   Provides compact Promotion Cycle expand/collapse controls
   without competing visually with primary Promotions actions.
   --------------------------------------------------------- */

.promotions-cycle-toggle-all[b-si92g219n6] {
    flex: 0 0 auto;
    padding: 3px 5px;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .promotions-cycle-toggle-all:hover[b-si92g219n6] {
        color: #143a74;
        text-decoration: underline;
    }

    .promotions-cycle-toggle-all:focus-visible[b-si92g219n6] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
        border-radius: 4px;
    }

.promotions-primary-button[b-si92g219n6] {
    min-width: 150px;
    min-height: 30px;
    padding: 4px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}


/* Toolbar and filters */
/* ---------------------------------------------------------
   Aligns search and filter controls with the list heading
   and table edge.
   --------------------------------------------------------- */

.promotions-controls[b-si92g219n6] {
    width: 100%;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 165px 145px minmax(240px, 300px) 88px;
    gap: 10px;
    align-items: end;
    padding: 14px 12px 10px;
}

.promotions-control[b-si92g219n6],
.promotions-control-search[b-si92g219n6],
.promotions-control-page-size[b-si92g219n6] {
    min-width: 0;
}

.promotions-control-label[b-si92g219n6] {
    display: block;
    margin-bottom: 4px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
}

.promotions-search[b-si92g219n6],
.promotions-filter-select[b-si92g219n6] {
    width: 100%;
    min-height: 38px;
}

.promotions-filter-select[b-si92g219n6] {
    min-width: 0;
}

.promotions-control-page-size .promotions-filter-select[b-si92g219n6] {
    min-width: 84px;
}

/* Promotion Cycle Filter */
/* ---------------------------------------------------------
   Keeps the searchable Promotion Cycle selector aligned with the
   Promotions toolbar and provides room for longer Cycle names.
   --------------------------------------------------------- */

.promotions-cycle-filter-host[b-si92g219n6] {
    min-width: 0;
}

    .promotions-cycle-filter-host[b-si92g219n6]  .searchable-select__button {
        min-height: 38px;
        height: 38px;
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12px;
        line-height: 1.2;
    }

/* Promotion Cycle Context */
/* ---------------------------------------------------------
   Displays the exact Promotion Cycle applied from Cycle Summary
   navigation and keeps the scope visible above list filters.
   --------------------------------------------------------- */

.promotions-cycle-context[b-si92g219n6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 14px;
    padding: 8px 12px;
    border: 1px solid #cfe0fb;
    border-radius: 8px;
    background: #f4f8ff;
}

.promotions-cycle-context-copy[b-si92g219n6] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.promotions-cycle-context-label[b-si92g219n6] {
    color: #5e7698;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.promotions-cycle-context-value[b-si92g219n6] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotions-cycle-context-clear[b-si92g219n6] {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1557cc;
    font-size: 11.5px;
    font-weight: 700;
}


/* List states */
/* ---------------------------------------------------------
   Displays loading, empty, and error states without changing
   the fixed outer page and card height.
   --------------------------------------------------------- */

.promotions-state[b-si92g219n6] {
    padding: 18px 16px;
    color: var(--text-600);
}

.promotion-state-wrap[b-si92g219n6] {
    width: 100%;
    height: auto;
    min-height: 0;
    align-self: start;
    justify-self: stretch;
    box-sizing: border-box;
}

.promotion-state-wrap--error[b-si92g219n6] {
    padding: 8px 12px 0;
}

    .promotion-state-wrap--error .alert[b-si92g219n6] {
        display: inline-flex;
        align-items: center;
        width: auto;
        max-width: 720px;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 10px 14px;
        border-radius: 10px;
    }


/* Table shell */
/* ---------------------------------------------------------
   Owns vertical and horizontal table scrolling while the pager
   remains anchored below the scrollable region.
   --------------------------------------------------------- */

.promotions-table-region[b-si92g219n6] {
    min-height: 0;
    height: 100%;
    margin: 0 12px 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 10px;
}

.promotions-table-scroll[b-si92g219n6] {
    min-height: 0;
    position: relative;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #ffffff;
}

.promotions-table[b-si92g219n6] {
    width: 100%;
    min-width: 1160px;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}

    .promotions-table thead th[b-si92g219n6] {
        position: sticky;
        top: 0;
        z-index: 12;
        padding: 0.58rem 0.55rem;
        border-bottom: 0;
        background: #ffffff;
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 850;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
    }

    .promotions-table tbody td[b-si92g219n6] {
        padding: 0.56rem 0.55rem;
        vertical-align: middle;
        border-bottom: 1px solid #edf2f7;
        background: #ffffff;
        color: var(--text-900);
    }

    .promotions-table tbody tr:hover td[b-si92g219n6] {
        background: #fbfdff;
    }

    /* Table edge alignment */
    /* ---------------------------------------------------------
   Aligns first and last table cells with the filter row and pager inset.
   --------------------------------------------------------- */
    .promotions-table thead th:first-child[b-si92g219n6],
    .promotions-table tbody td:first-child[b-si92g219n6] {
        padding-left: 12px;
    }

    .promotions-table thead th:last-child[b-si92g219n6],
    .promotions-table tbody td:last-child[b-si92g219n6] {
        padding-right: 12px;
    }

/* Promotion Cycle Group Rows */
/* ---------------------------------------------------------
   Segregates Promotion records by exact Promotion Cycle while
   preserving table-owned scrolling and existing column widths.
   --------------------------------------------------------- */
.promotions-cycle-group-toggle[b-si92g219n6] {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    margin-left: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 7px;
    background: #f8fbff;
    color: #2563eb;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

    .promotions-cycle-group-toggle:hover[b-si92g219n6] {
        border-color: #b8cbea;
        background: #f2f7ff;
    }

    .promotions-cycle-group-toggle:focus-visible[b-si92g219n6] {
        outline: 2px solid rgba(37, 99, 235, 0.22);
        outline-offset: 2px;
    }

.promotions-cycle-group-row td[b-si92g219n6] {
    padding: 0 !important;
    border-top: 1px solid rgba(37, 99, 235, 0.20);
    border-bottom: 1px solid rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
    box-shadow: inset 3px 0 0 rgba(37, 99, 235, 0.28);
}

.promotions-table tbody tr.promotions-cycle-group-row:hover td[b-si92g219n6] {
    background: linear-gradient(180deg, #eef5ff 0%, #f5f9ff 100%) !important;
}

.promotions-cycle-group-header[b-si92g219n6] {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 10px 4px 12px;
}

.promotions-cycle-group-main[b-si92g219n6] {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.promotions-cycle-group-label[b-si92g219n6] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 2px 6px;
    border: 1px solid rgba(59, 92, 148, 0.20);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.88);
    color: #526b91;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.promotions-cycle-group-name[b-si92g219n6] {
    min-width: 0;
    overflow: hidden;
    color: #14264a;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promotions-cycle-group-period[b-si92g219n6] {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.promotions-cycle-group-actions[b-si92g219n6] {
    position: sticky;
    right: 10px;
    z-index: 3;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    padding-left: 10px;
    background: linear-gradient( 90deg, rgba(248, 251, 255, 0) 0%, rgba(248, 251, 255, 0.96) 18%, #f8fbff 38% );
}

.promotions-cycle-release-action[b-si92g219n6] {
    flex: 0 0 auto;
    min-height: 24px;
    padding: 3px 10px;
    border: 1px solid rgba(37, 99, 235, 0.24);
    border-radius: 6px;
    background: #ffffff;
    color: #1557cc;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
    cursor: pointer;
}

    .promotions-cycle-release-action:hover[b-si92g219n6] {
        border-color: rgba(37, 99, 235, 0.40);
        background: #f7faff;
        color: #123f91;
    }

    .promotions-cycle-release-action:focus-visible[b-si92g219n6] {
        outline: 2px solid rgba(37, 99, 235, 0.24);
        outline-offset: 2px;
    }

.promotions-cycle-group-count[b-si92g219n6] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.13);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 10.5px;
    font-weight: 750;
    white-space: nowrap;
}

/* Collapsed Promotion Cycle Spacing */
/* ---------------------------------------------------------
   Separates adjacent collapsed Promotion Cycles while preserving
   compact table density and the existing fixed-height workspace.
   --------------------------------------------------------- */

.promotions-cycle-group-row--collapsed + .promotions-cycle-group-row--collapsed > td[b-si92g219n6] {
    border-top: 6px solid #ffffff !important;
}


/* Sort controls */
/* ---------------------------------------------------------
   Applies the shared Books and Promotion Cycles sort treatment
   with active-sort emphasis.
   --------------------------------------------------------- */

.promotions-sort-button[b-si92g219n6] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
    white-space: nowrap;
}

    .promotions-sort-button:hover[b-si92g219n6],
    .promotions-sort-button--active[b-si92g219n6] {
        color: #2563eb;
    }

.promotions-sort-indicator[b-si92g219n6] {
    font-size: 0.72rem;
    line-height: 1;
}


/* Column sizing */
/* ---------------------------------------------------------
   Maintains a 1060px base table width and expands across available
   workspace space before horizontal scrolling begins.
   --------------------------------------------------------- */

.promotions-col-promotion[b-si92g219n6] {
    width: 34%;
    min-width: 260px;
}

.promotions-col-type[b-si92g219n6] {
    width: 96px;
    min-width: 92px;
    white-space: nowrap;
}

.promotions-col-manufacturer[b-si92g219n6] {
    width: 136px;
    min-width: 124px;
    white-space: normal;
}

.promotions-col-promo-period[b-si92g219n6] {
    width: 76px;
    min-width: 66px;
    white-space: nowrap;
}

.promotions-col-item[b-si92g219n6] {
    width: 64px;
    min-width: 58px;
    text-align: center;
    white-space: nowrap;
}

.promotions-col-workflow[b-si92g219n6] {
    width: 180px;
    min-width: 166px;
    white-space: nowrap;
}

.promotions-col-book-proof[b-si92g219n6] {
    width: 142px;
    min-width: 136px;
    white-space: nowrap;
}

.promotions-col-last-updated[b-si92g219n6] {
    width: 124px;
    min-width: 112px;
    font-size: 11px;
    line-height: 1.2;
    white-space: normal;
}

.promotions-col-actions[b-si92g219n6] {
    width: 126px;
    min-width: 126px;
    max-width: 126px;
}


/* Column behavior */
/* ---------------------------------------------------------
   Allows two-line Promotion titles, keeps utility columns compact,
   and pins Actions to the table scroll region.
   --------------------------------------------------------- */

.promotions-table td.promotions-col-manufacturer[b-si92g219n6],
.promotions-table td.promotions-col-promo-period[b-si92g219n6] {
    font-size: 12px;
    line-height: 1.22;
}

.promotions-table td.promotions-col-item[b-si92g219n6] {
    font-size: 12px;
    font-weight: 600;
}

/* Sticky Actions column */
/* ---------------------------------------------------------
   Pins Actions to the right edge of the table scroll viewport.
   The sticky cell remains neutral while action content owns emphasis.
   --------------------------------------------------------- */
.promotions-table th.promotions-col-actions[b-si92g219n6],
.promotions-table td.promotions-col-actions[b-si92g219n6] {
    position: sticky;
    right: 0;
    z-index: 10;
    text-align: left;
    white-space: nowrap;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: none;
}

.promotions-table thead th.promotions-col-actions[b-si92g219n6] {
    z-index: 18;
    background: #ffffff;
    box-shadow: inset 0 -1px 0 rgba(25, 35, 68, 0.12);
}

.promotions-table tbody tr:hover td.promotions-col-actions[b-si92g219n6] {
    background: #fbfdff;
}

/* Book Proof Disabled Table Width */
/* ---------------------------------------------------------
   Reclaims Book Proof column width when the workflow feature
   is disabled while preserving table-owned horizontal scrolling.
   --------------------------------------------------------- */

.promotions-page--without-book-proof .promotions-table[b-si92g219n6] {
    min-width: 1020px;
}


/* Manufacturer table variant */
/* ---------------------------------------------------------
   Uses a narrower protected table width because Manufacturer mode
   contains fewer operational columns.
   --------------------------------------------------------- */

.promotions-page--manufacturer .promotions-table[b-si92g219n6] {
    min-width: 990px;
}

.promotions-page--manufacturer.promotions-page--without-book-proof .promotions-table[b-si92g219n6] {
    min-width: 850px;
}

.promotions-page--manufacturer .promotions-col-promotion[b-si92g219n6] {
    min-width: 260px;
}

.promotions-page--manufacturer .promotions-col-type[b-si92g219n6] {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
}

.promotions-page--manufacturer .promotions-col-promo-period[b-si92g219n6] {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
}

.promotions-page--manufacturer .promotions-col-item[b-si92g219n6] {
    width: 50px;
    min-width: 50px;
    max-width: 50px;
}

.promotions-page--manufacturer .promotions-col-book-proof[b-si92g219n6] {
    width: 136px;
    min-width: 136px;
    max-width: 136px;
}

.promotions-page--manufacturer .promotions-col-workflow[b-si92g219n6] {
    width: 158px;
    min-width: 158px;
    max-width: 158px;
}

.promotions-page--manufacturer .promotions-col-last-updated[b-si92g219n6] {
    width: 104px;
    min-width: 104px;
    max-width: 104px;
}

.promotions-page--manufacturer .promotions-col-actions[b-si92g219n6] {
    width: 88px;
    min-width: 88px;
    max-width: 88px;
}


/* Row text hierarchy */
/* ---------------------------------------------------------
   Aligns Promotion title, metadata, updated date, and tooltip
   treatment with the Promotion Cycles operational table.
   --------------------------------------------------------- */

.promotions-primary[b-si92g219n6] {
    color: var(--text-900);
    font-weight: 600;
    line-height: 1.22;
}

.promotions-primary-title-wrap[b-si92g219n6] {
    position: relative;
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
    align-items: flex-start;
}

.promotions-primary-title[b-si92g219n6] {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--text-900);
    font-size: 13.5px;
    line-height: 1.25;
    font-weight: 600;
}

.promotions-secondary[b-si92g219n6] {
    margin-top: 3px;
    color: var(--text-600);
    font-size: 12px;
    line-height: 1.35;
}

.promotions-secondary-info[b-si92g219n6] {
    color: #1d4ed8;
    font-weight: 500;
}

.promotions-secondary-warning[b-si92g219n6] {
    color: #b45309;
    font-weight: 500;
}

.promotions-secondary-success[b-si92g219n6] {
    color: #15803d;
    font-weight: 500;
}

.promotions-secondary-muted[b-si92g219n6] {
    color: var(--text-600);
    font-size: 12px;
}

.promotions-row-meta-line[b-si92g219n6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.2;
}

.promotions-row-meta-status[b-si92g219n6] {
    font-weight: 600;
}

.promotions-row-meta-info[b-si92g219n6] {
    color: #1d4ed8;
}

.promotions-row-meta-warning[b-si92g219n6] {
    color: #b45309;
}

.promotions-row-meta-success[b-si92g219n6] {
    color: #15803d;
}

.promotions-row-meta-muted[b-si92g219n6],
.promotions-row-meta-date[b-si92g219n6],
.promotions-row-meta-separator[b-si92g219n6] {
    color: var(--text-500);
}

.promotions-updated-text[b-si92g219n6] {
    display: inline-block;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.2;
    white-space: normal;
}


/* Promotion type badges */

.promotions-type-badge[b-si92g219n6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.promotions-type-badge--prepack[b-si92g219n6] {
    border: 1px solid rgba(63, 111, 159, 0.16);
    background: rgba(63, 111, 159, 0.12);
    color: rgb(63, 111, 159);
}

.promotions-type-badge--openstock[b-si92g219n6] {
    border: 1px solid rgba(142, 59, 103, 0.16);
    background: rgba(142, 59, 103, 0.10);
    color: rgb(142, 59, 103);
}

.promotions-type-badge--default[b-si92g219n6] {
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

/* Book Proof Status Column */
/* ---------------------------------------------------------
   Displays Promotion-level Book Proof request and lifecycle
   status for WAM Admin, Manufacturer, and assigned Broker.
   --------------------------------------------------------- */

.promotions-book-proof-stack[b-si92g219n6] {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
    gap: 3px;
}

.promotions-book-proof-badge[b-si92g219n6] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 112px;
    min-height: 21px;
    padding: 3px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.promotions-book-proof-badge--neutral[b-si92g219n6] {
    border-color: rgba(148, 163, 184, 0.18);
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

.promotions-book-proof-badge--info[b-si92g219n6] {
    border-color: rgba(59, 130, 246, 0.18);
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.promotions-book-proof-badge--warning[b-si92g219n6] {
    border-color: rgba(245, 158, 11, 0.20);
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.promotions-book-proof-badge--danger[b-si92g219n6] {
    border-color: rgba(239, 68, 68, 0.18);
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.promotions-book-proof-badge--success[b-si92g219n6] {
    border-color: rgba(34, 197, 94, 0.20);
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
}

.promotions-book-proof-detail[b-si92g219n6] {
    color: var(--text-500);
    font-size: 10.5px;
    line-height: 1.15;
    white-space: nowrap;
}


/* Current Stage column */
/* ---------------------------------------------------------
   Combines Promotion review and Distributor Pricing progress
   inside one compact workflow display.
   --------------------------------------------------------- */

.promotions-workflow-header-wrap[b-si92g219n6] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 15px;
}

.promotions-header-info-wrap[b-si92g219n6] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.promotions-header-info-icon[b-si92g219n6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(117, 140, 167, 0.38);
    border-radius: 999px;
    background: rgba(117, 140, 167, 0.10);
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
    cursor: help;
}

.promotions-workflow-stack[b-si92g219n6] {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
    gap: 3px;
}

.promotions-workflow-badge[b-si92g219n6] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 21px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

    .promotions-workflow-badge.promotions-badge-draft[b-si92g219n6] {
        background: rgba(148, 163, 184, 0.16);
        color: #475569;
    }

    .promotions-workflow-badge.promotions-badge-submitted[b-si92g219n6] {
        background: rgba(59, 130, 246, 0.14);
        color: #1d4ed8;
    }

    .promotions-workflow-badge.promotions-badge-review[b-si92g219n6] {
        background: rgba(245, 158, 11, 0.16);
        color: #b45309;
    }

    .promotions-workflow-badge.promotions-badge-revision[b-si92g219n6] {
        background: #ffe4e6;
        color: #dc2626;
    }

    .promotions-workflow-badge.promotions-badge-approved[b-si92g219n6] {
        background: rgba(34, 197, 94, 0.16);
        color: #15803d;
    }

    .promotions-workflow-badge.promotions-badge-rejected[b-si92g219n6] {
        background: rgba(239, 68, 68, 0.14);
        color: #b91c1c;
    }

    .promotions-workflow-badge.promotions-badge-default[b-si92g219n6] {
        background: rgba(148, 163, 184, 0.14);
        color: #475569;
    }

.promotions-workflow-badge--review[b-si92g219n6],
.promotions-workflow-badge--submitted[b-si92g219n6] {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.promotions-workflow-badge--returned[b-si92g219n6] {
    background: rgba(239, 68, 68, 0.14);
    color: #b91c1c;
}

.promotions-workflow-badge--completed[b-si92g219n6] {
    background: rgba(34, 197, 94, 0.16);
    color: #15803d;
}

.promotions-workflow-detail-line[b-si92g219n6] {
    max-width: 100%;
    padding-left: 4px;
    color: #94a3b8;
    font-size: 0.72rem;
    line-height: 1.25;
    white-space: normal;
}

.promotions-workflow-detail-prefix[b-si92g219n6] {
    font-weight: 700;
}

.promotions-workflow-detail-prefix--promotion[b-si92g219n6] {
    color: #64748b;
}

.promotions-workflow-detail-prefix--pricing[b-si92g219n6] {
    color: #1d4ed8;
}

.promotions-workflow-detail-separator[b-si92g219n6],
.promotions-workflow-detail-text[b-si92g219n6] {
    color: #94a3b8;
}


/* Row actions */
/* ---------------------------------------------------------
   Keeps action links compact and readable inside the sticky
   Actions column.
   --------------------------------------------------------- */

.promotions-row-actions[b-si92g219n6] {
    width: 100%;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0 8px;
    border-radius: 7px;
    background: #f3f6fb;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.82);
    flex-wrap: nowrap;
    white-space: nowrap;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.promotions-table tbody tr:hover .promotions-row-actions[b-si92g219n6] {
    background: #edf4ff;
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.68);
}

.promotions-link-action[b-si92g219n6] {
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-600, #2563eb);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.promotions-row-actions .promotions-link-action + .promotions-link-action[b-si92g219n6]::before {
    content: "·";
    display: inline-block;
    margin: 0 5px;
    color: rgba(25, 35, 68, 0.35);
    text-decoration: none;
}

.promotions-link-action:hover[b-si92g219n6] {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.promotions-link-action-release[b-si92g219n6] {
    color: var(--link-600, #2563eb);
}

.promotions-link-action-danger[b-si92g219n6] {
    color: #dc2626;
}

.promotions-link-action:disabled[b-si92g219n6] {
    opacity: 0.5;
    cursor: default;
    text-decoration: none;
}


/* Pager */
/* ---------------------------------------------------------
   Remains anchored below the internally scrolling table region.
   --------------------------------------------------------- */

.promotions-pager[b-si92g219n6] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 6px 14px 4px;
    border-top: 1px solid rgba(25, 35, 68, 0.06);
    background: #f8fafc;
}

.promotions-pager-meta[b-si92g219n6] {
    color: var(--text-600);
    font-size: 12px;
}

.promotions-pager-actions[b-si92g219n6] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.promotions-pager-page[b-si92g219n6] {
    min-width: 88px;
    color: var(--text-700, #334155);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}


/* Create Promotion modal */

.promotions-modal-backdrop[b-si92g219n6] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.35);
}

.promotions-modal[b-si92g219n6] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.promotions-modal-card[b-si92g219n6] {
    width: min(1180px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(25, 35, 68, 0.08);
    border-radius: 12px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
}

.promotions-modal-header[b-si92g219n6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--border-200);
}

.promotions-modal-title[b-si92g219n6] {
    color: var(--text-900);
    font-size: 15px;
    font-weight: 600;
}

.promotions-modal-body[b-si92g219n6] {
    overflow: auto;
    padding: 16px 18px 14px;
}

.promotions-modal-footer[b-si92g219n6] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}


/* Projected worksheet type selector */
/* ---------------------------------------------------------
   Uses ::deep because the Create Promotion form is projected
   into the shared modal shell.
   --------------------------------------------------------- */

[b-si92g219n6] .promotions-create-type-selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

[b-si92g219n6] .promotions-create-type-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-200);
    border-radius: 12px;
    background: var(--bg-surface);
    color: var(--text-900);
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

    [b-si92g219n6] .promotions-create-type-card:hover {
        border-color: rgba(59, 130, 246, 0.45);
        background: #fcfdff;
        box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.08);
    }

    [b-si92g219n6] .promotions-create-type-card.is-active {
        border-color: rgba(37, 99, 235, 0.9);
        background: rgba(59, 130, 246, 0.04);
        box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.18);
    }

[b-si92g219n6] .promotions-create-type-card--prepack.is-active {
    border-color: rgba(63, 111, 159, 0.55);
    background: linear-gradient(135deg, rgba(63, 111, 159, 0.08), rgba(63, 111, 159, 0.03));
    box-shadow: 0 0 0 1px rgba(63, 111, 159, 0.12);
}

[b-si92g219n6] .promotions-create-type-card--openstock.is-active {
    border-color: rgba(142, 59, 103, 0.42);
    background: linear-gradient(135deg, rgba(142, 59, 103, 0.07), rgba(142, 59, 103, 0.025));
    box-shadow: 0 0 0 1px rgba(142, 59, 103, 0.10);
}

[b-si92g219n6] .promotions-create-type-card-icon {
    flex: 0 0 auto;
    width: 20px;
    margin-top: 2px;
    font-size: 16px;
    line-height: 1;
}

[b-si92g219n6] .promotions-create-type-card-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

[b-si92g219n6] .promotions-create-type-card-title {
    color: var(--text-900);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

[b-si92g219n6] .promotions-create-type-card-text {
    color: var(--text-600);
    font-size: 13px;
    line-height: 1.35;
}


/* Projected Create Promotion validation */

[b-si92g219n6] .promotions-create-field {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
}

[b-si92g219n6] .promotions-field-error {
    color: #b5474f;
    font-size: 0.74rem;
    line-height: 1.2;
}

[b-si92g219n6] .promotions-create-field .form-control.is-invalid,
[b-si92g219n6] .promotions-create-field .form-select.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.08rem rgba(220, 53, 69, 0.12);
}


/* Responsive behavior */
/* ---------------------------------------------------------
   Uses container queries for available content width.
   Media queries remain limited to modal and small-screen safety.
   --------------------------------------------------------- */

@media (min-width: 1600px) {
    .promotions-table[b-si92g219n6] {
        min-width: 1120px;
    }

    .promotions-col-manufacturer[b-si92g219n6] {
        width: 152px;
        min-width: 136px;
    }

    .promotions-col-workflow[b-si92g219n6] {
        width: 196px;
        min-width: 180px;
    }
}

@container promotions-page (max-width: 1200px) {
    .promotions-controls[b-si92g219n6] {
        grid-template-columns: minmax(260px, 1fr) 180px 160px 170px 96px;
    }
}

@container promotions-page (max-width: 980px) {
    .promotions-controls[b-si92g219n6] {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .promotions-control-page-size .promotions-filter-select[b-si92g219n6] {
        width: 100%;
        min-width: 0;
    }
}

@container promotions-page (max-width: 900px) {
    .promotions-summary-strip[b-si92g219n6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container promotions-page (max-width: 768px) {
    [b-si92g219n6] .promotions-create-type-selector {
        grid-template-columns: 1fr;
    }
}

@container promotions-page (max-width: 640px) {
    .promotions-summary-strip[b-si92g219n6],
    .promotions-controls[b-si92g219n6] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .promotions-panel-header[b-si92g219n6] {
        align-items: flex-start;
        flex-direction: column;
    }

    .promotions-panel-header-actions[b-si92g219n6] {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .promotions-primary-button[b-si92g219n6] {
        width: 100%;
    }

    .promotions-card-header[b-si92g219n6],
    .promotions-panel-header[b-si92g219n6],
    .promotions-controls[b-si92g219n6],
    .promotions-pager[b-si92g219n6] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .promotions-table-region[b-si92g219n6] {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 700px) {
    .promotions-modal-card[b-si92g219n6] {
        width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .promotions-modal-body[b-si92g219n6] {
        padding: 14px 14px 12px;
    }
}

@media (max-width: 640px) {
    .promotions-table-region[b-si92g219n6] {
        margin-left: 12px;
        margin-right: 12px;
    }

    .promotions-pager[b-si92g219n6] {
        padding-left: 12px;
        padding-right: 12px;
    }
}
/* /Components/Shared/SearchableSelect.razor.rz.scp.css */
.searchable-select[b-gmwtgmvm9s] {
  position: relative;
  width: 100%;
  min-width: 0;
}

.searchable-select--open[b-gmwtgmvm9s] {
  z-index: 1041;
}

.searchable-select__button[b-gmwtgmvm9s] {
  width: 100%;
  min-height: 38px;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  background-color: #fff;
  color: #212529;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

  .searchable-select__button:hover[b-gmwtgmvm9s] {
    border-color: #b8c3d4;
  }

  .searchable-select__button:focus-visible[b-gmwtgmvm9s],
  .searchable-select--open .searchable-select__button[b-gmwtgmvm9s] {
    outline: 0;
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  }

  .searchable-select__button:disabled[b-gmwtgmvm9s] {
    background-color: #e9ecef;
    cursor: not-allowed;
    opacity: 0.65;
  }

    [b-gmwtgmvm9s] .searchable-select__value-tooltip {
        flex: 1 1 auto;
        min-width: 0;
        display: block;
    }

.searchable-select__value[b-gmwtgmvm9s] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    display: block;
}

.searchable-select__chevron[b-gmwtgmvm9s] {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  color: #212529;
  font-size: 14px;
  line-height: 1;
  opacity: 0.95;
  pointer-events: none;
}

.searchable-select__backdrop[b-gmwtgmvm9s] {
  position: fixed;
  inset: 0;
  z-index: 1040;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: default;
}

.searchable-select__menu[b-gmwtgmvm9s] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1042;
    width: 100%;
    min-width: 0;
    max-width: min(100%, calc(100vw - 32px));
    max-height: 320px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(25, 35, 68, 0.14);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
}

/* Scrollable Options */
/* ---------------------------------------------------------
   Keeps the search control stable while allowing long option
   lists to scroll inside the dropdown menu.
   --------------------------------------------------------- */

.searchable-select__options[b-gmwtgmvm9s] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.45) transparent;
}

    .searchable-select__options[b-gmwtgmvm9s]::-webkit-scrollbar {
        width: 8px;
    }

    .searchable-select__options[b-gmwtgmvm9s]::-webkit-scrollbar-track {
        background: transparent;
    }

    .searchable-select__options[b-gmwtgmvm9s]::-webkit-scrollbar-thumb {
        border: 2px solid transparent;
        border-radius: 999px;
        background: rgba(100, 116, 139, 0.42);
        background-clip: padding-box;
    }

        .searchable-select__options[b-gmwtgmvm9s]::-webkit-scrollbar-thumb:hover {
            background: rgba(71, 85, 105, 0.58);
            background-clip: padding-box;
        }

.searchable-select__search-row[b-gmwtgmvm9s] {
  flex: 0 0 auto;
  padding: 8px;
  border-bottom: 1px solid rgba(25, 35, 68, 0.08);
  background: #f8fafc;
}

.searchable-select__search-wrap[b-gmwtgmvm9s] {
  position: relative;
  width: 100%;
  min-width: 0;
}

.searchable-select__search[b-gmwtgmvm9s] {
  width: 100%;
  min-height: 34px;
  padding: 0.35rem 2rem 0.35rem 0.55rem;
  border: 1px solid rgba(25, 35, 68, 0.14);
  border-radius: 8px;
  color: #0f172a;
  font-size: 13px;
  outline: 0;
}

.searchable-select__search-clear[b-gmwtgmvm9s] {
  position: absolute;
  top: 50%;
  right: 7px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

  .searchable-select__search-clear:hover[b-gmwtgmvm9s] {
    background: rgba(25, 35, 68, 0.08);
    color: #0f172a;
  }

  .searchable-select__search:focus[b-gmwtgmvm9s] {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.18rem rgba(13, 110, 253, 0.16);
  }

.searchable-select__option[b-gmwtgmvm9s] {
  appearance: none;
  width: 100%;
  min-height: 34px;
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 7px 10px;
  border: 0;
  border-bottom: 1px solid rgba(25, 35, 68, 0.045);
  background: #fff;
  color: #192344;
  font: inherit;
  font-size: 13px;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}

  .searchable-select__option:hover[b-gmwtgmvm9s],
  .searchable-select__option:focus-visible[b-gmwtgmvm9s] {
    outline: none;
    background: rgba(37, 99, 235, 0.07);
  }

.searchable-select__option--selected[b-gmwtgmvm9s] {
  background: rgba(37, 99, 235, 0.10);
  color: #1d4ed8;
  font-weight: 700;
}

[b-gmwtgmvm9s] .searchable-select__option-tooltip {
  display: block;
  width: 100%;
  min-width: 0;
}

.searchable-select__option-text[b-gmwtgmvm9s] {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.searchable-select__empty[b-gmwtgmvm9s] {
  padding: 10px;
  color: #64748b;
  font-size: 12px;
  text-align: center;
}
/* /Components/Shared/UserArea.razor.rz.scp.css */
.user-area[b-200opg09xq] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
}

.role-badge[b-200opg09xq] {
  display: inline-flex;
  align-items: center;
  padding: .25rem .5rem;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 999px;
  font-size: .875rem;
  background: #fff;
}

.role-trigger[b-200opg09xq],
.user-trigger[b-200opg09xq] {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .1rem .25rem;
  border: 1px solid transparent;
  border-radius: .65rem;
  background: transparent;
  box-shadow: none;
}

  .role-trigger:hover[b-200opg09xq],
  .user-trigger:hover[b-200opg09xq] {
    background: rgba(0,0,0,.025);
    border-color: transparent;
  }

.role-label[b-200opg09xq] {
  font-size: .875rem;
  font-weight: 600;
}

.role-menu[b-200opg09xq],
.user-menu[b-200opg09xq] {
  position: relative;
}

.user-trigger:focus-visible[b-200opg09xq],
.menu-item:focus-visible[b-200opg09xq] {
  outline: 2px solid rgba(13,110,253,.45);
  outline-offset: 2px;
}

.role-panel[b-200opg09xq],
.user-panel[b-200opg09xq] {
  position: absolute;
  right: 0;
  top: calc(100% + .35rem);
  min-width: 180px;
  background: #fff;
  border: 1px solid var(--panel-border);
  box-shadow: var(--panel-shadow);
  border-radius: var(--radius-sm);
  padding: .35rem;
  z-index: 2000;
}

.role-item[b-200opg09xq],
.menu-item[b-200opg09xq] {
  width: 100%;
  text-align: left;
  display: block;
  padding: .45rem .6rem;
  border: 0;
  background: transparent;
  border-radius: .4rem;
  font-size: .9rem;
  color: inherit;
  text-decoration: none;
}

  .role-item:hover[b-200opg09xq],
  .menu-item:hover[b-200opg09xq] {
    background: rgba(0,0,0,.05);
  }

  .menu-item.danger[b-200opg09xq] {
    color: #b42318;
  }

.avatar[b-200opg09xq] {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

  .avatar .bi[b-200opg09xq] {
    font-size: 15px;
    line-height: 1;
  }

.avatar-image[b-200opg09xq] {
  object-fit: cover;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
}

.avatar-fallback[b-200opg09xq] {
  background: rgba(13,110,253,.10);
  border: 1px solid rgba(13,110,253,.18);
  color: rgba(13,110,253,.85);
}

  .avatar-fallback .bi[b-200opg09xq] {
    font-size: 15px;
    line-height: 1;
  }

.user-text[b-200opg09xq] {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  line-height: 1;
  min-width: 0;
  text-align: left;
}

.user-name[b-200opg09xq] {
  font-size: .92rem;
  font-weight: 700;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
}

.user-sub[b-200opg09xq] {
  font-size: .72rem;
  opacity: .62;
  margin-top: .1rem;
  text-align: left;
}

.user-caret[b-200opg09xq] {
  font-size: .62rem;
  opacity: .5;
  margin-left: .05rem;
}

.icon-btn[b-200opg09xq] {
  border: 1px solid transparent;
  background: transparent;
  border-radius: .5rem;
  padding: .25rem .45rem;
}

  .icon-btn:hover[b-200opg09xq] {
    background: rgba(0,0,0,.03);
    border-color: rgba(0,0,0,.08);
  }

/* Session-expired modal */
.ua-session-backdrop[b-200opg09xq] {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: rgba(15, 23, 42, 0.46);
  backdrop-filter: blur(2px);
}

.ua-session-modal[b-200opg09xq] {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}

.ua-session-card[b-200opg09xq] {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}

.ua-session-header[b-200opg09xq] {
  padding: 1rem 1.25rem 0.5rem 1.25rem;
}

.ua-session-title-wrap[b-200opg09xq] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ua-session-title[b-200opg09xq] {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
}

.ua-session-body[b-200opg09xq] {
  padding: 0.25rem 1.25rem 1rem 1.25rem;
}

.ua-session-message[b-200opg09xq] {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.55;
  color: #334155;
}

.ua-session-countdown[b-200opg09xq] {
  margin-top: 0.85rem;
  font-size: 0.84rem;
  color: #64748b;
}

.ua-session-footer[b-200opg09xq] {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 0.95rem 1.25rem 1.15rem 1.25rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.75);
}

.ua-session-primary[b-200opg09xq] {
  min-width: 140px;
}

@media (max-width: 640px) {
  .ua-session-modal[b-200opg09xq] {
    align-items: flex-end;
    padding: 0.75rem;
  }

  .ua-session-card[b-200opg09xq] {
    max-width: none;
    border-radius: 14px;
  }

  .ua-session-footer[b-200opg09xq] {
    justify-content: stretch;
  }

  .ua-session-primary[b-200opg09xq] {
    width: 100%;
  }
}
