/* ../../../MAVIO/apps/backoffice/app/styles.css */
.navPrimaryRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  gap: 5px;
}
.navPrimaryRow .sidebarToggle {
  justify-self: end;
}
.sidebarCollapsed .navPrimaryRow {
  grid-template-columns: 1fr;
  justify-items: start;
  gap: 4px;
}
.sidebarCollapsed .navPrimaryRow .sidebarToggle {
  order: -1;
  justify-self: center;
}
.navGroupLabel {
  margin: 14px 11px 3px;
  color: #a1a1aa;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
  font-family: inherit;
  font-style: normal;
}
.navGroupLabel:first-child {
  margin-top: 0;
}
.sidebarCollapsed .navGroupLabel {
  height: 8px;
  margin: 8px 7px 3px;
  padding: 0;
  border-top: 1px solid rgba(0, 0, 0, .09);
  font-size: 0;
}
.sidebarCollapsed .navGroupLabel:first-child {
  height: 0;
  margin: 0;
  border-top: 0;
}
:root {
  color-scheme: light;
  --ink:#1d1d1f;
  --muted:#6e6e73;
  --line:rgba(0,0,0,.07);
  --paper:rgba(255,255,255,.84);
  --solid:#fff;
  --bg:#f5f5f7;
  --accent:#0071e3;
  --accent2:#1d1d1f;
  --green:#248a3d;
  --orange:#c45600;
  --radius:22px;
  --shadow:0 1px 2px #00000008,0 12px 40px #0000000c;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background:
    radial-gradient(
      circle at 85% -8%,
      #e1efff 0,
      transparent 25%),
    var(--bg);
  color: var(--ink);
  font:
    14px/1.5 -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Helvetica Neue",
    Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
}
.shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 254px minmax(0, 1fr);
  transition: grid-template-columns .2s ease;
}
.shell.sidebarCollapsed {
  grid-template-columns: 84px minmax(0, 1fr);
}
.shell aside {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 29px 19px 21px;
  background: rgba(250, 250, 252, .78);
  border-right: 1px solid var(--line);
  backdrop-filter: saturate(180%) blur(30px);
  display: flex;
  flex-direction: column;
  gap: 13px;
  z-index: 10;
}
.shell.sidebarCollapsed aside {
  padding-inline: 14px;
  padding-top: 16px;
}
.sidebarTop {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 36px;
}
.brand {
  align-self: stretch;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
  max-width: 100%;
  padding: 0 11px;
  margin: 0;
  border: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  overflow: hidden;
}
.brandLogo {
  display: block;
  height: 36px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  border: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}
.sidebarCollapsed .sidebarTop {
  display: flex;
  justify-content: flex-start;
  min-height: 28px;
}
.sidebarCollapsed .brand {
  padding: 0 9px;
  justify-content: flex-start;
}
.sidebarCollapsed .brandLogo {
  height: 28px;
  width: 28px;
  object-fit: contain;
  object-position: left center;
}
.sidebarToggle {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255, 255, 255, .7);
  color: #5b5b60;
  box-shadow: none;
}
.sidebarToggle:hover {
  background: #fff;
  box-shadow: none;
  transform: none;
}
.sidebarToggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.shell nav .sidebarToggle {
  width: 30px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255, 255, 255, .7);
  color: #5b5b60;
}
.shell nav .sidebarToggle:hover,
.shell nav .sidebarToggle:active {
  background: #fff;
  color: #5b5b60;
  transform: none;
  box-shadow: none;
}
.brandMark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background:
    linear-gradient(
      145deg,
      #1d1d1f,
      #4a4a4e);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 19px;
  font-weight: 700;
  box-shadow: 0 8px 18px #0002;
}
.brandCopy {
  display: grid;
  gap: 2px;
}
.brandCopy strong {
  font-size: 15px;
  letter-spacing: -.01em;
}
.brandCopy span {
  color: #8e8e93;
  font-size: 12px;
  line-height: 1.3;
}
.shell aside > nav {
  display: grid;
  flex: 1 1 auto;
  min-height: 0;
  gap: 3px;
  margin: 25px 0 0;
  overflow: auto;
}
.shell nav a,
.shell nav button {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #52525b;
  padding: 8px 11px;
  text-align: left;
  font: inherit;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-style: normal;
  font-weight: 500;
  cursor: pointer;
}
.shell nav a:hover,
.shell nav button:hover {
  background: rgba(0, 0, 0, .04);
  color: #3f3f46;
  transform: none;
}
.shell nav a.active,
.shell nav button.active {
  background: rgba(0, 0, 0, .05);
  color: #3f3f46;
  font-weight: 500;
  transform: none;
}
.navIcon {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  flex: 0 0 20px;
  color: #71717a;
}
.shell nav a:hover .navIcon,
.shell nav button:hover .navIcon {
  color: #52525b;
}
.shell nav a.active .navIcon,
.shell nav button.active .navIcon {
  color: #3f3f46;
}
.navIcon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.navLabel {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebarCollapsed aside > nav {
  overflow: auto;
}
.sidebarCollapsed nav a,
.sidebarCollapsed nav button:not(.sidebarToggle) {
  justify-content: flex-start;
  padding: 9px;
}
.sidebarCollapsed nav .sidebarToggle {
  justify-content: center;
  padding: 0;
}
.sidebarCollapsed .navLabel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.shell main {
  padding: 38px clamp(25px, 4vw, 62px) 70px;
  max-width: 1460px;
  width: 100%;
  margin: 0 auto;
  min-width: 0;
}
header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}
h1 {
  font-size: clamp(35px, 4vw, 48px);
  line-height: 1.03;
  letter-spacing: -.045em;
  margin: 6px 0 9px;
}
h2 {
  margin: 5px 0 17px;
  font-size: 21px;
  letter-spacing: -.025em;
}
.eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: 10px;
  font-weight: 650;
  color: #86868b;
}
.muted {
  color: var(--muted);
}
button {
  appearance: none;
  border: 0;
  border-radius: 980px;
  background: var(--accent);
  color: white;
  padding: 11px 18px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: .18s;
}
button:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 18px #0071e32b;
}
button:active {
  transform: scale(.98);
}
.secondary {
  background: #eaf3fd;
  color: #0067cf;
}
.linkButton {
  background: transparent;
  color: var(--accent);
  padding: 6px;
  box-shadow: none;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.metric,
.panel {
  background: var(--paper);
  border: 1px solid #ffffffd0;
  border-radius: var(--radius);
  padding: 23px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px);
}
.metric {
  display: grid;
  gap: 7px;
}
.metric > span {
  color: #707074;
}
.metric strong {
  font-size: 28px;
  letter-spacing: -.04em;
}
.metric small {
  color: var(--green);
}
.panel {
  margin-top: 15px;
}
.panelHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.table {
  border-top: 1px solid var(--line);
}
.row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  align-items: center;
  padding: 14px 4px;
  border-bottom: 1px solid var(--line);
}
.heading {
  font-size: 11px;
  color: #86868b;
}
.status {
  display: inline-flex;
  width: max-content;
  padding: 5px 10px;
  border-radius: 980px;
  background: #f0f0f2;
  color: #69696d;
  font-size: 11px;
  font-weight: 600;
}
.status.good {
  background: #e7f6e9;
  color: var(--green);
}
.status.warn {
  background: #fff0df;
  color: var(--orange);
}
.split {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 15px;
}
.split .panel {
  margin-top: 15px;
}
.modalBackdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: #00000048;
  display: grid;
  place-items: center;
  padding: 20px;
  backdrop-filter: blur(12px);
}
.modal {
  width: min(520px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #fffffff2;
  border: 1px solid #fff;
  border-radius: 28px;
  padding: 27px;
  box-shadow: 0 30px 90px #0004;
}
.modalHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modalHead h2 {
  margin: 0;
}
.iconButton,
.noticeClose {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  background: #e9e9ec;
  color: #5a5a5e;
  font-size: 21px;
}
.formStack {
  display: grid;
  gap: 15px;
  margin-top: 21px;
}
.formStack label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
}
.formStack input,
.formStack select {
  width: 100%;
  border: 1px solid #00000018;
  border-radius: 13px;
  background: #fff;
  padding: 12px 14px;
  font: inherit;
  outline: none;
}
.formStack input:focus,
.formStack select:focus {
  border-color: #2997ff;
  box-shadow: 0 0 0 4px #0071e31f;
}
.notice {
  position: fixed;
  right: 25px;
  top: 23px;
  z-index: 70;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 400px;
  background: #262628e8;
  color: #fff;
  border-radius: 16px;
  padding: 12px 14px 12px 18px;
  box-shadow: 0 16px 50px #0003;
  backdrop-filter: blur(22px);
}
.noticeClose {
  color: #fff;
  background: #ffffff18;
}
.recommendationStat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 18px 0;
}
.recommendationStat strong {
  font-size: 40px;
}
.miniCalendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  margin-top: 18px;
}
.miniCalendar b,
.miniCalendar span {
  display: grid;
  place-items: center;
  min-height: 38px;
  border-radius: 10px;
}
.miniCalendar b {
  font-size: 10px;
  color: #8e8e93;
}
.miniCalendar .eventDay {
  background: #e7f2ff;
  color: #0068d0;
  font-weight: 700;
}
@media (max-width:950px) {
  .shell,
  .shell.sidebarCollapsed {
    display: block;
  }
  .shell aside {
    display: none;
  }
  .shell main {
    padding: 27px 20px 55px;
  }
  .metrics {
    grid-template-columns: repeat(2, 1fr);
  }
  .split {
    grid-template-columns: 1fr;
  }
}
@media (max-width:580px) {
  header {
    align-items: flex-start;
    gap: 18px;
    flex-direction: column;
  }
  h1 {
    font-size: 36px;
  }
  .metrics {
    grid-template-columns: 1fr;
  }
  .row {
    grid-template-columns: 1.5fr 1fr;
  }
  .row > *:nth-child(2) {
    display: none;
  }
  .notice {
    left: 15px;
    right: 15px;
    top: 15px;
  }
}

/* ../../../MAVIO/apps/backoffice/app/customers/customers.css */
.customersCenter {
  padding-bottom: 40px;
}
.customersHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin: 8px 0 18px;
}
.customersHead h1 {
  margin: 4px 0 0;
  font-size: clamp(28px, 3.4vw, 40px);
  letter-spacing: -0.04em;
}
.customersHeadActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.customersHeadActions .secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: none;
}
.customersTabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}
.customersTabs button {
  padding: 8px 14px;
  border: 0;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 560;
}
.customersTabs button.active {
  color: var(--ink);
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.customersKpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.customersKpi {
  padding: 18px 18px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}
.customersKpi strong {
  display: block;
  margin-bottom: 6px;
  font-size: 34px;
  letter-spacing: -0.04em;
  line-height: 1;
}
.customersKpi span {
  color: var(--muted);
  font-size: 13px;
}
.customersStars {
  display: flex;
  gap: 3px;
  margin-bottom: 8px;
  color: #c5c5c7;
  font-size: 22px;
  line-height: 1;
}
.customersStars i {
  font-style: normal;
}
.customersStars i.on {
  color: #1d1d1f;
}
.customersChips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.customersChips button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #e4e4e7;
  border-radius: 10px;
  color: #52525b;
  background: #fcfcfd;
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
}
.customersChips button.active {
  border-color: #b8d7d1;
  background: #edf6f4;
  color: #276861;
}
.customersChips button.iconOnly {
  width: 36px;
  justify-content: center;
  padding: 0;
  color: #71717a;
}
.customersChipIcon {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #71717a;
  font-size: 13px;
}
.customersChips button.active .customersChipIcon {
  color: #4c817a;
}
.customersToolbar {
  display: grid;
  grid-template-columns: auto auto minmax(180px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.customersToolbar .actionsBtn,
.customersToolbar .gearBtn,
.customersToolbar .filterBtn {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
}
.customersToolbar .actionsBtn {
  padding: 0 14px;
  font-weight: 560;
}
.customersActionsWrap {
  position: relative;
}
.customersToolbar .actionsBtn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.customersToolbar .actionsBtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.customersActionsMenu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  display: grid;
  min-width: 232px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(29, 29, 31, 0.14);
}
.customersActionsMenu button {
  min-height: 38px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  text-align: left;
}
.customersActionsMenu button:hover,
.customersActionsMenu button:focus-visible {
  background: #f4f7f6;
}
.customersActionsMenu button.danger {
  color: #b42318;
}
.customersActionsMenu button.danger:hover,
.customersActionsMenu button.danger:focus-visible {
  background: #fff1f0;
}
.customersToolbar .filterBtn {
  padding: 0 14px;
  color: var(--ink);
  font-weight: 560;
}
.customersToolbar .gearBtn {
  width: 42px;
  padding: 0;
  color: var(--muted);
}
.customersToolbar .gearBtn.active {
  border-color: #1d1d1f;
  color: #1d1d1f;
}
.customersSearch {
  position: relative;
}
.customersSearch input {
  width: 100%;
  min-height: 42px;
  padding: 0 40px 0 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.customersSearch span {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  pointer-events: none;
}
.customersZoom {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 42px;
  padding: 0 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.customersZoom button {
  width: 32px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-size: 18px;
  font-weight: 560;
  line-height: 1;
}
.customersZoom button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.customersZoom span {
  min-width: 44px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}
.customersGearWrap {
  position: relative;
}
.customersColumnsPanel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 40;
  width: min(320px, calc(100vw - 32px));
  max-height: min(70vh, 520px);
  overflow: auto;
  padding: 14px 14px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}
.customersColumnsSection {
  margin-bottom: 14px;
}
.customersColumnsSection > p {
  margin: 0 0 8px;
  color: #8e8e93;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.customersColumnsSection ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.customersColumnsSection li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 4px 6px;
  border-radius: 8px;
  cursor: grab;
}
.customersColumnsSection li:hover {
  background: #f7f7f8;
}
.customersColumnsSection li.isDragging {
  opacity: 0.45;
}
.customersColumnsSection li.isDropTarget {
  box-shadow: inset 0 0 0 1px #1d1d1f;
}
.customersColumnNameBtn {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-size: 13px;
  font-weight: 520;
  text-align: left;
}
.customersDragHandle {
  display: grid;
  gap: 2px;
  width: 14px;
  opacity: 0.45;
}
.customersDragHandle i {
  display: block;
  height: 1.5px;
  border-radius: 1px;
  background: #8e8e93;
  font-style: normal;
}
.customersHiddenSearch {
  width: 100%;
  min-height: 34px;
  margin-bottom: 8px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
}
.customersColumnsEmpty {
  display: block;
  padding: 4px 6px;
  color: var(--muted);
  font-size: 12px;
}
.customersColumnsReset {
  padding: 0;
  border: 0;
  background: transparent;
  color: #8e8e93;
  box-shadow: none;
  font-size: 13px;
  font-weight: 560;
}
.customersColumnsReset:hover {
  color: var(--ink);
}
.customersSegmentBar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -4px 0 14px;
}
.customersSegmentPill {
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid #dfe4e4;
  border-radius: 999px;
  background: #fafcfc;
  color: #52525b;
  box-shadow: none;
  font-size: 12px;
  font-weight: 500;
}
.customersSegmentPill span {
  display: inline-grid;
  min-width: 17px;
  min-height: 17px;
  place-items: center;
  margin-left: 3px;
  border-radius: 999px;
  background: #edf2f1;
  color: #64748b;
  font-size: 10px;
}
.customersRfmSettingsLink {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
  font-size: 12px;
  font-weight: 560;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.customersDrawerBackdrop {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  background: rgba(18, 25, 31, 0.24);
  backdrop-filter: blur(2px);
}
.customersFiltersDrawer {
  display: flex;
  flex-direction: column;
  width: min(440px, 100vw);
  height: 100%;
  padding: 22px;
  background: #fff;
  box-shadow: -18px 0 50px rgba(18, 25, 31, 0.14);
  overflow: hidden;
}
.customersFiltersDrawer header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.customersFiltersDrawer header .eyebrow {
  margin: 0 0 4px;
}
.customersFiltersDrawer h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.customersDrawerClose {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--muted);
  box-shadow: none;
  font-size: 24px;
  line-height: 1;
}
.customersDrawerSearch {
  position: relative;
  margin-bottom: 16px;
}
.customersDrawerSearch input {
  width: 100%;
  min-height: 42px;
  padding: 0 38px 0 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fafafa;
}
.customersDrawerSearch span {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--muted);
  transform: translateY(-50%);
}
.customersFilterFields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  max-height: 230px;
  padding: 0 3px 14px 0;
  overflow: auto;
  border-bottom: 1px solid var(--line);
}
.customersFilterFields > p,
.customersFilterBuilder > p,
.customersActiveConditions > p {
  grid-column: 1 / -1;
  margin: 0 0 3px;
  color: #8e8e93;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.customersFilterFields button {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #fafafa;
  color: #52525b;
  box-shadow: none;
  font-size: 12px;
  font-weight: 500;
  text-align: left;
}
.customersFilterFields button.active {
  border-color: #b8d7d1;
  background: #edf6f4;
  color: #276861;
}
.customersFilterNoResults,
.customersFilterEmpty {
  color: var(--muted);
  font-size: 13px;
}
.customersFilterNoResults {
  grid-column: 1 / -1;
  padding: 8px 0;
}
.customersFilterBuilder {
  display: grid;
  gap: 9px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.customersFilterBuilder > strong {
  font-size: 14px;
}
.customersFilterControls {
  display: grid;
  grid-template-columns: minmax(115px, 0.85fr) 1.15fr;
  gap: 8px;
}
.customersFilterControls select,
.customersFilterControls input {
  min-width: 0;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
}
.customersAddCondition,
.customersOrBtn {
  width: max-content;
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #185d58;
  box-shadow: none;
  font-size: 12px;
  font-weight: 650;
}
.customersActiveConditions {
  display: grid;
  align-content: start;
  gap: 8px;
  flex: 1;
  min-height: 0;
  padding: 16px 0;
  overflow: auto;
}
.customersConditionRow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.customersConditionPill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 30px;
  padding: 5px 8px 5px 10px;
  border-radius: 999px;
  background: #dcefea;
  color: #185d58;
  font-size: 12px;
  font-weight: 570;
}
.customersConditionPill button {
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(24, 93, 88, 0.14);
  color: #185d58;
  box-shadow: none;
  font-size: 15px;
  line-height: 1;
}
.customersOr {
  padding-left: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.customersOrBtn {
  border: 1px dashed #9dc8c0;
}
.customersFiltersDrawer footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.customersFiltersDrawer footer .secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: none;
}
.customersTableWrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.customersTableScale {
  transform-origin: top left;
  width: max-content;
  min-width: 100%;
}
.customersTable {
  min-width: 1180px;
}
.customersRow {
  display: grid;
  gap: 10px;
  align-items: center;
  padding: 13px 16px;
  border-top: 1px solid var(--line);
}
.customersRow.head {
  border-top: 0;
  color: #8e8e93;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #fafafa;
  user-select: none;
}
.customersRow:not(.head):hover {
  background: #fafafa;
}
.customersRow strong {
  font-weight: 620;
}
.customersRow .mutedCell {
  color: var(--muted);
}
.customersSelectCol {
  display: flex;
  align-items: center;
  justify-content: center;
}
.customersColHead {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  height: 100%;
  cursor: grab;
  padding-right: 8px;
}
.customersColHead:active {
  cursor: grabbing;
}
.customersColHead.isDragging {
  opacity: 0.45;
}
.customersColHead.isDropTarget {
  box-shadow: inset 2px 0 0 #1d1d1f;
}
.customersColHead.isResizing,
.customersColHead.isResizing:active {
  cursor: col-resize;
}
.customersColSortBtn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-align: left;
  cursor: inherit;
}
.customersColSortBtn:disabled {
  cursor: inherit;
}
.customersColLabel {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customersSortChevron {
  flex: 0 0 auto;
  color: #c7c7cc;
  font-size: 10px;
  line-height: 1;
}
.customersSortChevron.active {
  color: #1d1d1f;
}
.customersColHead.isSortable .customersColSortBtn {
  cursor: pointer;
}
.customersColResize {
  position: absolute;
  top: -6px;
  right: -7px;
  bottom: -6px;
  width: 12px;
  cursor: col-resize;
  z-index: 2;
}
.customersColResize::after {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 5px;
  width: 2px;
  border-radius: 1px;
  background: transparent;
  transition: background 0.12s ease;
}
.customersColHead:hover .customersColResize::after,
.customersColHead.isResizing .customersColResize::after {
  background: #8e8e93;
}
.customersColCell {
  min-width: 0;
  overflow: hidden;
}
body.customersColResizing {
  cursor: col-resize !important;
  user-select: none !important;
}
body.customersColResizing * {
  cursor: col-resize !important;
}
.customersCheck {
  width: 16px;
  height: 16px;
  accent-color: #1d1d1f;
}
.customersNameCell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.customersAvatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #eef2f7;
  color: #3a3a3c;
  font-size: 11px;
  font-weight: 700;
  flex: 0 0 auto;
}
.customersNameCell > div {
  min-width: 0;
}
.customersNameCell small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customersLoyalty {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.customersLoyalty b {
  font-weight: 560;
}
.customersLoyalty small {
  color: var(--muted);
  font-size: 11px;
}
.customersCardsCell {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.customersCardPill {
  display: inline-flex;
  align-items: center;
  max-width: 140px;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f2f2f4;
  color: #3a3a3c;
  font-size: 11px;
  font-weight: 560;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customersEmpty {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 220px;
  padding: 40px 20px;
  color: var(--muted);
  text-align: center;
}
.customersEmpty strong {
  color: var(--ink);
  font-size: 16px;
}
.customersEmpty p {
  margin: 0;
  max-width: 360px;
}
.customersFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 13px;
}
.customersPageSize {
  display: flex;
  align-items: center;
  gap: 6px;
}
.customersPageSize button {
  min-width: 36px;
  min-height: 32px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  box-shadow: none;
  font-weight: 560;
}
.customersPageSize button.active {
  border-color: var(--line);
  color: var(--ink);
  background: #fff;
}
.customersPager {
  display: flex;
  align-items: center;
  gap: 10px;
}
.customersPager button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
}
.customersPager button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.customersReviewsStub {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.customersReviewsStub h2 {
  margin: 0 0 6px;
  font-size: 22px;
}
.customersReviewsStub p {
  margin: 0;
  color: var(--muted);
}
.customersImportModal,
.customersExportModal {
  display: grid;
  gap: 14px;
}
.modal:has(.customersImportModal),
.modal:has(.customersExportModal) {
  width: min(560px, 100%);
}
.modal:has(.customersRfmModal) {
  width: min(980px, 100%);
}
.customersImportModal > p,
.customersExportModal > p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}
.customersImportTemplateBtn {
  width: 100%;
  min-height: 44px;
}
.customersImportDrop {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fafafa;
}
.customersImportDrop > div {
  display: grid;
  gap: 8px;
  align-content: center;
  justify-items: start;
}
.customersImportDrop > div:last-child {
  padding: 16px;
  border: 1px dashed #c7c7cc;
  border-radius: 12px;
  background: #fff;
  justify-items: center;
  text-align: center;
}
.customersImportDrop strong {
  font-size: 28px;
  letter-spacing: -0.04em;
}
.customersImportDrop span,
.customersImportDrop p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.customersModalActions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.customersAccrualCards {
  display: grid;
  gap: 8px;
  max-height: 220px;
  overflow: auto;
  padding: 2px;
}
.customersAccrualCard {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
}
.customersAccrualCard span {
  display: grid;
  gap: 3px;
}
.customersAccrualCard small {
  color: var(--muted);
}
.customersBeautyOperations {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d9d1ef;
  border-radius: 14px;
  background: #faf8ff;
}
.customersBeautyOperations > div:first-child {
  display: grid;
  gap: 3px;
}
.customersBeautyOperations small {
  color: var(--muted);
  font-size: 12px;
}
.customersBeautyOperation {
  display: grid;
  grid-template-columns: minmax(84px, 1fr) minmax(130px, 1.3fr) 100px;
  align-items: end;
  gap: 8px;
  padding: 10px;
  border: 1px solid #e6e1f0;
  border-radius: 10px;
  background: #fff;
}
.customersBeautyOperation > strong {
  align-self: center;
  font-size: 13px;
}
.customersBeautyOperation label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
}
@media (max-width: 560px) {
  .customersBeautyOperation {
    grid-template-columns: 1fr 1fr;
  }
  .customersBeautyOperation > strong {
    grid-column: 1 / -1;
  }
}
.customersModalActions .secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: none;
}
.customersExportForming {
  display: grid;
  place-items: center;
  gap: 16px;
  min-height: 180px;
  padding: 20px 8px;
  text-align: center;
}
.customersExportForming p {
  max-width: 320px;
  color: var(--muted);
}
.customersExportSpinner {
  width: 36px;
  height: 36px;
  border: 3px solid #e5e5ea;
  border-top-color: #1d1d1f;
  border-radius: 50%;
  animation: customersSpin 0.8s linear infinite;
}
@keyframes customersSpin {
  to {
    transform: rotate(360deg);
  }
}
.customersExportLink {
  display: grid;
  gap: 8px;
}
.customersExportLink > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}
.customersExportLink input {
  min-width: 0;
}
.customersRfmModal {
  display: grid;
  gap: 14px;
  max-height: min(72vh, 720px);
  overflow: auto;
  padding-right: 2px;
}
.customersRfmLead {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.customersRfmBanner {
  padding: 12px 14px;
  border-radius: 10px;
  background: #f2f2f4;
  color: #3a3a3c;
  font-size: 13px;
}
.customersRfmGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.customersRfmCard {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.customersRfmCard h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 620;
}
.customersRfmFields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.customersRfmFields label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}
.customersRfmFields input {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
}
.customersRfmCard > button {
  width: 100%;
  min-height: 40px;
}
@media (max-width: 1100px) {
  .customersKpis {
    grid-template-columns: 1fr 1fr;
  }
  .customersRfmGrid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .customersHead {
    flex-direction: column;
    align-items: stretch;
  }
  .customersHeadActions {
    justify-content: stretch;
  }
  .customersHeadActions button {
    flex: 1;
  }
  .customersKpis {
    grid-template-columns: 1fr;
  }
  .customersToolbar {
    grid-template-columns: 1fr auto auto;
  }
  .customersActionsWrap {
    grid-column: 1 / -1;
  }
  .customersToolbar .actionsBtn {
    width: 100%;
  }
  .customersToolbar .filterBtn {
    grid-column: 1 / 2;
  }
  .customersFooter {
    flex-direction: column;
    align-items: flex-start;
  }
  .customersImportDrop {
    grid-template-columns: 1fr;
  }
  .customersRfmGrid {
    grid-template-columns: 1fr;
  }
  .customersFiltersDrawer {
    padding: 18px;
  }
}

/* embed.css */
.customersWait {
  margin: 24px;
  color: #6e6e73;
}
.customersEmbed {
  min-height: 100%;
  padding: 8px 16px 32px;
}
.customersEmbed .notice {
  top: auto;
  bottom: 24px;
  left: auto;
  right: 24px;
}

.customersHead .eyebrow:empty { display: none; }

.crmSettings { display: grid; gap: 12px; }
.crmSettings p { margin: 6px 0 0; color: #707074; font-size: 14px; line-height: 1.45; }
.crmIikoToggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.crmIikoToggle > div { min-width: 0; }
.crmIikoToggle strong { display: block; font-size: 15px; }
.crmIikoToggle button.toggle {
  position: relative;
  flex: 0 0 46px;
  width: 46px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d4d4d8;
  box-shadow: none;
}
.crmIikoToggle button.toggle.on { background: #0b6fe8; }
.crmIikoToggle button.toggle span {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
}
.crmIikoToggle button.toggle.on span { left: 21px; }
.crmSettings .iikoImport { margin-top: 14px; }

html,
body,
#root {
  height: 100%;
}
body {
  overflow: hidden;
}
#root {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.customersEmbed {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.customersCenter {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  overflow: hidden;
}
.customersCenter > .customersHead,
.customersCenter > .customersTabs,
.customersCenter > .customersKpis,
.customersCenter > .customersToolbar,
.customersCenter > .customersFooter {
  flex: 0 0 auto;
}
.customersTableWrap {
  flex: 1 1 auto;
  min-height: 160px;
  overflow: auto;
}
.customersRow.head {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #fafafa;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
}
.customersCenter > .customersReviewsStub {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

/* crm-table-20: the grid shows the header plus 20 guest rows */
body {
  overflow: auto;
}
.customersEmbed,
.customersCenter {
  height: auto;
  overflow: visible;
}
.customersTableWrap {
  flex: none;
  height: calc(21 * 49px);
  min-height: calc(21 * 49px);
  max-height: none;
  overflow: auto;
}
.customersRow {
  min-height: 49px;
  box-sizing: border-box;
}
.customersRow.isClickable { cursor: pointer; }
.guestCard {
  width: min(920px, 100vw);
  height: 100%;
  overflow: auto;
  background: #fff;
  padding: 22px 22px 48px;
  box-shadow: -18px 0 50px rgba(18, 25, 31, 0.14);
}
.guestCard header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.guestCard h2 { margin: 0; font-size: 28px; letter-spacing: -0.04em; }
.guestCard h3 { margin: 22px 0 8px; font-size: 18px; }
.guestFacts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin-top: 16px; }
.guestFacts span { display: block; color: #8e8e93; font-size: 12px; }
.guestTable { width: 100%; border-collapse: collapse; font-size: 13px; }
.guestTable th, .guestTable td { padding: 8px 6px; border-bottom: 1px solid rgba(0, 0, 0, 0.07); text-align: left; vertical-align: top; }
.guestTable th { position: sticky; top: 0; background: #fafafa; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: #8e8e93; }

.customersColumnChecks li {
  display: block;
  min-height: 0;
  padding: 0;
  cursor: default;
}
.customersColumnCheck {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 4px 6px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 520;
}
.customersColumnCheck input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #0b6fe8;
}
.customersColumnCheck input:disabled {
  cursor: not-allowed;
}

.guestLoyalty { display: grid; gap: 10px; margin: 4px 0 18px; }
.guestLoyalty select { min-height: 42px; width: 100%; border: 1px solid #d7d7dc; border-radius: 10px; padding: 0 10px; background: #fff; }
.guestLoyaltyActions { display: flex; flex-wrap: wrap; gap: 8px; }

button.guestEditBtn {
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid #d7d7dc;
  border-radius: 10px;
  background: #fff;
  color: #1c1c1e;
  box-shadow: none;
  flex: 0 0 auto;
}
button.guestEditBtn:hover,
button.guestEditBtn:active {
  background: #f4f4f5;
  transform: none;
  box-shadow: none;
}
.guestCardTitle { display: flex; align-items: center; gap: 8px; min-width: 0; }
.guestEditForm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin-top: 16px; }
.guestEditForm label { display: grid; gap: 4px; color: #8e8e93; font-size: 12px; font-weight: 560; }
.guestEditForm input,
.guestEditForm select,
.guestEditForm textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d7d7dc;
  border-radius: 10px;
  padding: 8px 10px;
  color: #1c1c1e;
  background: #fff;
  font: inherit;
  font-weight: 450;
}
.guestEditForm textarea { min-height: 76px; resize: vertical; }
.guestEditForm .wide { grid-column: 1 / -1; }
.guestEditActions { display: flex; gap: 8px; align-items: center; }
.guestEditActions button { width: auto; }

.guestAutoTitle { margin: 18px 0 0; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #8e8e93; }
.guestFactsAuto { margin-top: 8px; }
.guestStars { display: inline-flex; gap: 2px; align-items: center; }
button.guestStar, .guestStar {
  width: 22px; height: 22px; min-height: 22px; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: #d4d4d8; box-shadow: none; font-size: 18px; line-height: 1;
}
button.guestStar.on, .guestStar.on { color: #e0a106; }
button.guestStar:hover, button.guestStar:active { transform: none; box-shadow: none; background: transparent; color: #e0a106; }
.guestEditForm input[readonly], .guestLocked { background: #f6f6f7; color: #3f3f46; }
.guestChildren { display: grid; gap: 8px; }
.guestChildrenHead { display: flex; align-items: center; justify-content: space-between; color: #8e8e93; font-size: 12px; font-weight: 560; }
button.guestAddChild, button.guestChildRemove {
  width: 32px; height: 32px; min-height: 32px; padding: 0; border-radius: 10px;
  border: 1px solid #d7d7dc; background: #fff; color: #1c1c1e; box-shadow: none; font-size: 20px; line-height: 1;
}
button.guestAddChild:hover, button.guestChildRemove:hover { transform: none; box-shadow: none; background: #f4f4f5; }
.guestChildRow { display: grid; grid-template-columns: minmax(0, 1fr) 168px auto auto; gap: 8px; align-items: center; }
.guestChildAge { color: #3f3f46; font-size: 13px; min-width: 64px; }
.guestChildEmpty { margin: 0; color: #8e8e93; font-size: 13px; }

.guestDate { position: relative; }
button.guestDateFace {
  width: 100%; min-height: 40px; padding: 8px 10px; text-align: left;
  border: 1px solid #d7d7dc; border-radius: 10px; background: #fff; color: #1c1c1e;
  box-shadow: none; font-weight: 450;
}
button.guestDateFace:hover, button.guestDateFace:active { transform: none; box-shadow: none; background: #fff; }
.guestCalendar {
  position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; width: 292px;
  padding: 12px; background: #fff; border: 1px solid #e4e4e7; border-radius: 14px;
  box-shadow: 0 12px 32px rgba(18, 25, 31, 0.16);
}
.guestCalendarHead { display: flex; gap: 8px; }
.guestCalendarHead select {
  flex: 1; min-width: 0; min-height: 36px; border: 1px solid #d7d7dc; border-radius: 8px;
  background: #fff; color: #1c1c1e; padding: 0 8px;
}
.guestCalendarWeek, .guestCalendarDays {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-top: 8px; text-align: center;
}
.guestCalendarWeek span { color: #8e8e93; font-size: 11px; }
button.guestDay {
  width: 32px; height: 32px; min-height: 32px; margin: 0 auto; padding: 0;
  border: 0; border-radius: 8px; background: transparent; color: #1c1c1e; box-shadow: none; font-weight: 520;
}
button.guestDay.on { background: #0b6fe8; color: #fff; }
button.guestDay:hover, button.guestDay:active { transform: none; box-shadow: none; background: #eaf3ff; color: #1c1c1e; }
button.guestDay.on:hover { background: #0b6fe8; color: #fff; }
.guestChildRow, .guestChildren, .guestEditForm { overflow: visible; }
