/* Shared presentation for access, schedule and services. No domain state. */
button.pb-toolbar-add {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  justify-self: start;
  width: auto;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0 13px;
  gap: 8px;
  border: 1px solid var(--pb-color-border, #dde5f0);
  border-radius: 12px;
  background: var(--pb-color-bg-elevated, #fff);
  color: var(--pb-color-text, #111827);
  box-shadow: none;
  font-family: var(--pb-font-system, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  white-space: nowrap;
  cursor: pointer;
}
button.pb-toolbar-add > .pb-toolbar-add__plus {
  display: block;
  flex: none;
  color: #007aff;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-1.5px);
  pointer-events: none;
}
button.pb-toolbar-add--icon-only { width: 44px; max-width: 44px; padding: 0; gap: 0; }
button.pb-toolbar-add--icon-only > .pb-toolbar-add__plus { font-size: 23px; transform: translateY(-1.5px); }
button.pb-toolbar-add:not(:disabled):hover { background: var(--pb-color-bg-elevated, #fff); border-color: var(--pb-color-border, #dde5f0); }
button.pb-toolbar-add:focus-visible { outline: 3px solid rgba(47,109,246,.28); outline-offset: 2px; }
button.pb-toolbar-add:disabled { opacity: .55; cursor: default; }
@media (max-width: 700px) {
  button.pb-toolbar-add { width: 44px; max-width: 44px; padding: 0; gap: 0; }
  button.pb-toolbar-add > .pb-toolbar-add__label { display: none; }
  button.pb-toolbar-add > .pb-toolbar-add__plus { font-size: 23px; transform: translateY(-1.5px); }
}
.pb-text-action { gap: 8px; font-family: inherit; font-size: inherit; font-weight: 650; line-height: 1.3; }
.pb-text-action > .pb-row-icon { flex: none; }
.pb-text-action > span { min-width: 0; }
.pb-text-action > .pb-row-icon--apply { filter: brightness(.7) sepia(1) saturate(5) hue-rotate(75deg); }
.pb-text-action:disabled { opacity: .5; cursor: not-allowed; }
.pb-text-action:focus-visible { outline: 3px solid rgba(47,109,246,.28); outline-offset: 2px; }
:root {
  --pb-row-hit: 44px;
  --pb-row-face-inset: 6px;
  --pb-row-face-radius: 8px;
  --pb-row-action-gap: 2px;
}
/* Composable catalog presentation: Services, categories and Address Book. */
.pb-catalog-toolbar,
.pb-settings-panel .category-catalog-header {
  display:flex;align-items:center;justify-content:flex-end;gap:12px;height:56px;
  padding:5px 12px 6px;border:1px solid #e3eaf3;border-bottom:0;
  border-radius:16px 16px 0 0;background:#fff;box-sizing:border-box;
}
.pb-catalog-toolbar > input {
  flex:1;min-width:0;width:100%;height:44px;margin:0;box-sizing:border-box;
}
button.pb-sort-button,
.pb-settings-panel .services-table button.pb-sort-button {
  display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:44px;
  margin:0;padding:12px;border:0;border-radius:0;background:transparent;box-shadow:none;
  color:inherit;font:inherit;white-space:nowrap;cursor:pointer;
}
button.pb-sort-button::before,button.pb-sort-button::after {content:none;}
button.pb-sort-button:hover,
.pb-settings-panel .services-table button.pb-sort-button:hover {background:#edf3fb;color:#245ac0;}
button.pb-sort-button:focus-visible,
.pb-settings-panel .services-table button.pb-sort-button:focus-visible {outline:2px solid #2f6df6;outline-offset:-2px;}
.pb-sort-arrow {display:inline-block;flex:0 0 1em;width:1em;text-align:center;}

button.pb-round-checkbox {
  display: inline-grid;
  width: var(--pb-row-hit);
  min-width: var(--pb-row-hit);
  height: var(--pb-row-hit);
  min-height: var(--pb-row-hit);
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
button.pb-round-checkbox > span:first-child {
  width: 16px;
  height: 16px;
  pointer-events: none;
  border: 1px solid #b7bfca;
  border-radius: 50%;
  background: linear-gradient(#e6e9ee, #cfd5dd);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.75), 0 1px 2px rgba(15,23,42,.12);
}
button.pb-round-checkbox.active > span:first-child {
  border-color: #1ca94b;
  background: linear-gradient(145deg, #42d968, #20b84f);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.55), 0 0 0 3px rgba(48,209,88,.12), 0 2px 5px rgba(24,160,64,.22);
}
button.pb-round-checkbox:focus-visible {
  outline: 3px solid rgba(10,95,220,.28);
  outline-offset: 1px;
}
button.pb-row-action {
  display: inline-grid;
  width: var(--pb-row-hit);
  min-width: var(--pb-row-hit);
  height: var(--pb-row-hit);
  min-height: var(--pb-row-hit);
  padding: 0;
  place-items: center;
  position: relative;
  isolation: isolate;
  color: #76859a;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
}
button.pb-row-action[hidden] { display: none; }
button.pb-row-action::before {
  content: "";
  position: absolute;
  inset: var(--pb-row-face-inset);
  z-index: 0;
  pointer-events: none;
  border: 1px solid #d5dde8;
  border-radius: var(--pb-row-face-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15,23,42,.08);
}
.pb-row-icon {
  position: relative;
  z-index: 1;
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  pointer-events: none;
}
.pb-row-icon--apply { width: 30px; height: 30px; }
.pb-row-icon--edit { width: 24px; height: 24px; }
.pb-row-icon--trash { width: 24px; height: 24px; }
.pb-row-icon--add { width: 29.5px; height: 29.5px; }
.pb-row-icon--more { width:32px;height:32px; }
.pb-row-icon--archive { width:28px;height:28px; }
.pb-row-action > .pb-row-icon--more { width:25.6px;height:25.6px; }
.pb-row-action > .pb-row-icon--archive { width:22.4px;height:22.4px; }
.pb-toolbar-icon > .pb-row-icon--edit { width:30px;height:30px; }
button.pb-row-action:not(:disabled):hover::before { border-color: #b9c5d5; background: #f8fafc; }
button.pb-row-action--reset::before { border-color: #9fc1ff; }
button.pb-row-action--reset:not(:disabled):hover::before { border-color: #6e9fff; background: #f7faff; }
button.pb-row-action--danger::before { border-color: #efb0b0; }
button.pb-row-action--danger:not(:disabled):hover::before { border-color: #df8f8f; background: #fff8f8; }
button.pb-row-action:disabled { opacity: 1; }
button.pb-row-action:disabled::before { border-color: #e1e6ed; background: #f1f3f6; box-shadow: none; }
button.pb-row-action:focus-visible { outline: 3px solid rgba(47,109,246,.2); outline-offset: 1px; }
button.pb-row-action:disabled, button.pb-round-checkbox:disabled { cursor: not-allowed; }
