/* ============================================
   Pricing Pages — pricing.html & pricing-detail.html
   ============================================ */

/* --- Shared: Sidebar logo overrides --- */
.logo-full--sidebar {
  height: 32px;
  margin: 0 auto;
}
.logo-mark--sidebar {
  height: 24px;
  margin: 0 auto;
}

/* --- Shared: Topbar user pointer --- */

/* --- Shared: Page subtitle --- */
.page-subtitle {
  margin-top: 4px;
}

/* --- pricing.html: Price Lists section --- */

/* --- pricing.html: Card header title reset --- */

/* --- pricing.html: Card body description --- */
.pricing-cards-grid .card .card-body {
  padding: 12px 20px;
}

/* --- pricing.html: Card meta row --- */

/* --- pricing.html: Card action buttons row --- */

/* --- pricing.html: Price Rules card header --- */

/* --- pricing.html: Filter bar (uses global .filter-bar styles) */
.filter-bar__right {
  margin-left: auto;
  display: flex;
  gap: 8px;
}

/* --- pricing.html: Table sortable header --- */

/* --- pricing.html: Badge font-size variants --- */
.badge--sm {
  font-size: 0.75rem;
}

/* --- pricing.html: Discount cell --- */
.td--discount {
  background: none;
  text-align: center;
  min-width: 110px;
}

/* --- pricing.html: Discount sub-label --- */

/* --- pricing-detail.html: Price list header card --- */

/* --- pricing-detail.html: Tabs --- */

/* --- pricing-detail.html: Styled table header (blue on grey) --- */

/* --- pricing-detail.html: Table column widths --- */

/* --- pricing-detail.html: Add-rule button in header --- */

/* --- pricing-detail.html: Header column inner layout --- */
.th-count {
  font-weight: 400;
  color: #94a3b8;
}

/* --- pricing-detail.html: Product name cell --- */

/* --- pricing-detail.html: Product type badge variants --- */

/* --- pricing-detail.html: Simple type badges (products tab, no icon) --- */

/* --- pricing-detail.html: Pricing status badges --- */

/* --- pricing-detail.html: Table cell alignments & styles --- */

/* --- pricing-detail.html: History table cells --- */
/* Special case: old-price with no strike-through (dash placeholder) */

/* --- pricing-detail.html: Slide-out panels --- */
.slide-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 480px;
  background: #fff;
  box-shadow: -4px 0 24px rgba(0,0,0,0.12);
  z-index: 1001;
}
.slide-panel__header {
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}
.slide-panel__title {
  font-size: 1rem;
  margin: 0;
  font-weight: 600;
}
.slide-panel__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #94a3b8;
}
.slide-panel__body {
  padding: 20px;
}

/* --- pricing-detail.html: Form groups in panels --- */
.form-control--sm {
  font-size: 0.875rem;
}
.form-control--textarea {
  font-size: 0.875rem;
  resize: vertical;
}

/* --- pricing-detail.html: Currency input with prefix --- */

/* --- pricing-detail.html: Panel footer actions --- */
.panel-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
}

/* --- pricing-detail.html: Toggle switch section --- */
.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.toggle-switch {
  width: 38px;
  height: 22px;
  background: var(--primary);
  border-radius: 4px;
  position: relative;
  cursor: pointer;
}
.toggle-hint {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 4px;
}

/* --- pricing-detail.html: Panel overlay --- */
.panel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.3);
  z-index: 1000;
}

/* --- pricing-detail.html: Toolbar above price rules table --- */

/* --- pricing-detail.html: Product type under product name --- */

/* --- pricing-detail.html: UOM line under price --- */
td:has(.pricing-uom-line) {
  text-align: center;
  min-width: 110px;
}
.pricing-uom-line {
  font-size: 0.75rem;
  font-weight: 400;
  color: #64748b;
  margin-top: 2px;
}
.pricing-x {
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 400;
}

/* --- pricing.html: Pill filter selectors --- */
.pricing-pill-filters {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.pricing-pill {
  padding: 5px 12px;
  border: 1.5px solid #cbd5e1;
  border-radius: 4px;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.pricing-pill:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.pricing-pill--active {
  background: #d0e4f7;
  color: var(--primary);
  border-color: var(--primary);
  font-weight: 600;
}

/* --- pricing.html: Column widths — Product takes space, rest compact on right --- */
#pricingTab-products table { table-layout: fixed; }
#pricingTab-products table th:nth-child(1) { width: auto; }     /* Product — takes remaining space */
#pricingTab-products table th:nth-child(2) { width: 165px; }    /* Type */
#pricingTab-products table th:nth-child(3) { width: 132px; }    /* Base Price */
#pricingTab-products table th:nth-child(4) { width: 110px; }    /* Contractor */
#pricingTab-products table th:nth-child(5) { width: 99px; }     /* VIP */
#pricingTab-products table th:nth-child(6) { width: 99px; }     /* Status */

/* --- pricing.html: Status column centered --- */

/* --- pricing.html: tier sub-label in header --- */
.th-sub {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  opacity: 0.7;
  line-height: 1.2;
}

/* --- pricing.html: Search with button --- */
.filter-bar__search--with-btn {
  position: relative;
}
.filter-bar__search--with-btn .filter-bar__search-input {
  padding-right: 40px;
}
.filter-bar__search-btn {
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--primary);
  border: none;
  border-radius: 5px;
  padding: 6px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* --- pricing.html: Pricing Tiers Bar --- */
.pricing-tiers-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.pricing-tiers-bar__label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.pricing-tiers-bar__items {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.pricing-tier-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
  background: #eef3f9;
  border: 1px solid #d4dde8;
  border-radius: 4px;
}
.pricing-tier-chip__val {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--primary);
}
