/* Shared settings-page foundations. All selectors stay inside the panel. */
.pb-settings-panel { min-width: 0; color: #111827; font: 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.pb-settings-panel *, .pb-settings-panel *::before, .pb-settings-panel *::after { box-sizing: border-box; }
.pb-settings-panel .muted { color: #64748b; }
.pb-settings-panel .page-title, .pb-settings-panel .section-head, .pb-settings-panel .crud-panel-head, .pb-settings-panel .item-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pb-settings-panel .list, .pb-settings-panel .grid, .pb-settings-panel .crud-panel, .pb-settings-panel .metric { display: grid; gap: 10px; }
.pb-settings-panel .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pb-settings-panel .actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-settings-panel label { display: grid; gap: 5px; min-width: 0; font-size: 13px; font-weight: 650; }
.pb-settings-panel input:not([type="checkbox"]), .pb-settings-panel textarea { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #dbe3ee; border-radius: 12px; background: #fff; color: #111827; font: inherit; }
.pb-settings-panel textarea { resize: vertical; }
.pb-settings-panel button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 9px 14px; border: 1px solid #dbe3ee; border-radius: 12px; background: #fff; color: #111827; font: inherit; font-weight: 650; cursor: pointer; }
.pb-settings-panel button:hover { background: #f7f9fc; }
.pb-settings-panel :is(button,input,textarea):focus-visible { outline: 2px solid #2f6bff; outline-offset: 2px; }
.pb-settings-panel :disabled { opacity: .6; cursor: wait; }
.pb-settings-panel .action-icon-btn { width: 44px; padding: 0; flex: 0 0 auto; }
.pb-settings-panel .action-icon-btn.danger { color: #b42318; background: #fff7f7; }
.pb-settings-panel .action-icon-btn.pending-delete { border-color: #dc2626; }
.pb-settings-panel .action-svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.pb-settings-panel .service-admin-item, .pb-settings-panel .post-row { display: grid; align-items: center; }
.pb-settings-panel .service-status-icon { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; }
.pb-settings-panel .service-status-icon.active { color: #15803d; background: #eaf8ee; }
.pb-settings-panel .service-status-icon.disabled { color: #64748b; background: #f1f5f9; }
.pb-settings-panel .service-status-icon .action-svg { width: 18px; height: 18px; }
.pb-settings-panel .card { border: 1px solid #dfe6ef; border-radius: 18px; background: #fff; }
.pb-settings-panel .metric { gap: 0; align-content: start; }
.pb-settings-panel .metric-value { color: #111827; font-weight: 750; }
.pb-settings-panel .post-row-main { min-width: 0; overflow-wrap: anywhere; }
.pb-settings-panel .post-row-actions { display: inline-flex; flex-wrap: wrap; }
.pb-settings-panel .post-toggle { position: relative; margin: 0; cursor: pointer; }
.pb-settings-panel .post-toggle input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pb-settings-panel .post-toggle span { display: inline-block; position: relative; pointer-events: none; border-radius: 999px; background: #e5e7eb; box-shadow: inset 0 0 0 1px #dbe3ee; }
.pb-settings-panel .post-toggle span::after { content: ""; position: absolute; border-radius: 999px; background: #fff; box-shadow: 0 2px 8px rgba(15,23,42,.2); transition: transform .16s; }
.pb-settings-panel .post-toggle input:checked + span { background: rgba(63,99,244,.92); }
.pb-settings-panel .post-toggle input:focus-visible + span { outline: 2px solid #2f6bff; outline-offset: 3px; }
.pb-settings-panel .toggle-line > span { display: flex; align-items: center; min-height: 44px; gap: 8px; }
.pb-settings-panel input[type="checkbox"] { accent-color: #2f6bff; }
.pb-settings-panel .toggle-line > span { justify-content: flex-start; }
.pb-settings-panel .toggle-line input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; min-height: 18px; flex: 0 0 18px; margin: 0; }
.pb-settings-panel .table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
.pb-settings-panel .table :is(th,td) { padding: 8px 10px; border-bottom: 1px solid #e5eaf1; }
.pb-settings-panel .badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 12px; background: #eef4ff; color: #2f6bff; }
.pb-settings-panel .badge.danger { background: #fff1f2; color: #b42318; }
.pb-settings-panel .pb-settings-feedback { padding: 10px 12px; border-radius: 12px; background: #eef4ff; }
.pb-settings-panel [hidden] { display: none !important; }
@media (max-width: 430px) { .pb-settings-panel .grid-2 { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .pb-settings-panel .post-toggle span::after { transition: none; } }

/* Compact Apple-aligned administration pages: Schedule and Services. */
.pb-settings-panel.pb-settings-panel .staff-settings-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: none;
  gap: 10px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page > * {
  min-width: 0;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between;
  min-height: 44px;
  margin: 0 0 2px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: -0.02em;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title p,
.pb-settings-panel.pb-settings-panel .staff-settings-page .section-head p {
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 17px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-action,
.pb-settings-panel.pb-settings-panel .staff-settings-page .crud-panel .actions button {
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--pb-color-border, #dbe3ee) !important;
  border-radius: 12px !important;
  background: var(--pb-color-bg-elevated, #fff) !important;
  box-shadow: none !important;
  color: var(--pb-color-text-strong, #111827) !important;
  font-size: 14px;
  font-weight: 650;
  line-height: 20px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-action:hover,
.pb-settings-panel.pb-settings-panel .staff-settings-page .crud-panel .actions button:hover {
  border-color: #c9d4e3 !important;
  background: var(--pb-color-bg-soft, #f7f9fc) !important;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-danger-action {
  border-color: rgba(220, 38, 38, 0.22) !important;
  background: #fff7f7 !important;
  color: #b42318 !important;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-section {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 14px !important;
  border: 1px solid var(--pb-color-border, #dfe6ef);
  border-radius: 18px !important;
  background: var(--pb-color-bg-elevated, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.045);
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-section h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

.pb-settings-panel.pb-settings-panel .schedule-admin-page {
  gap: 6px;
}

.pb-settings-panel.pb-settings-panel .schedule-admin-page .staff-settings-section {
  padding: 10px !important;
  border-radius: 16px !important;
}

.pb-settings-panel.pb-settings-panel .schedule-admin-page .staff-settings-section h2 {
  font-size: 17px;
  line-height: 22px;
}

.pb-settings-panel.pb-settings-panel .schedule-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.pb-settings-panel.pb-settings-panel .schedule-summary-grid .metric {
  min-height: 62px;
  padding: 8px 10px !important;
  border-radius: 14px !important;
}

.pb-settings-panel.pb-settings-panel .schedule-summary-grid .metric > .muted {
  font-size: 12px;
  line-height: 15px;
}

.pb-settings-panel.pb-settings-panel .schedule-summary-grid .metric-value {
  margin-top: 1px;
  font-size: 21px;
  line-height: 26px;
}

.pb-settings-panel.pb-settings-panel .schedule-section-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.pb-settings-panel.pb-settings-panel .schedule-settings-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px 8px;
  margin: 6px 0;
}

.pb-settings-panel.pb-settings-panel .schedule-exception-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1.1fr 0.8fr 0.8fr;
  gap: 8px;
  margin: 6px 0;
}

.pb-settings-panel.pb-settings-panel .schedule-settings-grid > label,
.pb-settings-panel.pb-settings-panel .schedule-exception-grid > label {
  display: grid;
  grid-template-rows: minmax(42px, auto) 44px;
  align-items: end;
  gap: 2px;
  min-width: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 14px;
}

.pb-settings-panel.pb-settings-panel .schedule-settings-grid input,
.pb-settings-panel.pb-settings-panel .schedule-exception-grid input:not([type="checkbox"]) {
  width: 100%;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 6px 10px;
  border-radius: 11px;
  font-size: 13px;
  line-height: 18px;
}

.pb-settings-panel.pb-settings-panel .schedule-exception-grid > .schedule-checkbox-field {
  display: flex;
  align-items: flex-end;
  min-height: 66px;
}

.pb-settings-panel.pb-settings-panel .schedule-checkbox-field > span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  gap: 6px;
  font-size: 12px;
  line-height: 14px;
}

.pb-settings-panel.pb-settings-panel .schedule-checkbox-field input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
}

.pb-settings-panel.pb-settings-panel .schedule-posts-section .section-head {
  flex-direction: row !important;
  align-items: center;
  min-height: 44px;
  margin-bottom: 6px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .crud-panel {
  margin: 10px 0;
  padding: 12px !important;
  border-radius: 14px !important;
  background: var(--pb-color-bg-soft, #f8fafd);
  box-shadow: none;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .crud-panel .grid {
  gap: 8px 12px;
}

.pb-settings-panel.pb-settings-panel .staff-settings-page .crud-panel .actions {
  margin-top: 0;
  gap: 8px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list,
.pb-settings-panel.pb-settings-panel .services-compact-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--pb-color-border, #dfe6ef);
  border-radius: 14px;
  background: var(--pb-color-bg-elevated, #fff);
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list > .item,
.pb-settings-panel.pb-settings-panel .services-compact-list > .service-admin-item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--pb-color-border, #e5eaf1);
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list > :last-child,
.pb-settings-panel.pb-settings-panel .services-compact-list > :last-child {
  border-bottom: 0;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 8px;
  min-height: 44px;
  padding: 0 8px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row-main {
  display: grid;
  align-content: center;
  gap: 0;
  min-height: 34px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row-main strong {
  font-size: 14px;
  line-height: 18px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row-main p {
  margin: 0;
  font-size: 12px;
  line-height: 15px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row-actions {
  grid-column: auto !important;
  gap: 4px;
  justify-content: flex-end !important;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-toggle {
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-height: 44px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-toggle span {
  width: 38px;
  min-width: 38px;
  height: 22px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-toggle span::after {
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
}

.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-toggle input:checked + span::after {
  transform: translateX(16px);
}

.pb-settings-panel.pb-settings-panel .schedule-exception-item {
  min-height: 44px;
  padding: 6px 8px;
}

.pb-settings-panel.pb-settings-panel .schedule-exception-item .actions {
  margin-top: 4px;
}

.pb-settings-panel.pb-settings-panel .schedule-exception-list-section .schedule-compact-list > p {
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 16px;
}

.pb-settings-panel.pb-settings-panel .services-list-section {
  padding: 0 !important;
}

.pb-settings-panel.pb-settings-panel .services-list-section > .section-head {
  padding: 12px 14px 10px;
}

.pb-settings-panel.pb-settings-panel .services-compact-list {
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0 0 17px 17px;
}

.pb-settings-panel.pb-settings-panel .services-compact-list > .service-admin-item {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 8px 12px;
}

.pb-settings-panel.pb-settings-panel .service-admin-main {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.pb-settings-panel.pb-settings-panel .service-admin-name {
  overflow: hidden;
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pb-settings-panel.pb-settings-panel .services-compact-list .service-admin-main p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--pb-color-text-muted, #64748b);
  font-size: 13px;
  line-height: 17px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.pb-settings-panel.pb-settings-panel .services-compact-list .service-admin-meta {
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
}

.pb-settings-panel.pb-settings-panel .services-compact-list .service-actions {
  display: grid;
  grid-template-columns: 30px 44px;
  align-items: center;
  align-self: center;
  gap: 6px;
  margin: 0;
}

.pb-settings-panel.pb-settings-panel .services-compact-list .service-status-icon {
  align-self: center;
}

.pb-settings-panel.pb-settings-panel .service-prices-section {
  margin: 0 !important;
}

.pb-settings-panel.pb-settings-panel .service-prices-section .table-wrap {
  margin-top: 8px;
  overflow-x: auto;
}

.pb-settings-panel.pb-settings-panel .service-prices-section .table th,
.pb-settings-panel.pb-settings-panel .service-prices-section .table td {
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 18px;
}

@media (max-width: 700px) {
  .pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title h1 {
    font-size: 24px;
    line-height: 30px;
  }

  .pb-settings-panel.pb-settings-panel .schedule-summary-grid {
    gap: 6px;
  }

  .pb-settings-panel.pb-settings-panel .schedule-summary-grid .metric {
    min-height: 60px;
    padding: 7px 8px !important;
  }

  .pb-settings-panel.pb-settings-panel .schedule-summary-grid .metric-value {
    font-size: 18px;
    line-height: 24px;
  }

  .pb-settings-panel.pb-settings-panel .schedule-settings-grid,
  .pb-settings-panel.pb-settings-panel .schedule-exception-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pb-settings-panel.pb-settings-panel .schedule-settings-grid > label,
  .pb-settings-panel.pb-settings-panel .schedule-exception-grid > label {
    grid-template-rows: minmax(42px, auto) 44px;
  }

  .pb-settings-panel.pb-settings-panel .schedule-settings-grid input,
  .pb-settings-panel.pb-settings-panel .schedule-exception-grid input:not([type="checkbox"]) {
    height: 44px;
    min-height: 44px;
  }
}

@media (max-width: 430px) {
  .pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title,
  .pb-settings-panel.pb-settings-panel .schedule-posts-section .section-head {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px;
  }

  .pb-settings-panel.pb-settings-panel .staff-settings-page .staff-settings-title .staff-settings-action,
  .pb-settings-panel.pb-settings-panel .schedule-posts-section .section-head .staff-settings-action {
    width: 100%;
  }

  .pb-settings-panel.pb-settings-panel .services-compact-list > .service-admin-item {
    gap: 8px;
    padding: 8px 10px;
  }
}

@media (max-width: 340px) {
  .pb-settings-panel.pb-settings-panel .schedule-settings-grid,
  .pb-settings-panel.pb-settings-panel .schedule-exception-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Approved access-panel row variant: 44px hit target, 32px visible face. */
.pb-settings-panel.pb-settings-panel .schedule-admin-page .settings-png-action {
  position: relative; isolation: isolate; width: 44px; height: 44px;
  min-width: 44px; min-height: 44px; padding: 0; border: 0;
  background: transparent; box-shadow: none; border-radius: 8px;
}
.pb-settings-panel .settings-png-action::before {
  content: ""; position: absolute; inset: 6px; z-index: -1;
  border: 1px solid #d5dde8; border-radius: 8px; background: #fff;
  box-shadow: 0 1px 2px rgba(15,23,42,.08); pointer-events: none;
}
.pb-settings-panel .settings-png-action.danger::before { border-color: #efb0b0; }
.pb-settings-panel .settings-png-action:hover::before { background: #f8fbff; border-color: #9fc1ff; }
.pb-settings-panel .settings-png-action.pending-delete::before { border-color: #dc2626; background: #fff1f2; }
.pb-settings-panel .settings-png-action:disabled::before { background: #f1f3f6; box-shadow: none; }
.pb-settings-panel .settings-png-action img { width: 24px; height: 24px; object-fit: contain; pointer-events: none; }
/* Optical size is measured from alpha bounds, not the transparent PNG canvas.
 * Pencil: 941/1254 of its canvas; trash: 128/128. Both visible long edges are
 * 16px, matching the access-panel reference without shrinking the 44px target. */
.pb-settings-panel .settings-png-action img[src$="/settings-action-edit.png"] { width: 24px; height: 24px; }
.pb-settings-panel .settings-png-action img[src$="/settings-action-delete.png"] { width: 24px; height: 24px; }
.pb-settings-panel.pb-settings-panel .schedule-compact-list .post-row-actions { gap: 2px; align-items: center; }
.pb-settings-panel .schedule-special-days { margin-top: 12px; }
.pb-settings-panel .schedule-exception-item .post-row-actions { justify-content: flex-end; }
.pb-settings-panel .schedule-exception-grid select {
  width: 100%; min-width: 0; height: 44px; border: 1px solid #dbe3ee;
  border-radius: 11px; padding: 6px 8px; background: white; color: #111827; font: inherit;
}
.pb-settings-panel .schedule-exception-grid select:focus-visible { outline: 2px solid #2f6bff; outline-offset: 2px; }

/* Approved Services catalogue and shared adaptive editor. */
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-round-checkbox {
 display:inline-grid;place-items:center;flex:0 0 var(--pb-row-hit,44px);
 width:var(--pb-row-hit,44px);height:var(--pb-row-hit,44px);
 min-width:var(--pb-row-hit,44px);min-height:var(--pb-row-hit,44px);
 padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;
}
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-round-checkbox:hover,
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-round-checkbox:active {background:transparent;box-shadow:none;}
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-round-checkbox::before,
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-round-checkbox::after {content:none;}
.pb-settings-panel.pb-settings-panel .services-admin-page button.pb-row-action {padding:0;border:0;background:transparent;box-shadow:none;}
.pb-settings-panel .services-toolbar {display:flex;gap:10px;align-items:center;min-width:0;}
.pb-settings-panel .services-toolbar > input {flex:1;}
.pb-settings-panel .services-filters {display:flex;gap:3px;padding:3px;border:1px solid #dbe3ee;border-radius:12px;background:#f8faff;}
.pb-settings-panel .services-filters button {border:0;background:transparent;padding:8px 14px;white-space:nowrap;}
.pb-settings-panel .services-filters button[aria-pressed="true"] {color:#075dff;background:#e8f0ff;}
.pb-settings-panel button.services-primary {background:#0864ff;color:white;border-color:#0864ff;}
.pb-settings-panel button.services-primary:hover {background:#0057e8;}
.pb-settings-panel .services-table-wrap {max-width:100%;overflow:auto;border:1px solid #e3eaf3;border-radius:16px;background:white;}
.pb-settings-panel .services-table {width:100%;border-collapse:collapse;text-align:left;font-size:14px;}
.pb-settings-panel .services-table th {padding:12px;color:#576c8e;background:#f9fbfe;font-size:12px;font-weight:650;white-space:nowrap;}
.pb-settings-panel .services-table td {padding:10px 12px;border-top:1px solid #e8eef5;vertical-align:middle;}
.pb-settings-panel .services-table :is(th,td):last-child {position:sticky;right:0;z-index:2;background:#fff;box-shadow:-1px 0 0 #e3eaf3;}
.pb-settings-panel .services-table th:last-child {background:#f9fbfe;z-index:3;}
@media(min-width:701px) {
 .pb-settings-panel .services-table :is(th,td):first-child {position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #e3eaf3;}
 .pb-settings-panel .services-table th:first-child {background:#f9fbfe;z-index:3;}
}
.pb-settings-panel .services-table td:first-child {min-width:230px;}
.pb-settings-panel .services-table strong {font-weight:700;}
.pb-settings-panel .services-table :is(small,.services-minutes) {display:block;color:#64799b;font-size:12px;margin-top:3px;white-space:nowrap;}
.pb-settings-panel .services-table .services-inherited strong {color:#64799b;}
.pb-settings-panel .services-name-cell {display:flex;align-items:center;gap:6px;}
.pb-settings-panel .services-name-cell p {margin:3px 0 0;color:#64799b;font-size:13px;}
.pb-settings-panel .services-row-actions {display:flex;gap:2px;flex-wrap:nowrap;}
/* Category catalog: independent activity, broad description, quiet disclosure. */
.pb-settings-panel .categories-table :is(th,td):first-child {min-width:calc(var(--pb-row-hit,44px) + 12px);width:calc(var(--pb-row-hit,44px) + 12px);padding-left:0;padding-right:0;white-space:nowrap;text-align:center;}
.pb-settings-panel .categories-table .category-description {min-width:230px;}
.pb-settings-panel .categories-table .category-description p {margin:3px 0 0;color:#64799b;font-size:13px;}
.pb-settings-panel .categories-table th {position:relative;}
.pb-settings-panel .services-table th:has(.category-sort) {padding:0;}
.pb-settings-panel .categories-table button.category-sort[data-sort-key="active"] {position:relative;width:100%;padding:0;justify-content:center;gap:0;}
.pb-settings-panel .category-activity-symbol {font-size:16px;line-height:1;color:#64799b;}
.pb-settings-panel [data-sort-key="active"] .category-sort-arrow {position:absolute;right:1px;width:10px;font-size:11px;}
.pb-settings-panel .categories-table .services-row-actions {justify-content:center;}
.pb-settings-panel button.category-add-button {
 min-height:44px;padding:0 13px;border:1px solid #bfd1ef;border-radius:12px;
 background:#edf4ff;color:#1855ba;font:600 14px/18px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 white-space:nowrap;box-shadow:none;
}
.pb-settings-panel button.category-add-button:hover {background:#e2eeff;border-color:#93b5e7;}
.pb-settings-panel button.category-add-button:focus-visible {outline:3px solid rgba(47,109,246,.22);outline-offset:2px;}
/* Approved category header: attached toolbar, unchanged table geometry. */
.pb-settings-panel :is(#categorySearch,#serviceSearch) {flex:1;min-width:0;width:100%;height:44px;margin:0;box-sizing:border-box;}
.pb-settings-panel .service-catalog > .services-table-wrap {border-top-left-radius:0;border-top-right-radius:0;}
.pb-settings-panel .service-catalog .services-table :is(th,td):last-child {width:56px;min-width:56px;padding:0;box-sizing:border-box;box-shadow:none;}
.pb-settings-panel .service-catalog .category-catalog-header > button {flex-shrink:0;}
.pb-settings-panel .service-catalog .services-table :is(th,td):first-child {position:sticky;left:0;z-index:1;background:#fff;}
.pb-settings-panel .service-catalog .services-table th:first-child {background:#f9fbfe;z-index:3;}
.pb-settings-panel .categories-table {table-layout:fixed;width:100%;min-width:0;}
.pb-settings-panel .categories-table .category-description {min-width:0;overflow-wrap:anywhere;}
.pb-settings-panel .categories-table :is(th,td):last-child {width:56px;min-width:56px;padding:0 6px;box-sizing:border-box;border-left:0;position:static;background:transparent;box-shadow:none;}
.pb-settings-panel .categories-table td.category-disclosure-cell {position:relative;padding:0;}
.pb-settings-panel button.category-disclosure {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#7a8ba3;font:28px/1 system-ui;}
.pb-settings-panel button.category-disclosure::before,.pb-settings-panel button.category-disclosure::after {content:none;}
.pb-settings-panel .categories-table button.category-disclosure > span {display:block;width:8px;height:8px;box-sizing:border-box;border:solid currentColor;border-width:2px 2px 0 0;font-size:0;line-height:0;transform:rotate(45deg);flex:none;}
.pb-settings-panel button.category-disclosure:hover {background:#edf3fb;color:#245ac0;}
.pb-settings-panel button.category-disclosure:focus-visible {outline:2px solid #2f6df6;outline-offset:-2px;}
.pb-settings-panel .category-danger-zone {margin-top:12px;padding-top:16px;border-top:1px solid #e8eef5;}
.pb-settings-panel #categorySearchEmpty {padding:12px;}
.pb-settings-panel .pb-delete-dialog label {display:grid;gap:8px;margin:16px 0;}
.pb-settings-panel .category-catalog-heading {min-width:0;}
.pb-settings-panel .category-catalog-heading h2 {margin:0;font-size:20px;line-height:1.3;}
.pb-settings-panel .category-catalog-heading p {margin:6px 0 0;font-size:13px;line-height:1.4;}
.pb-settings-panel .category-catalog > .services-table-wrap {border-top-left-radius:0;border-top-right-radius:0;}
.pb-settings-panel .category-catalog {display:flex;flex-direction:column;max-height:var(--category-available-height,calc(100dvh - 120px));min-height:0;}
.pb-settings-panel .category-catalog-header {flex-shrink:0;}
.pb-settings-panel .category-catalog > .services-table-wrap {min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.pb-settings-panel .categories-table thead {position:sticky;top:0;z-index:3;background:#f8faff;box-shadow:0 1px 0 #e3eaf3;}
.pb-settings-panel .category-catalog button.category-add-button {flex-shrink:0;border-radius:10px;background:#2f6bff;border-color:#2f6bff;color:#fff;}
.pb-settings-panel .category-catalog button.category-add-button:hover {background:#245be0;border-color:#245be0;}
@media(max-width:600px) {
 .pb-settings-panel .category-catalog-header {flex-wrap:nowrap;}
 .pb-settings-panel .category-catalog-heading h2 {font-size:18px;}
}
.pb-settings-panel .pb-delete-dialog {max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;}
.pb-settings-panel .pb-delete-dialog .actions {display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.pb-settings-panel button.pb-delete-confirm {background:#fff1f2;border-color:#efb0b0;color:#b42318;}
.pb-settings-panel button.pb-delete-confirm:hover {background:#ffe4e6;}
.pb-settings-panel .services-note {display:flex;gap:12px;align-items:center;justify-content:space-between;color:#64799b;font-size:13px;padding:10px 0;}
.pb-settings-panel .services-empty {padding:12px;}
.pb-settings-panel .services-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.pb-settings-panel .services-overlay {position:fixed;inset:0;z-index:1000;display:flex;align-items:stretch;justify-content:flex-end;background:rgba(20,35,58,.48);}
.pb-settings-panel .services-drawer {display:flex;flex-direction:column;width:min(620px,52vw);height:100dvh;max-height:100dvh;background:#fff;box-shadow:-8px 0 30px rgba(15,23,42,.1);outline:none;}
.pb-settings-panel .services-drawer > header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px;flex-shrink:0;}
.pb-settings-panel .services-drawer h2 {font-size:24px;line-height:1.2;margin:0;}
.pb-settings-panel .services-drawer h3 {font-size:16px;margin:10px 0 0;}
.pb-settings-panel .services-drawer-body {display:grid;align-content:start;grid-auto-rows:max-content;gap:14px;overflow:auto;overscroll-behavior:contain;padding:12px 24px 24px;min-height:0;}
.pb-settings-panel .services-drawer-body p {margin:0;font-size:12px;}
.pb-settings-panel .services-drawer > footer {display:flex;gap:10px;flex-wrap:wrap;padding:12px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid #e8eef5;background:white;flex-shrink:0;}
.pb-settings-panel .services-drawer > footer button {flex:1;}
.pb-settings-panel .services-drawer > footer p {width:100%;margin:0;}
.pb-settings-panel .category-editor > header {padding:12px 16px 8px;}
.pb-settings-panel .category-editor h2 {font-size:22px;}
.pb-settings-panel .category-editor .services-drawer-body {padding:8px 16px 16px;gap:12px;}
.pb-settings-panel .category-editor .services-drawer-body > * {margin-top:0;margin-bottom:0;}
.pb-settings-panel .category-editor label {display:grid;gap:6px;margin:0;}
.pb-settings-panel .category-editor :is(input:not([type=checkbox]),select) {height:44px;min-height:44px;margin:0;padding:8px 12px;box-sizing:border-box;}
.pb-settings-panel .category-editor textarea {min-height:68px;margin:0;padding:8px 12px;}
.pb-settings-panel .category-editor button {min-height:44px;padding:8px 12px;}
.pb-settings-panel .category-editor > footer {justify-content:flex-end;padding:10px 16px max(12px,env(safe-area-inset-bottom));}
.pb-settings-panel .category-editor > footer button {flex:0 1 auto;}
.pb-settings-panel .category-editor button.services-primary {background:#edf4ff;border-color:#bfd1ef;color:#1855ba;}
.pb-settings-panel .category-editor button.services-primary:hover {background:#e2eeff;}
.pb-settings-panel .category-editor button.category-close {display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;box-shadow:none;}
.pb-settings-panel .category-close img {width:28px;height:28px;object-fit:contain;}
.pb-settings-panel .category-active-field {display:flex;align-items:center;gap:6px;}
.pb-settings-panel .category-advanced summary {min-height:44px;display:flex;align-items:center;cursor:pointer;color:#64799b;}
.pb-settings-panel .category-advanced[open] summary {margin-bottom:8px;}
.pb-settings-panel #categoryConfirmationCode {font-variant-numeric:tabular-nums;letter-spacing:.15em;}
.pb-settings-panel .services-active-field {display:flex;align-items:center;gap:6px;}
.pb-settings-panel .service-editor {animation:service-editor-in .2s ease-out;width:min(520px,52vw);font-family:inherit;font-size:14px;}
.pb-settings-panel .service-editor > header {padding:12px 16px 8px;}
.pb-settings-panel .service-editor h2 {font-size:22px;}
.pb-settings-panel .service-editor .services-drawer-body {padding:8px 16px 16px;gap:12px;}
.pb-settings-panel .service-editor label {display:grid;gap:6px;margin:0;min-width:0;}
.pb-settings-panel .service-editor :is(input:not([type=checkbox]),select) {width:100%;height:44px;min-height:44px;margin:0;padding:8px 12px;box-sizing:border-box;}
.pb-settings-panel .service-editor textarea {min-height:68px;margin:0;padding:8px 12px;}
.pb-settings-panel .service-editor > footer {justify-content:flex-end;padding:10px 16px max(12px,env(safe-area-inset-bottom));}
.pb-settings-panel .service-editor > footer button {flex:0 1 auto;min-height:44px;}
.pb-settings-panel .service-editor .service-footer-delete {width:100%;}
.pb-settings-panel .service-editor .service-footer-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;}
.pb-settings-panel .service-editor .pb-text-action {font-family:inherit;font-size:14px;font-weight:650;line-height:1.3;min-width:0;padding:9px 8px;}
.pb-settings-panel .service-editor .service-footer-pair button {width:100%;height:100%;}
.pb-settings-panel .service-editor button.services-primary {background:#edf4ff;border-color:#bfd1ef;color:#1855ba;}
.pb-settings-panel .service-editor button.services-primary:hover {background:#e2eeff;}
.pb-settings-panel .service-editor button.category-close {display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;box-shadow:none;}
.pb-settings-panel .service-editor .services-tariff-row {grid-template-columns:44px minmax(0,1fr) auto 44px;gap:0;padding:0;min-height:60px;}
.pb-settings-panel .service-editor .services-tariff-heading {display:flex;align-items:center;min-width:0;}
.pb-settings-panel .service-editor .services-tariff-heading strong {font-size:14px;}
.pb-settings-panel .service-editor .services-tariff-mode {grid-column:1;padding-left:44px;align-self:start;}
.pb-settings-panel .service-editor .services-tariff-values {grid-column:2 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;min-width:0;background:#f4f7fc;border-radius:12px;padding:10px;margin:0 0 8px;}
.pb-settings-panel .service-editor .services-tariff-values[hidden] {display:none;}
.pb-settings-panel .service-tariff-action {position:relative;align-self:stretch;min-height:60px;}
.pb-settings-panel .service-tariff-disclosure[aria-expanded="true"] span {transform:rotate(90deg);}
.pb-settings-panel .service-tariff-description {min-width:0;padding:8px 6px 8px 0;}
.pb-settings-panel .service-editor .service-tariff-description strong {font-size:14px;}
.pb-settings-panel .service-editor .service-tariff-description small {font-size:12px;font-weight:400;}
.pb-settings-panel .service-editor [data-tariff-summary] {font-size:14px;font-weight:400;white-space:nowrap;color:#64799b;padding-left:6px;}
.pb-settings-panel .service-editor .service-tariff-reset {grid-column:1/-1;justify-self:start;min-height:44px;padding:4px 0;color:#1855ba;background:transparent;border:0;box-shadow:none;font-size:13px;}
.pb-settings-panel .service-editor .service-tariff-reset[hidden] {display:none;}
.pb-settings-panel .service-editor h3 {margin:4px 0 0;font-size:16px;}
.pb-settings-panel .service-editor > header {flex-wrap:wrap;gap:4px 8px;}
.pb-settings-panel .service-editor > header h2 {flex:1;font-size:18px;}
.pb-settings-panel .service-header-status {display:flex;align-items:center;font-size:12px;color:#64799b;}
.pb-settings-panel .service-description summary {min-height:44px;cursor:pointer;font-size:13px;}
.pb-settings-panel .service-description summary span {display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#64799b;font-weight:400;}
.pb-settings-panel .service-description[open] summary span {display:none;}
.pb-settings-panel .service-editor .grid-2 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media(max-width:480px) {
 .pb-settings-panel .service-header-status > span {display:none;}
 .pb-settings-panel .service-editor [data-tariff-summary] {white-space:normal;max-width:90px;}
}
.pb-settings-panel .service-editor .services-tariff-values label {font-size:13px;gap:4px;}
.pb-settings-panel .service-editor :is(input,textarea) {font-family:inherit;font-size:14px;}
.pb-settings-panel .service-editor .services-tariff-editor {border:0;border-radius:0;overflow:visible;}
.pb-settings-panel .services-unavailable {color:#64799b;font-size:13px;}
@keyframes service-editor-in {from {transform:translateX(100%);opacity:.7;} to {transform:translateX(0);opacity:1;}}
@media (max-width:900px), (orientation:portrait) {
 .pb-settings-panel .services-overlay:has(.service-editor) {align-items:flex-end;}
 .pb-settings-panel .service-editor {animation-name:service-editor-up;width:100%;height:94dvh;max-height:94dvh;border-radius:20px 20px 0 0;padding-top:env(safe-area-inset-top);}
}
@keyframes service-editor-up {from {transform:translateY(100%);opacity:.7;} to {transform:translateY(0);opacity:1;}}
@media (prefers-reduced-motion:reduce) {.pb-settings-panel .service-editor {animation:none;}}
.pb-settings-panel .services-tariff-editor {display:grid;border:1px solid #e3eaf3;border-radius:12px;overflow:hidden;}
.pb-settings-panel .services-tariff-row {display:grid;grid-template-columns:minmax(70px,1fr) minmax(75px,1fr) minmax(75px,1fr) 86px;align-items:center;gap:8px;padding:10px;border-bottom:1px solid #e8eef5;}
.pb-settings-panel .services-tariff-row:last-child {border-bottom:0;}
.pb-settings-panel .services-tariff-row strong {font-size:13px;overflow-wrap:anywhere;}
.pb-settings-panel .services-tariff-row small {display:block;color:#64799b;font-size:11px;}
.pb-settings-panel .services-tariff-row .services-inherit {display:flex;flex-direction:column;align-items:center;gap:0;min-height:44px;font-size:11px;}
.pb-settings-panel .services-tariff-row input:disabled {background:#eef3fa;color:#607291;opacity:1;}
.pb-settings-panel .services-inherit input {width:20px;height:20px;}
.pb-settings-panel .services-confirm {width:min(440px,calc(100% - 24px));padding:20px;background:white;border-radius:18px;margin:auto;outline:none;}
.pb-settings-panel .services-confirm h2 {font-size:20px;margin:0 0 12px;}
.pb-settings-panel .services-rule-results {display:grid;gap:4px;max-height:220px;overflow:auto;}
.pb-settings-panel .services-rule-results button {justify-content:flex-start;text-align:left;}
.pb-settings-panel .services-rule-list > div {display:flex;gap:8px;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eef5;padding:4px 0;}
@media(max-width:900px) {
 .pb-settings-panel .services-overlay {align-items:flex-end;}
 .pb-settings-panel .services-drawer {width:100%;height:94dvh;max-height:94dvh;border-radius:20px 20px 0 0;padding-top:env(safe-area-inset-top);}
 .pb-settings-panel .services-toolbar {flex-wrap:wrap;}
 .pb-settings-panel .services-toolbar > input {flex-basis:100%;}
 .pb-settings-panel .services-filters {width:100%;}
 .pb-settings-panel .services-filters button {flex:1;padding:8px;}
 .pb-settings-panel .services-note {align-items:flex-start;flex-direction:column;}
}
@media(max-width:480px) {
 .pb-settings-panel .services-drawer > header {padding:14px 12px 8px;}
 .pb-settings-panel .services-drawer h2 {font-size:20px;}
 .pb-settings-panel .services-drawer-body {padding:10px 12px 18px;}
 .pb-settings-panel .services-drawer > footer {padding:10px 12px max(12px,env(safe-area-inset-bottom));}
 .pb-settings-panel .services-drawer .grid-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
 .pb-settings-panel .services-tariff-row {grid-template-columns:repeat(2,minmax(0,1fr));}
 .pb-settings-panel .services-tariff-row > strong {grid-column:1/-1;}
 .pb-settings-panel .services-tariff-row .services-inherit {grid-column:1/-1;flex-direction:row;font-size:12px;}
}
