/* A working app preview in a quiet, physical iPhone frame. */
.app-preview.app-simulator {
  --sim-paper: #f6f8fc;
  --sim-ink: #0a1931;
  --sim-secondary: #46698e;
  --sim-edge: #d7dfea;
  --sim-corner: 46px;
  --sim-inner-corner: 39px;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sim-ink);
  scroll-margin-top: 48px;
}
.app-simulator:before {
  content: '';
  position: absolute;
  inset: 44px 0 52px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 34% 40%, #5b52ce1c, transparent 64%),
    radial-gradient(ellipse at 72% 66%, #39e5d42b, transparent 65%);
}
.app-simulator button {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition:
    transform 160ms ease-out,
    background-color 200ms ease,
    border-color 200ms ease,
    color 200ms ease;
}
.app-simulator button:active {
  transform: scale(0.975);
}
.app-simulator button:disabled {
  cursor: default;
  opacity: 0.48;
  transform: none;
}
.app-simulator :focus-visible {
  outline: 3px solid var(--indigo);
  outline-offset: 3px;
}
.app-simulator button:focus-visible {
  transform: none;
}
.sim-mirror-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 322px;
  max-width: 100%;
  min-height: 44px;
  margin-bottom: 13px;
  padding-left: 12px;
  color: var(--navy-soft);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.012em;
}
.sim-connected-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mint-dark);
  box-shadow: 0 0 0 3px #39e5d41a;
}
.sim-reset {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-left: auto;
  border: 1px solid #bec9d477;
  border-radius: 50%;
  background: #f2f6fbc9;
  color: var(--muted);
}
.sim-reset svg {
  width: 16px;
  height: 16px;
}
.sim-phone {
  position: relative;
  width: 322px;
  max-width: calc(100% - 8px);
  flex: none;
  padding: 7px;
  border: 1px solid #787b82;
  border-radius: var(--sim-corner);
  background: linear-gradient(128deg, #7b7e83, #26282d 15%, #111318 38%, #202329 75%, #71757d);
  box-shadow:
    0 0 0 1px #0b0d1466,
    inset 0 0 0 1px #cbcfd54d,
    0 26px 48px -18px #0a19313b,
    0 8px 18px -8px #0a193130;
}
.sim-phone:before {
  content: '';
  position: absolute;
  inset: 2px;
  border: 1px solid #dee2ea26;
  border-radius: calc(var(--sim-corner) - 2px);
  pointer-events: none;
}
.sim-side-buttons {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.sim-side-buttons:before {
  content: '';
  position: absolute;
  right: -4px;
  top: 178px;
  width: 3px;
  height: 62px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, #30343c, #7b8189);
}
.sim-side-buttons > * {
  position: absolute;
  left: -4px;
  width: 3px;
  height: 39px;
  border-radius: 3px 0 0 3px;
  background: linear-gradient(90deg, #707782, #30343c);
}
.sim-side-buttons > :first-child {
  top: 105px;
  height: 23px;
}
.sim-side-buttons > :nth-child(2) {
  top: 152px;
}
.sim-side-buttons > :nth-child(3) {
  top: 203px;
}
.sim-phone-glass {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #050609;
  border-radius: var(--sim-inner-corner);
  box-shadow: 0 0 0 1px #000000;
}
.sim-status {
  display: grid;
  grid-template-columns: 1fr 84px 1fr;
  align-items: center;
  padding: 5px 21px 0;
  font-size: 11px;
  font-weight: 650;
  color: #18253b;
  line-height: 1;
}
.sim-island {
  grid-column: 2;
  display: block;
  width: 84px;
  height: 24px;
  border-radius: 999px;
  background: #06070b;
  box-shadow: inset 0 1px 1px #222530;
}
.sim-brand {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #d7dfea80;
}
.sim-brand img {
  object-fit: contain;
}
.sim-brand > span:not(.sim-demo-badge) {
  font-size: 18px;
  letter-spacing: -0.055em;
  line-height: 1;
  font-weight: 650;
}
.sim-brand .sim-demo-badge {
  margin-left: auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--mint-dark);
  background: #39e5d41a;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}
.sim-screen {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #bac5d680 transparent;
  scroll-padding-block: 12px;
}
.sim-screen::-webkit-scrollbar {
  width: 3px;
}
.sim-screen::-webkit-scrollbar-thumb {
  background: #bac5d680;
  border-radius: 3px;
}
.sim-page {
  min-width: 0;
}
.sim-page-head {
  margin-bottom: 19px;
}
.sim-page-head .sim-step {
  font-size: 10px;
  color: var(--indigo);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.4;
  margin-bottom: 7px;
}
.sim-page-head h3 {
  font-size: 22px;
  font-weight: 550;
  letter-spacing: -0.045em;
  line-height: 1.18;
}
.sim-page-head > p:not(.sim-step) {
  margin-top: 8px;
  font-size: 12px;
  color: var(--sim-secondary);
  line-height: 1.65;
}
.sim-service {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 64px;
  padding: 11px 12px;
  text-align: left;
  border: 1px solid #d7dfea80;
  border-radius: 19px;
  background: #ffffffb8;
  color: var(--sim-ink);
}
.sim-service > i {
  display: grid;
  place-items: center;
  width: 29px;
  flex: none;
  font-style: normal;
  color: var(--indigo);
}
.sim-service > i svg {
  width: 22px;
  height: 22px;
}
.sim-service > span {
  min-width: 0;
  flex: 1;
}
.sim-service strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.sim-service small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--sim-secondary);
}
.sim-service[aria-pressed='true'] {
  border-color: #5b52ce80;
  background: #e5e9ff99;
}
.sim-primary,
.sim-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 45px;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: var(--indigo);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.sim-primary svg,
.sim-secondary svg {
  width: 15px;
  height: 15px;
}
.sim-primary {
  position: sticky;
  bottom: 0;
  z-index: 1;
  margin-top: 14px;
  box-shadow: 0 -8px 12px 4px #f0f5fae6;
}
.sim-secondary {
  margin-top: 8px;
  border-color: #bec9d480;
  background: #ffffff70;
  color: var(--navy-soft);
}
.sim-back {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 3px;
  min-height: 44px;
  min-width: 44px;
  border: 0;
  padding: 8px;
  background: none;
  color: var(--indigo);
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
}
.sim-back svg {
  width: 16px;
  height: 16px;
}
.sim-back svg {
  transform: rotate(180deg);
}
.sim-fieldset {
  min-width: 0;
  margin: 0 0 17px;
  padding: 0;
  border: 0;
}
.sim-fieldset legend {
  margin-bottom: 9px;
  padding: 0;
  color: var(--navy-soft);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}
.sim-choice {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
  min-height: 45px;
  padding: 11px;
  border: 1px solid #d7dfea;
  border-radius: 14px;
  background: #ffffffa6;
  color: var(--sim-secondary);
  text-align: left;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 500;
}
.sim-choice strong {
  font-size: 11px;
  font-weight: 600;
}
.sim-choice small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  margin-top: 2px;
}
.sim-choice > svg {
  width: 16px;
  height: 16px;
  flex: none;
}
.sim-fieldset > .sim-choice {
  width: 100%;
}
.sim-fieldset > .sim-choice + .sim-choice {
  margin-top: 7px;
}
.sim-choice[aria-pressed='true'] {
  background: #e5e9ffb3;
  border-color: #5b52ce99;
  color: var(--indigo-dark);
}
.sim-inline-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 10px;
  line-height: 1.7;
  color: var(--sim-secondary);
  margin-top: 12px;
}
.sim-inline-note svg {
  margin-top: 2px;
  width: 13px;
  height: 13px;
  color: var(--mint-dark);
}
.sim-summary {
  margin: 17px 0;
  padding: 2px 14px;
  border: 1px solid #d7dfea80;
  border-radius: 18px;
  background: #ffffffa6;
}
.sim-summary > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  font-size: 11px;
  line-height: 1.55;
}
.sim-summary > div + div {
  border-top: 1px solid #d7dfea80;
}
.sim-summary span {
  color: var(--sim-secondary);
  flex: none;
}
.sim-summary strong {
  text-align: right;
  font-weight: 550;
}
.sim-success-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 20px auto;
  border: 1px solid #0a716629;
  border-radius: 50%;
  background: #39e5d424;
  color: var(--mint-dark);
}
.sim-success-icon svg {
  width: 26px;
  height: 26px;
}
.sim-completion {
  padding-top: 12px;
}
.sim-completion .sim-page-head {
  text-align: center;
}
.sim-timeline {
  margin: 19px 0;
}
.sim-timeline ol,
ol.sim-timeline {
  list-style: none;
  padding: 0;
}
.sim-timeline li {
  position: relative;
  padding: 0 0 20px 24px;
  min-height: 44px;
}
.sim-timeline li:last-child {
  padding-bottom: 0;
}
.sim-timeline li:before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 11px;
  height: 11px;
  background: #e4eaf4;
  border: 1px solid #bec9d4;
  border-radius: 50%;
}
.sim-timeline li:not(:last-child):after {
  content: '';
  position: absolute;
  bottom: 1px;
  width: 1px;
  background: #d7dfea;
}
.sim-timeline li[data-current='true']:before {
  background: var(--indigo);
  border-color: var(--indigo);
  box-shadow: 0 0 0 3px #5b52ce16;
}
.sim-timeline li {
  padding-left: 28px;
}
.sim-timeline li:before {
  display: none;
}
.sim-timeline li:not(:last-child):after {
  left: 8px;
  top: 24px;
}
.sim-timeline li > i {
  position: absolute;
  display: grid;
  place-items: center;
  top: 1px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #bec9d4;
  border-radius: 50%;
  color: var(--muted);
  background: #e4eaf4;
  font-size: 9px;
  font-weight: 600;
  font-style: normal;
}
.sim-timeline li[data-current='true'] > i {
  color: #ffffff;
  background: var(--indigo);
  border-color: var(--indigo);
  box-shadow: 0 0 0 3px #5b52ce16;
}
.sim-timeline li[data-done='true'] > i {
  color: #ffffff;
  background: var(--mint-dark);
  border-color: var(--mint-dark);
}
.sim-timeline li > i svg {
  width: 10px;
  height: 10px;
}
.sim-timeline li b {
  display: inline-block;
  margin-top: 5px;
  color: var(--indigo-dark);
  font-size: 9px;
  line-height: 1.5;
  font-weight: 500;
}
.sim-timeline strong {
  display: block;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}
.sim-timeline small {
  display: block;
  font-size: 10px;
  color: var(--sim-secondary);
  line-height: 1.65;
  margin-top: 2px;
}
.sim-chat-bubble {
  max-width: 92%;
  padding: 12px;
  margin: 9px 0;
  border-radius: 17px 17px 17px 5px;
  background: #ffffff;
  border: 1px solid #d7dfea66;
  font-size: 11px;
  line-height: 1.7;
  color: var(--navy-soft);
}
.sim-chat-bubble.is-mine {
  margin-left: auto;
  border-radius: 17px 17px 5px 17px;
  background: #e5e9ff;
  border-color: transparent;
  color: var(--indigo-dark);
}
.sim-chat-bubble > small {
  display: block;
  font-size: 9px;
  opacity: 0.75;
  margin-top: 5px;
}
.sim-subheading {
  margin: 15px 0 8px;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.4;
  letter-spacing: -0.025em;
}
.sim-topics {
  display: grid;
  gap: 8px;
  margin: 17px 0;
}
.sim-topic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 73px;
  padding: 12px;
  text-align: left;
  border: 1px solid #d7dfea80;
  border-radius: 18px;
  background: #ffffffb8;
  color: var(--sim-ink);
}
.sim-topic > i {
  display: grid;
  place-items: center;
  width: 25px;
  font-style: normal;
}
.sim-topic > span {
  min-width: 0;
  flex: 1;
}
.sim-topic strong {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
}
.sim-topic small {
  display: block;
  color: var(--sim-secondary);
  font-size: 10px;
  line-height: 1.6;
  margin-top: 3px;
}
.sim-topic svg {
  width: 15px;
  height: 15px;
  color: var(--indigo);
}
.sim-topic > i svg {
  width: 22px;
  height: 22px;
}
.sim-tip {
  padding: 13px;
  margin: 16px 0;
  border-radius: 17px;
  background: #39e5d414;
  border: 1px solid #0a716621;
  color: var(--mint-dark);
  font-size: 11px;
  line-height: 1.75;
}
.sim-tip strong {
  display: block;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 3px;
}
.sim-tip p {
  color: var(--mint-dark);
  font-size: 11px;
  line-height: 1.75;
}
.sim-empty {
  padding: 23px 0;
  color: var(--sim-secondary);
  font-size: 12px;
  line-height: 1.75;
  text-align: center;
}
.app-simulator .preview-tabs.sim-tabs {
  display: grid;
  border-top: 1px solid #d7dfeaa6;
  border-bottom: 0;
}
.app-simulator .sim-tabs button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  border: 0;
  background: transparent;
}
.app-simulator .sim-tabs button[aria-selected='true']:after {
  display: none;
}
.sim-home-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sim-home-indicator:after {
  content: '';
  width: 90px;
  height: 4px;
  border-radius: 999px;
  background: #18253b;
}
.app-simulator .sim-caption {
  max-width: 300px;
  margin-top: 21px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.75;
  text-align: center;
}
.app-simulator .sim-live-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin-top: 3px;
  color: var(--indigo);
  font-size: 12px;
  font-weight: 500;
}
.sim-live-link svg {
  width: 14px;
  height: 14px;
}
@media (hover: hover) and (pointer: fine) {
  .sim-reset:hover,
  .sim-back:hover {
    background: #e5e9ff;
    color: var(--indigo);
  }
  .sim-service:hover,
  .sim-choice:hover,
  .sim-topic:hover {
    border-color: #5b52ce66;
    background-color: #ffffff;
  }
  .sim-primary:hover {
    background: var(--indigo-dark);
  }
  .sim-secondary:hover {
    background: #e5e9ff;
  }
}
@supports (corner-shape: squircle) {
  .sim-phone,
  .sim-phone:before,
  .sim-phone-glass {
    corner-shape: squircle;
  }
  .sim-phone {
    --sim-corner: 63px;
    --sim-inner-corner: 56px;
  }
  .sim-service,
  .sim-summary,
  .sim-choice,
  .sim-primary,
  .sim-secondary,
  .sim-topic,
  .sim-tip {
    corner-shape: squircle;
  }
  .sim-service {
    border-radius: 26px;
  }
  .sim-summary,
  .sim-topic {
    border-radius: 25px;
  }
  .sim-primary,
  .sim-secondary,
  .sim-tip {
    border-radius: 23px;
  }
  .sim-choice {
    border-radius: 20px;
  }
}
@media (max-width: 900px) and (min-width: 681px) {
  .app-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
    gap: 25px;
  }
  .sim-phone,
  .sim-mirror-toolbar {
    width: 300px;
  }
}
@media (max-width: 680px) {
  .app-preview.app-simulator {
    margin-top: 6px;
  }
  .sim-phone,
  .sim-mirror-toolbar {
    width: 310px;
  }
}
@media (max-width: 360px) {
  .sim-phone,
  .sim-mirror-toolbar {
    width: 272px;
  }
  .sim-phone {
    --sim-corner: 42px;
    --sim-inner-corner: 35px;
    padding: 6px;
  }
  .sim-status {
    padding-inline: 15px;
    grid-template-columns: 1fr 76px 1fr;
    font-size: 10px;
  }
  .sim-island {
    width: 76px;
    height: 23px;
  }
  .sim-page-head h3 {
    font-size: 21px;
  }
  .sim-service {
    padding: 10px;
    gap: 8px;
    min-height: 62px;
  }
  .sim-service > i {
    width: 24px;
  }
  .sim-service strong {
    font-size: 11px;
  }
  .sim-service small {
    font-size: 10px;
  }
  .sim-choice {
    padding: 10px;
  }
  .app-simulator .sim-caption {
    max-width: 260px;
  }
  @supports (corner-shape: squircle) {
    .sim-phone {
      --sim-corner: 57px;
      --sim-inner-corner: 51px;
    }
  }
}
.motion-disabled .app-simulator button,
.app-simulator[data-instant='true'] button {
  transition:
    background-color 160ms ease,
    color 160ms ease;
  transform: none;
}
.motion-disabled .app-simulator button:active,
.app-simulator[data-instant='true'] button:active {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .app-simulator button,
  .app-simulator button:active {
    transform: none;
    transition:
      background-color 160ms ease,
      color 160ms ease;
  }
}
@media (prefers-contrast: more) {
  .sim-service,
  .sim-choice,
  .sim-summary,
  .sim-topic,
  .sim-secondary {
    border-color: var(--muted);
    background: #ffffff;
  }
  .sim-service[aria-pressed='true'],
  .sim-choice[aria-pressed='true'] {
    border-color: var(--indigo);
  }
  .sim-demo-badge {
    border: 1px solid var(--mint-dark);
  }
}

/* Source-faithful customer app UI, drawn from CustomerHomeLayout and its pages. */
.sim-phone-glass {
  height: 722px;
  grid-template-rows: 42px 55px minmax(0, 1fr) 67px 22px;
  background: #f2f6fb;
}
.sim-brand {
  gap: 10px;
  padding: 9px 16px;
  background: #f2f6fb;
  border-bottom-color: #e1e9f1;
  box-shadow: 0 1px 2px #0a19310a;
}
.sim-brand img {
  width: 33px;
  height: 24px;
}
.sim-brand > div {
  flex: 1;
  min-width: 0;
}
.sim-brand strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}
.sim-brand small {
  display: block;
  font-size: 10px;
  line-height: 1.3;
  color: #46698e;
  font-weight: 500;
}
.sim-notifications {
  display: grid;
  place-items: center;
  flex: none;
  width: 38px;
  height: 38px;
  background: transparent;
  color: #46698e;
  border: 0;
  border-radius: 50%;
}
.sim-notifications svg {
  width: 20px;
  height: 20px;
}
.sim-screen {
  padding: 16px;
  background: #e9eff6;
}
.sim-screen .sim-page {
  font-size: 14px;
  line-height: 1.5;
}
.sim-screen .sim-page h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.35;
}
.sim-screen .sim-page-head {
  margin-bottom: 16px;
}
.sim-screen .sim-page-head .sim-step {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.sim-screen .sim-page-head > p:not(.sim-step) {
  color: #1a3d63;
  font-size: 14px;
  line-height: 1.5;
}
.sim-screen .sim-primary,
.sim-screen .sim-secondary {
  corner-shape: round;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  min-height: 46px;
}
.sim-screen .sim-primary {
  background: #5b52ce;
}
.sim-screen .sim-secondary {
  background: #e1e9f1;
  color: #0a1931;
  border-color: #bec9d4;
}
.sim-screen .sim-summary,
.sim-screen .sim-topic,
.sim-screen .sim-tip,
.sim-screen .sim-service,
.sim-screen .sim-choice {
  corner-shape: round;
  border-radius: 16px;
}
.sim-screen .sim-choice {
  border-radius: 12px;
  background: #f2f6fb;
  border-color: #bec9d4;
  color: #0a1931;
  font-size: 13px;
}
.sim-screen .sim-choice[aria-pressed='true'] {
  border-color: #5b52ce;
  background: #e5e9ff;
  color: #160d47;
}
.sim-screen .sim-choice small {
  color: #46698e;
  font-size: 11px;
}
.sim-screen .sim-fieldset legend {
  font-size: 12px;
  font-weight: 700;
  color: #1a3d63;
}
.sim-screen .sim-inline-note {
  font-size: 11px;
  line-height: 1.5;
  color: #46698e;
}
.sim-screen .sim-summary {
  border-color: #bec9d4;
  background: #f2f6fb;
}
.sim-screen .sim-summary > div {
  font-size: 12px;
}
.sim-screen .sim-summary strong {
  font-weight: 600;
}
.sim-screen .sim-tip {
  background: #d9fbf6;
  border-color: #b7f6ee;
  color: #0a7166;
  font-size: 12px;
  line-height: 1.6;
}
.sim-screen .sim-tip strong {
  font-size: 12px;
}
.sim-screen .sim-tip p {
  font-size: 12px;
}
.sim-screen .sim-empty {
  font-size: 14px;
  padding: 24px 12px;
  border: 1px solid #bec9d4;
  border-radius: 16px;
  background: #f2f6fb;
}

.sim-home-hero {
  position: relative;
  overflow: hidden;
  padding: 16px;
  margin-bottom: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #4a3fb2, #160d47);
  box-shadow: 0 4px 6px -1px #0a193119;
  color: #ffffff;
}
.sim-home-hero:before {
  content: '';
  position: absolute;
  width: 128px;
  height: 128px;
  top: -32px;
  right: -32px;
  border-radius: 50%;
  background: #ffffff1a;
  pointer-events: none;
}
.sim-home-hero > * {
  position: relative;
}
.sim-home-hero > p {
  color: #cdd2ff;
  font-size: 12px;
  line-height: 1.5;
}
.sim-screen .sim-home-hero h3 {
  margin-top: 2px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.4;
}
.sim-home-hero > button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  max-width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  background: #ffffff26;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.sim-home-hero > button svg {
  width: 14px;
  height: 14px;
}
.sim-dashboard-label {
  margin: 0 4px 8px;
  color: #1a3d63;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.sim-app-card,
.sim-home-upcoming,
.sim-app-guide,
.sim-dispatch {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 72px;
  padding: 14px;
  text-align: left;
  color: #0a1931;
  background: #f2f6fb;
  border: 1px solid #bec9d4;
  border-radius: 16px;
  box-shadow: 0 1px 2px #0a19310d;
}
.sim-app-card > i,
.sim-home-upcoming > i,
.sim-app-guide > i,
.sim-dispatch > i {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #e5e9ff;
  color: #5b52ce;
  font-style: normal;
}
.sim-app-card > i svg,
.sim-home-upcoming > i svg,
.sim-app-guide > i svg,
.sim-dispatch > i svg {
  width: 20px;
  height: 20px;
}
.sim-app-card > span,
.sim-home-upcoming > span,
.sim-app-guide > span,
.sim-dispatch > span {
  flex: 1;
  min-width: 0;
}
.sim-app-card strong,
.sim-home-upcoming strong,
.sim-app-guide strong,
.sim-dispatch strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.sim-app-card small,
.sim-home-upcoming small,
.sim-app-guide small,
.sim-dispatch small {
  display: block;
  margin-top: 3px;
  color: #5b52ce;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
}
.sim-app-card > svg,
.sim-home-upcoming > svg,
.sim-app-guide > svg,
.sim-dispatch > svg {
  width: 18px;
  height: 18px;
  color: #46698e;
}
.sim-home-upcoming {
  margin-bottom: 16px;
}
.sim-home-upcoming small {
  color: #46698e;
}
.sim-home-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.sim-home-actions > .sim-app-card {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 12px;
}
.sim-home-actions > .sim-app-card:first-child > i {
  background: #5b52ce;
  color: #ffffff;
}
.sim-home-actions > .sim-app-card > span {
  width: 100%;
}
.sim-home-actions .sim-app-card small {
  font-size: 10px;
}
.sim-app-guide {
  margin: 16px 0;
}
.sim-dispatch {
  border-radius: 12px;
  padding: 12px;
  margin: 16px 0;
  background: #eaedff;
  border-color: #cdd2ff;
}
.sim-dispatch > i {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #cdd2ff;
}
.sim-dispatch small {
  color: #46698e;
}
.sim-app-page-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0 8px;
  align-items: center;
  margin: 0 0 16px;
}
.sim-app-page-head > button {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  min-width: 34px;
  min-height: 44px;
  margin-left: -4px;
  padding: 8px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #0a1931;
}
.sim-app-page-head > button svg {
  width: 20px;
  height: 20px;
  transform: rotate(180deg);
}
.sim-screen .sim-app-page-head h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
.sim-app-page-head > p {
  grid-column: 2;
  font-size: 11px;
  line-height: 1.5;
  color: #46698e;
  font-weight: 600;
}
.sim-step-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
}
.sim-step-bar > span {
  flex: 1;
  height: 6px;
  border-radius: 999px;
  background: #b3cfe5;
}
.sim-step-bar > span[data-complete='true'] {
  background: #5b52ce;
}
.sim-unit-card {
  padding: 16px;
  margin: 12px 0;
  background: #f2f6fb;
  border: 1px solid #cdd2ff;
  border-radius: 16px;
  box-shadow: 0 1px 2px #0a19310d;
}
.sim-unit-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.sim-unit-card > header > strong {
  color: #5b52ce;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.sim-unit-card > header > span {
  color: #46698e;
  font-size: 11px;
}
.sim-unit-card > p {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
.sim-hp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.sim-hp-grid button,
.sim-hp-unsure {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 4px;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  background: #f2f6fb;
  color: #0a1931;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
.sim-hp-unsure {
  width: 100%;
  margin-top: 8px;
  font-weight: 600;
  color: #1a3d63;
}
.sim-hp-grid button[aria-pressed='true'],
.sim-hp-unsure[aria-pressed='true'] {
  background: #e5e9ff;
  border-color: #5b52ce;
  color: #160d47;
}
.sim-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}
.sim-categories button {
  padding: 6px 8px;
  min-height: 34px;
  color: #1a3d63;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  border: 1px solid #bec9d4;
  border-radius: 8px;
  background: #f2f6fb;
}
.sim-categories button[aria-pressed='true'] {
  background: #5b52ce;
  border-color: #5b52ce;
  color: #ffffff;
}
.sim-catalog {
  display: grid;
  gap: 8px;
}
.sim-catalog button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 70px;
  padding: 12px;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  background: #f2f6fb;
  color: #0a1931;
  text-align: left;
}
.sim-catalog button > span {
  min-width: 0;
}
.sim-catalog strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.sim-catalog small {
  display: block;
  margin-top: 3px;
  color: #1a3d63;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}
.sim-catalog b {
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #5b52ce;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}
.sim-catalog b svg {
  width: 15px;
  height: 15px;
}
.sim-catalog button[aria-pressed='true'] {
  border-color: #5b52ce;
  background: #eaedff;
}
.sim-app-add-unit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 12px;
  margin: 12px 0;
  min-height: 46px;
  border: 1px dashed #cdd2ff;
  border-radius: 12px;
  background: transparent;
  color: #5b52ce;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
.sim-app-add-unit svg {
  width: 16px;
  height: 16px;
}
.sim-date-grid,
.sim-time-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 20px;
}
.sim-date-grid button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-height: 76px;
  padding: 12px 4px;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  background: #f2f6fb;
  color: #0a1931;
}
.sim-date-grid button strong {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.sim-date-grid button small {
  color: #46698e;
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 700;
}
.sim-time-grid button {
  min-height: 44px;
  padding: 8px 4px;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  background: #f2f6fb;
  color: #0a1931;
  font-size: 13px;
  font-weight: 600;
}
.sim-date-grid button[aria-pressed='true'],
.sim-time-grid button[aria-pressed='true'] {
  color: #ffffff;
  background: #5b52ce;
  border-color: #5b52ce;
}
.sim-date-grid button[aria-pressed='true'] small {
  color: #ffffffd9;
}
.sim-app-bookbar {
  position: sticky;
  bottom: -16px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  margin: 20px -16px -16px;
  border-top: 1px solid #bec9d4;
  background: #f2f6fb;
  box-shadow: 0 -4px 12px #0a19310f;
}
.sim-app-bookbar > span {
  min-width: 0;
}
.sim-app-bookbar strong {
  display: block;
  color: #0a1931;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.sim-app-bookbar small {
  display: block;
  color: #46698e;
  font-size: 10px;
  line-height: 1.5;
  margin-top: 3px;
}
.sim-screen .sim-app-bookbar .sim-primary {
  position: static;
  flex: none;
  width: auto;
  margin: 0;
  padding-inline: 16px;
  box-shadow: 0 4px 6px -1px #0a193119;
  font-size: 14px;
}
.sim-profile-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  margin-bottom: 16px;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #4a3fb2, #160d47);
}
.sim-profile-card > i {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  border: 2px solid #ffffff50;
  border-radius: 50%;
  background: #ffffff20;
  font-style: normal;
}
.sim-profile-card svg {
  width: 24px;
  height: 24px;
}
.sim-profile-card strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.sim-profile-card small {
  display: block;
  color: #cdd2ff;
  font-size: 12px;
  line-height: 1.5;
}
.sim-profile-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 55px;
  padding: 12px;
  color: #0a1931;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  background: #f2f6fb;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  margin: 8px 0;
}
.sim-profile-row > i {
  display: grid;
  place-items: center;
  width: 30px;
  flex: none;
  color: #5b52ce;
}
.sim-profile-row > span {
  flex: 1;
  min-width: 0;
}
.sim-profile-row svg {
  width: 18px;
  height: 18px;
}
.sim-profile-row > svg {
  color: #46698e;
  width: 16px;
  height: 16px;
}
.sim-screen .sim-topics {
  gap: 10px;
}
.sim-screen .sim-topic {
  background: #f2f6fb;
  border-color: #bec9d4;
}
.sim-screen .sim-topic > i {
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 12px;
  background: #e1e9f1;
  color: #46698e;
  font-size: 23px;
}
.sim-screen .sim-topic strong {
  font-size: 14px;
  font-weight: 700;
}
.sim-screen .sim-topic small {
  color: #1a3d63;
  font-weight: 400;
}
.sim-guide-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  margin: 16px 0;
  min-height: 44px;
  background: #f2f6fb;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  color: #46698e;
}
.sim-guide-search svg {
  flex: none;
  width: 16px;
  height: 16px;
}
.sim-guide-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0a1931;
  font: inherit;
  line-height: 1.5;
}
.sim-guide-search input::placeholder {
  color: #46698e;
  opacity: 1;
}
.sim-guide-search:focus-within {
  outline: 2px solid #5b52ce;
  outline-offset: 1px;
}
.sim-guide-search input:focus-visible {
  outline: 0;
}

.app-simulator .preview-tabs.sim-tabs {
  position: relative;
  z-index: 4;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  align-items: center;
  padding: 4px 3px 2px;
  border-top-color: #bec9d4;
  background: #f2f6fb;
  box-shadow: 0 -4px 12px #0a19310f;
}
.app-simulator .sim-tabs button {
  padding: 4px 0;
  gap: 2px;
  border-radius: 8px;
  color: #46698e;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
}
.app-simulator .sim-tabs button > i {
  display: grid;
  place-items: center;
  font-style: normal;
}
.app-simulator .sim-tabs button[aria-pressed='true'],
.app-simulator .sim-tabs button[aria-selected='true'] {
  background: transparent;
  color: #5b52ce;
  font-weight: 700;
}
.app-simulator .sim-tabs button[aria-pressed='true']:after {
  content: '';
  display: block;
  position: static;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #5b52ce;
}
.app-simulator .sim-tabs button[data-preview='book'] {
  align-self: start;
  padding: 0;
  gap: 2px;
  background: transparent;
  color: #0a1931;
  font-weight: 700;
}
.app-simulator .sim-tabs button[data-preview='book'] > i {
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #5b52ce, #160d47);
  box-shadow: 0 10px 15px -3px #160d4740;
}
.app-simulator .sim-tabs button[data-preview='book']:after {
  display: none;
}
.sim-home-indicator {
  background: #f2f6fb;
}
.app-simulator[data-app-route='book'] .sim-tabs {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .sim-app-card:hover,
  .sim-home-upcoming:hover,
  .sim-app-guide:hover,
  .sim-dispatch:hover,
  .sim-profile-row:hover {
    border-color: #8280fa;
    background-color: #f2f6fb;
  }
  .sim-home-hero > button:hover {
    background-color: #ffffff40;
  }
  .sim-hp-grid button:hover,
  .sim-hp-unsure:hover,
  .sim-catalog button:hover {
    background-color: #eaedff;
    border-color: #8280fa;
  }
  .sim-notifications:hover {
    background-color: #e1e9f1;
  }
  .app-simulator .sim-tabs button:hover {
    color: #1a3d63;
    background: transparent;
  }
  .app-simulator .sim-tabs button[data-preview='book']:hover {
    color: #0a1931;
  }
}
@media (max-width: 680px) {
  .sim-phone-glass {
    height: 694px;
  }
}
@media (max-width: 360px) {
  .sim-phone-glass {
    height: 671px;
    grid-template-rows: 40px 55px minmax(0, 1fr) 65px 22px;
  }
  .sim-brand {
    padding-inline: 12px;
    gap: 8px;
  }
  .sim-screen {
    padding-inline: 12px;
  }
  .sim-home-actions {
    gap: 8px;
  }
  .sim-home-actions > .sim-app-card {
    padding: 12px 10px;
  }
  .sim-app-card,
  .sim-home-upcoming,
  .sim-app-guide {
    gap: 10px;
    padding: 12px;
  }
  .sim-app-card strong,
  .sim-home-upcoming strong,
  .sim-app-guide strong {
    font-size: 13px;
  }
  .sim-unit-card {
    padding: 12px;
  }
  .sim-app-bookbar {
    margin-inline: -12px;
    padding-inline: 12px;
  }
  .sim-screen .sim-app-bookbar .sim-primary {
    padding-inline: 12px;
    font-size: 13px;
  }
}

/* Exact markup details shared by the source-matched screens. */
.sim-app-page-head > div > p {
  font-size: 11px;
  line-height: 1.5;
  color: #46698e;
  font-weight: 500;
  margin-top: 2px;
}
.sim-home-upcoming > span > button {
  display: block;
  min-height: 32px;
  padding: 4px 0;
  border: 0;
  background: none;
  color: #5b52ce;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
}
.sim-home-upcoming .sim-sample-date {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 46px;
  height: 54px;
}
.sim-sample-date small {
  color: #5b52ce;
  font-size: 10px;
  text-transform: uppercase;
}
.sim-sample-date strong {
  font-size: 22px;
  line-height: 1;
}
.sim-home-upcoming b {
  display: inline-block;
  margin-top: 6px;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 6px;
  background: #e5e9ff;
  color: #5b52ce;
  border-radius: 4px;
}
.sim-unit-size {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #e9eff6;
  padding: 10px;
  border: 1px solid #bec9d4;
  border-radius: 12px;
  font-size: 13px;
}
.sim-unit-size > svg {
  width: 18px;
  height: 18px;
  flex: none;
  color: #5b52ce;
}
.sim-unit-size > button,
.sim-unit-card > header > button {
  margin-left: auto;
  min-height: 36px;
  padding: 4px;
  border: 0;
  background: none;
  color: #5b52ce;
  font-size: 12px;
  font-weight: 700;
}
.sim-unit-card > header > button + button {
  margin-left: 0;
}
.sim-dispatch > b {
  font-size: 11px;
  color: #5b52ce;
  font-weight: 700;
}
.sim-cause,
.sim-demo-technician,
.sim-notification-card {
  display: block;
}
.sim-cause {
  margin: 10px 0;
}
.sim-cause p,
.sim-demo-technician p,
.sim-notification-card p {
  font-size: 12px;
  line-height: 1.6;
  color: #1a3d63;
  margin-top: 5px;
}
.sim-demo-technician > i {
  margin-bottom: 10px;
}
.sim-demo-technician h4 {
  font-size: 16px;
  font-weight: 700;
}
.sim-demo-technician .sim-demo-badge {
  display: inline-block;
  margin-top: 10px;
  color: #46698e;
  font-size: 11px;
}
.sim-notification-card > svg {
  width: 24px;
  height: 24px;
  color: #5b52ce;
  margin-bottom: 10px;
}
.sim-scam-alert {
  border: 1px solid #f5cd83;
  border-radius: 12px;
  background: #fff5e1;
  color: #875317;
  padding: 12px;
  margin: 16px 0;
  font-size: 12px;
  line-height: 1.6;
}
.sim-scam-alert strong {
  display: block;
  margin-bottom: 4px;
}
.sim-severity {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 4px;
  padding: 4px;
  background: #fff0cc;
  color: #875317;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.sim-severity.high {
  background: #fbe4e4;
  color: #a33737;
}
.sim-severity svg {
  width: 12px;
  height: 12px;
}
.sim-screen .sim-topic {
  gap: 9px;
  padding: 12px;
}
.sim-screen .sim-topic small {
  font-size: 11px;
  line-height: 1.5;
}
.sim-guide-search input {
  font-size: 12px;
  min-height: 24px;
}
.sim-screen .sim-primary:disabled {
  opacity: 0.48;
}

/* First launch: Book AC service is the only card in its row (the app gives it the full width too). */
.sim-home-actions > .sim-app-card:only-child {
  grid-column: 1 / -1;
}
