/* Brand / Settings — Figma node 16793:98343 + main/* color variables */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  /* Figma variables (main/* + surface) */
  --main-primary: #08aee0;
  --main-secondary: #eea40f;
  --main-tertiary: #9fa5ab;
  --main-error: #f53535;
  --main-surface-neutral: #f6f9fc;
  --main-surface-neutral-variant: #ffffff;
  --intro-tagline-color: #ffffff;

  /* Design system aliases */
  --opensolar-yellow: #ffd800;
  --text-primary: #1d1c20;
  --text-label: #13171a;
  --text-muted: #6b6a76;
  --grey-200: #f8f8f8;
  --grey-300: #f1f1f1;
  --grey-400: #ececed;
  --grey-500: #e6e6e6;
  --grey-600: #dcdcdc;
  --brand-blue-900: #1751d0;
  --grey-1000: #4c4b53;

  --color-bg-page: var(--main-surface-neutral);
  --color-surface: var(--main-surface-neutral-variant);
  --color-border: var(--grey-600);
  --color-border-light: var(--grey-400);
  --color-text: var(--text-primary);
  --color-text-muted: var(--text-muted);
  --color-accent: var(--main-primary);
  --color-nav-active: var(--text-label);
  --color-sidebar-active: var(--brand-blue-900);

  --header-h: 56px;
  --safe-top: env(safe-area-inset-top, 0px);
  --header-offset: calc(var(--header-h) + var(--safe-top));
  --sidebar-w: 282px;
  --panel-w: 416px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-phone: 18px;
  --control-h: 40px;
  --shadow-phone: 0 8px 32px rgba(10, 9, 11, 0.08);
  --font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    sans-serif;
  --phone-font-display: var(--font);
  --phone-font-body: var(--font);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.05px;
  color: var(--color-text);
  background: var(--color-surface);
  min-height: 100%;
  height: 100%;
  overflow: hidden;
}

.app {
  height: 100%;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1728px;
  margin: 0 auto;
  overflow: hidden;
}

/* —— Top nav —— */
.top-nav {
  position: relative;
  top: auto;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  min-height: var(--header-offset);
  padding: var(--safe-top) 16px 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-surface);
  z-index: 20;
}

.top-nav__left {
  display: flex;
  align-items: center;
  gap: 40px;
  min-height: var(--header-h);
  flex: 1;
  min-width: 0;
}

.top-nav__left > nav {
  display: flex;
  align-items: center;
  min-height: var(--header-h);
}

.brand-lockup {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  height: var(--header-h);
}

.brand-lockup__logo {
  display: block;
  width: 140px;
  height: 56px;
}

.main-tabs {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
  height: var(--header-h);
}

.main-tabs li {
  display: flex;
  align-items: stretch;
}

.main-tabs a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 16px;
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
}

.main-tabs a:hover {
  color: var(--color-text);
}

.main-tabs a.is-active {
  color: var(--color-nav-active);
  font-weight: 700;
}

.main-tabs a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--opensolar-yellow);
}

.main-tabs-nav {
  display: flex;
  align-items: center;
  min-height: var(--header-h);
}

.main-tabs-dropdown {
  position: relative;
  display: none;
  align-items: center;
  align-self: center;
}

.main-tabs-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-nav-active);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  cursor: pointer;
  white-space: nowrap;
}

.main-tabs-dropdown__trigger:hover {
  background: var(--grey-200);
}

.main-tabs-dropdown__chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.main-tabs-dropdown.is-open .main-tabs-dropdown__chevron {
  transform: rotate(180deg);
}

.main-tabs-dropdown__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 40;
  min-width: 180px;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  box-shadow:
    0 4px 2px rgba(12, 12, 13, 0.05),
    0 16px 16px rgba(12, 12, 13, 0.1);
}

.main-tabs-dropdown__menu[hidden] {
  display: none;
}

.main-tabs-dropdown__menu a {
  display: block;
  padding: 10px 16px;
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.main-tabs-dropdown__menu a:hover {
  color: var(--color-nav-active);
  background: var(--grey-200);
}

.main-tabs-dropdown__menu a.is-active {
  color: var(--color-nav-active);
  font-weight: 700;
  background: var(--grey-200);
}

.top-nav__right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-height: var(--header-h);
}

.top-nav__menu-panel {
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-top-nav-menu {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--text-label);
  cursor: pointer;
}

.btn-top-nav-menu:hover {
  background: var(--grey-200);
}

.btn-top-nav-menu__icon {
  display: block;
}

.btn-top-nav-menu__icon--close {
  display: none;
}

.btn-top-nav-menu.is-open .btn-top-nav-menu__icon--open {
  display: none;
}

.btn-top-nav-menu.is-open .btn-top-nav-menu__icon--close {
  display: block;
}

.top-nav-menu-backdrop {
  display: none;
}

.pill-ada {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 24px 0 12px;
  height: 36px;
  border-radius: 4px;
  border: 1px solid var(--color-border-light);
  background: var(--color-surface);
  font-size: 14px;
  font-weight: 500;
}

.pill-ada__icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.pill-ada__beta {
  position: absolute;
  top: -2px;
  left: 65px;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 1);
  background-color: var(--brand-blue-900);
  letter-spacing: 0;
  padding-left: 6px;
  padding-right: 6px;
  border-radius: 4px;
}

.icon-btn {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  display: grid;
  place-items: center;
}

.icon-btn:hover {
  background: var(--grey-200);
}

.btn-primary-outline {
  height: 36px;
  padding: 0 18px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background: rgba(220, 220, 220, 0.33);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: var(--text-label);
}

.user-chip {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 4px;
  border: 1px solid #e7e7e7;
  margin-left: 4px;
  height: 40px;
}

.user-chip__logo {
  display: block;
  width: 100px;
  height: auto;
  max-height: 32px;
  object-fit: contain;
}

/* —— Shell —— */
.shell {
  flex: 1;
  display: flex;
  min-height: 0;
  overflow: hidden;
}

.sidebar {
  width: var(--sidebar-w);
  flex-shrink: 0;
  border-right: 1px solid var(--color-border-light);
  background: var(--color-surface);
  padding: 16px 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sidebar nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.nav-group {
  margin-bottom: 0;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 8px;
  border-radius: var(--radius-sm);
  color: var(--text-label);
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  min-height: 52px;
}

.nav-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.nav-item__icon img {
  display: block;
  width: 24px;
  height: 24px;
}

.nav-item:hover {
  background: var(--grey-200);
}

.nav-item__chevron {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--grey-1000);
}

.nav-item__chevron svg {
  width: 24px;
  height: 24px;
}

.nav-group:has(.nav-sub) .nav-item__chevron svg {
  transform: rotate(180deg);
}

.nav-sub {
  padding-left: 32px;
  margin: 0 0 8px;
}

.nav-sub a {
  display: block;
  padding: 14px 8px;
  min-height: 48px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  border-radius: var(--radius-sm);
  line-height: 20px;
}

.nav-sub a:hover {
  color: var(--text-label);
}

.nav-sub a.is-active {
  color: var(--color-sidebar-active);
  font-weight: 600;
}

.nav-sub a.nav-sub__item,
.nav-sub button.nav-sub__item {
  display: flex;
  padding: 14px 8px;
  min-height: 48px;
  line-height: 20px;
}

.nav-sub__item--has-chevron {
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.nav-sub__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--grey-1000);
}

.nav-sub__chevron svg {
  width: 24px;
  height: 24px;
}

.nav-sub__group {
  margin: 0;
}

.nav-sub__toggle {
  width: 100%;
  border: none;
  background: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: inherit;
}

.nav-sub__toggle:hover {
  color: var(--text-label);
}

.nav-sub__toggle.is-active {
  color: var(--color-sidebar-active);
  font-weight: 600;
}

.nav-sub__nested a.is-active {
  color: var(--color-sidebar-active);
  font-weight: 600;
}

.nav-sub__group.is-open .nav-sub__chevron svg {
  transform: rotate(180deg);
}

.nav-sub__nested {
  padding-left: 16px;
  margin: 0;
}

.nav-sub__nested a {
  display: block;
  padding: 14px 8px;
  min-height: 48px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  border-radius: var(--radius-sm);
  line-height: 20px;
}

.nav-sub__nested a:hover {
  color: var(--text-label);
}

.nav-sub__group:not(.is-open) .nav-sub__nested {
  display: none;
}

.main-view--customer-comms-marketing .page-head,
.main-view--checkout-experience .page-head {
  min-height: 36px;
}


/* —— Main —— */
.main {
  flex: 1;
  background: var(--color-bg-page);
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 24px 16px;
  overflow: hidden;
}

.main-view {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  container-type: inline-size;
  container-name: main-view;
}

.main-view[hidden] {
  display: none !important;
}

.breadcrumb {
  flex-shrink: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
  margin-bottom: 24px;
  font-weight: 400;
}

.breadcrumb span {
  margin: 0 4px;
}

.breadcrumb strong {
  color: var(--text-label);
  font-weight: 500;
}

.page-head {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-left: 6px;
  margin-right: 8px;
  margin-bottom: 24px;
}

.page-head__left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}

.page-head__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

@container main-view (max-width: 520px) {
  .page-head {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .page-head__left {
    flex: none;
  }

  .page-head__actions {
    margin-left: 0;
    justify-content: flex-end;
  }
}

.page-head__title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--text-label);
}

.btn-nav-toggle,
.btn-preview,
.btn-app-store-save-image {
  display: none;
}

.btn-nav-toggle {
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--text-label);
  cursor: pointer;
}

.btn-nav-toggle:hover {
  background: var(--grey-200);
}

.btn-preview {
  height: 36px;
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--text-label);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
}

.btn-preview:hover {
  background: var(--grey-200);
}

.btn-save {
  height: 36px;
  padding: 0 16px;
  border: none;
  border-radius: var(--radius-sm);
  background: #4272dd;
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
}

.btn-save:hover {
  filter: brightness(1.04);
}

.btn-save:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.btn-save:disabled:hover {
  filter: none;
}

.page-head__actions .btn-save,
.page-head__actions .btn-page-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.page-head__actions .btn-page-cancel {
  min-width: 84px;
}

.page-head__actions .btn-save {
  min-width: 84px;
}

/* —— Content grid —— */
.content-grid {
  display: flex;
  gap: 24px;
  align-items: stretch;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.settings-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: var(--panel-w);
  max-width: 100%;
  flex-shrink: 0;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  background: transparent;
  border: none;
  overflow-x: hidden;
  overflow-y: auto;
}

.accordion {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  overflow: hidden;
  min-width: 0;
  background: var(--color-surface);
}

.accordion:not(.is-open) {
  height: auto;
}

.accordion:not(.is-open) .accordion__body {
  display: none;
}

.accordion.is-open {
  height: auto;
  flex-shrink: 0;
  justify-content: flex-start;
}

.accordion:not(.is-open) > .accordion__head {
  flex: 0 0 auto;
}

.settings-stack .accordion:not(.is-open) > .accordion__head {
  display: flex;
  width: 100%;
}

.accordion__head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 16px;
  min-height: 56px;
  border: none;
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--text-label);
  cursor: pointer;
  text-align: left;
  flex: 0 0 auto;
  flex-shrink: 0;
}

.accordion__head:hover {
  background: var(--grey-200);
}

.accordion--disabled > .accordion__head,
.accordion__head:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.accordion--disabled > .accordion__head:hover,
.accordion__head:disabled:hover {
  background: var(--color-surface);
}

.accordion--disabled .accordion__body {
  opacity: 0.45;
  pointer-events: none;
}

.accordion--app-store .accordion__head {
  background: #f1ebda;
}

.accordion--app-store .accordion__head:hover {
  background: #ebe3d0;
}

.accordion--app-store.is-open {
  background: #f1ebda;
}

.accordion--app-store .accordion__body.app-store-links {
  gap: 20px;
  padding-top: 18px;
  background: #f1ebda;
}

.accordion--preview-full-app {
  border: none;
}

.accordion--preview-full-app > .accordion__head {
  background: var(--text-label);
  color: #ffffff;
}

.accordion--preview-full-app > .accordion__head:hover {
  background: #2d3338;
}

.accordion--preview-full-app.is-open > .accordion__head {
  background: var(--text-primary);
  color: #ffffff;
}

.accordion--preview-full-app .accordion__chevron {
  color: #ffffff;
}

.preview-full-app__disclaimer {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.app-store-links__row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.app-store-links__field {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.app-store-links__label {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--text-muted);
}

.app-store-links__input {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 5px 12px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #0a090b;
  box-sizing: border-box;
  word-break: break-word;
}

.app-store-links__input:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 1px;
}

.app-store-links__input.is-copied {
  color: var(--brand-blue-900);
  font-weight: 500;
  text-align: center;
}

.app-store-links__copy {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.app-store-links__copy svg {
  width: 20px;
  height: 20px;
}

.app-store-links__copy:hover {
  background: rgba(10, 9, 11, 0.06);
}


.accordion__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--grey-1000);
  transform: rotate(0deg);
  transition: transform 0.15s ease;
}

.accordion__chevron svg {
  width: 24px;
  height: 24px;
}

.accordion.is-open .accordion__chevron {
  transform: rotate(180deg);
}

.accordion__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 32px 32px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.accordion__body.preview-full-app {
  gap: 0;
  padding-top: 24px;
}

.settings-stack > .accordion {
  flex: 0 0 auto;
  flex-shrink: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.accordion--static .accordion__body {
  display: flex;
}

.accordion--static .accordion__head--static {
  margin: 0;
  cursor: default;
  pointer-events: none;
}

.accordion--static .accordion__head--static:hover {
  background: var(--color-surface);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.display-mode {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
}

.display-mode__option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.display-mode__compact {
  cursor: pointer;
  min-width: 0;
}

.display-mode__option-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.display-mode__label-row {
  display: flex;
  align-items: center;
  gap: 2px;
}

.display-mode__label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
  cursor: pointer;
}

.display-mode__helper {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-muted);
}

.display-mode__help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
  flex-shrink: 0;
}

.display-mode__help svg {
  display: block;
  width: 16px;
  height: 16px;
  overflow: visible;
}

.display-mode__help:hover {
  color: var(--text-primary);
}

.display-mode__compact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}

.display-mode__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-muted);
  white-space: nowrap;
}

.display-mode__toggle:not(.display-mode__toggle--dark) {
  background: #f1f1f1;
}

.display-mode__toggle--dark {
  background: #333333;
  color: #ffffff;
}

.display-mode__toggle input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  border: 1px solid #333333;
  border-radius: 50%;
  background: var(--main-surface-neutral-variant);
  cursor: pointer;
}

.display-mode__toggle input[type="radio"]:checked {
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--main-surface-neutral-variant) 4px 6px
  );
}

.display-mode__toggle--dark input[type="radio"] {
  border-color: #ffffff;
  background: var(--main-surface-neutral-variant);
}

.display-mode__toggle--dark input[type="radio"]:checked {
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--main-surface-neutral-variant) 4px 6px
  );
}

.display-mode__toggle input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.display-mode__option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  flex-shrink: 0;
  border: 1.5px solid #adacb0;
  border-radius: 50%;
  background: var(--color-surface);
  cursor: pointer;
}

.display-mode__option input[type="radio"]:checked {
  border-color: var(--main-primary);
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--color-surface) 4px 6px
  );
}

.display-mode__option input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.progressive-disclosure {
  gap: 24px;
}

.progressive-disclosure__advisory {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.progressive-disclosure__delays {
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
}

.progressive-disclosure__delay-options {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 24px;
}

.progressive-disclosure__option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  cursor: pointer;
}

.progressive-disclosure__option--wide {
  flex: 1 1 100%;
}

.progressive-disclosure__option-label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.progressive-disclosure__option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  border: 1.5px solid #adacb0;
  border-radius: 50%;
  background: var(--color-surface);
  cursor: pointer;
}

.progressive-disclosure__option input[type="radio"]:checked {
  border-color: var(--main-primary);
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--color-surface) 4px 6px
  );
}

.progressive-disclosure__option input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.logo-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.logo-upload-row .field-row.is-disabled,
.field-row.is-disabled {
  opacity: 0.55;
  pointer-events: none;
}

.intro-screen {
  gap: 16px;
}

.field-label-row {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 4px;
}

.field-label-row .field-label {
  margin-bottom: 0;
}

.field--compact,
select.field.field--compact {
  width: 100%;
  height: 32px;
  min-height: 32px;
  padding: 0 28px 0 6px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-muted);
  box-sizing: border-box;
}

select.field.field--compact {
  color: var(--text-label);
  background-position: right 4px center;
  background-size: 20px 20px;
}

input.field.field--compact {
  padding-right: 6px;
  color: var(--text-label);
  outline: none;
}

input.field.field--compact:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 1px;
}

input.field.field--compact:disabled {
  background-color: var(--grey-200);
  border-color: var(--grey-500);
  color: var(--text-muted);
  cursor: not-allowed;
}

input.field.field--compact:disabled:focus-visible {
  outline: none;
}

.intro-tagline-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.intro-switch {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  margin: 0;
}

.intro-switch__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.intro-switch__track {
  position: relative;
  flex-shrink: 0;
  width: 28px;
  height: 16px;
  margin-top: 2px;
  border-radius: 1000px;
  background: var(--grey-600);
  transition: background 0.15s ease;
}

.intro-switch__track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-surface);
  transition: transform 0.15s ease;
}

.intro-switch__input:checked + .intro-switch__track {
  background: #4272dd;
}

.intro-switch__input:checked + .intro-switch__track::after {
  transform: translateX(12px);
}

.intro-switch__input:focus-visible + .intro-switch__track {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.intro-switch__label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.intro-screen > .color-field[data-color-token="tagline"] {
  max-width: none;
}

.contact-info {
  gap: 0;
}

.contact-info__options {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.contact-info__switch {
  align-items: flex-start;
  width: 100%;
}

.contact-info__switch-text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  min-width: 0;
}

.contact-info__switch-label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.contact-info__switch-label--inline .display-mode__help {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 2px;
}

.contact-info__staff-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.contact-info__staff-field {
  max-width: 376px;
}

.tag-field {
  width: 100%;
  min-height: 40px;
  padding: 8px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  box-sizing: border-box;
}

.tag-field.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.tag-field__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  border: 1px solid var(--grey-500);
  border-radius: 24px;
  background: var(--color-surface);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--grey-1000);
  white-space: nowrap;
}

.tag-chip__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
  flex-shrink: 0;
}

.tag-chip__remove svg {
  display: block;
  width: 16px;
  height: 16px;
}

.tag-chip__remove:hover {
  color: var(--text-primary);
}

.tag-field__input {
  flex: 1 1 120px;
  min-width: 80px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--grey-1000);
  outline: none;
}

.tag-field__input::placeholder {
  color: var(--grey-600);
}

.tag-field.is-disabled .tag-field__input {
  cursor: not-allowed;
}

.tag-chip__label {
  white-space: nowrap;
}

.field-row {
  margin-bottom: 0;
  min-width: 0;
  width: 100%;
}

.field-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
  margin-bottom: 4px;
}

select.field {
  width: 100%;
  height: var(--control-h);
  padding-left: 10px;
  padding-right: 10px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background-color: var(--color-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234c4b53'%3E%3Cpath d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  background-size: 20px 20px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-label);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

select.field:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: var(--text-muted);
}

.upload-zone {
  border: 1px dashed var(--grey-500);
  border-radius: var(--radius-sm);
  padding: 16px 12px;
  text-align: center;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 16px;
  background: var(--grey-200);
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.upload-zone.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.body-copy {
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
  margin: 0;
  font-weight: 400;
}

.body-copy.customer-comms-marketing__intro {
  flex-shrink: 0;
  max-width: 640px;
  margin: 0 8px 20px 6px;
  color: #1d1c20;
}

.body-copy-clamp {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.body-copy-clamp__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  width: 100%;
}

.body-copy-clamp__text .body-copy + .body-copy {
  margin-top: 0;
}

.body-copy-clamp.is-expanded .body-copy-clamp__text {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.body-copy-clamp.is-expanded .body-copy-clamp__text .body-copy + .body-copy {
  margin-top: 8px;
}

.body-copy-clamp__toggle {
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--brand-blue-900);
  cursor: pointer;
}

.body-copy-clamp__toggle:hover {
  text-decoration: underline;
}

.file-field label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
  margin-bottom: 4px;
}

.file-input-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.btn-ghost {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: var(--control-h);
  padding: 0 12px;
  vertical-align: middle;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  cursor: pointer;
  color: var(--text-label);
}

.btn-ghost:disabled {
  border-color: var(--grey-200);
  color: var(--grey-600);
  cursor: not-allowed;
}

.btn-ghost--has-file {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  max-width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.btn-ghost__filename {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.btn-ghost__clear {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm);
  font-size: 18px;
  line-height: 1;
  color: var(--text-muted);
  cursor: pointer;
}

.btn-ghost__clear:hover {
  background: var(--grey-200);
  color: var(--text-label);
}

.hint {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
}

.section-title {
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: var(--text-label);
  margin: 0;
  padding-top: 6px;
}

.palette-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
  --palette-surface-neutral: var(--main-surface-neutral);
  --palette-surface-neutral-variant: var(--main-surface-neutral-variant);
}

.palette-grid[data-preview-theme="dark"] {
  --palette-surface-neutral: #0a090b;
  --palette-surface-neutral-variant: #1d1c20;
}

/* Your Brand: independent light/dark surface tokens for palette + previews */
#main-view-your-brand {
  --brand-neutral-light: #f6f9fc;
  --brand-neutral-variant-light: #ffffff;
  --brand-neutral-dark: #0a090b;
  --brand-neutral-variant-dark: #1d1c20;
}

#main-view-your-brand .palette-grid[data-preview-theme="light"] {
  --palette-surface-neutral: var(--brand-neutral-light);
  --palette-surface-neutral-variant: var(--brand-neutral-variant-light);
}

#main-view-your-brand .palette-grid[data-preview-theme="dark"] {
  --palette-surface-neutral: var(--brand-neutral-dark);
  --palette-surface-neutral-variant: var(--brand-neutral-variant-dark);
}

#main-view-your-brand .preview-touchpoint-stack .phone[data-theme="light"] {
  --phone-header-neutral: var(--brand-neutral-light);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-light);
}

#main-view-your-brand .preview-touchpoint-stack .phone[data-theme="dark"] {
  --phone-header-neutral: var(--brand-neutral-dark);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-dark);
}

/* AI Lead Gen + Proposal are light-mode-only touchpoints */
#main-view-your-brand .preview-touchpoint-stack .phone--lead-gen-form,
#main-view-your-brand .preview-touchpoint-stack .phone--lead-gen-form[data-theme="dark"],
#main-view-your-brand .preview-touchpoint-stack .phone--proposal,
#main-view-your-brand .preview-touchpoint-stack .phone--proposal[data-theme="dark"],
#main-view-your-brand .preview-touchpoint-stack .phone--checkout,
#main-view-your-brand .preview-touchpoint-stack .phone--checkout[data-theme="dark"] {
  --phone-header-neutral: var(--brand-neutral-light);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-light);
  color-scheme: light;
}

/* Checkout Experience preview uses the same Brand Presence tokens */
#main-view-checkout-experience {
  --brand-neutral-light: #f6f9fc;
  --brand-neutral-variant-light: #ffffff;
  --brand-neutral-dark: #0a090b;
  --brand-neutral-variant-dark: #1d1c20;
}

#main-view-checkout-experience .preview-touchpoint-stack .phone--checkout,
#main-view-checkout-experience .preview-touchpoint-stack .phone--checkout[data-theme="dark"] {
  --phone-header-neutral: var(--brand-neutral-light);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-light);
  color-scheme: light;
}

/* Customer Post Sale App preview uses Brand Presence tokens (light + dark) */
#main-view-app-settings {
  --brand-neutral-light: #f6f9fc;
  --brand-neutral-variant-light: #ffffff;
  --brand-neutral-dark: #0a090b;
  --brand-neutral-variant-dark: #1d1c20;
}

#main-view-app-settings .preview-touchpoint-stack .phone[data-theme="light"] {
  --phone-header-neutral: var(--brand-neutral-light);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-light);
}

#main-view-app-settings .preview-touchpoint-stack .phone[data-theme="dark"] {
  --phone-header-neutral: var(--brand-neutral-dark);
  --phone-surface-neutral-variant: var(--brand-neutral-variant-dark);
}

.color-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  width: 100%;
}

.color-field > span {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
}

.color-field__input {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: var(--control-h);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  padding: 0 8px 0 8px;
  background: var(--color-surface);
  box-sizing: border-box;
}

.color-field__input input[type="text"] {
  border: none;
  flex: 1;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  color: var(--text-label);
  outline: none;
  min-width: 0;
  background: transparent;
}

.color-field__clear {
  width: 24px;
  height: 24px;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  display: none;
  place-items: center;
}

.color-field.is-customized .color-field__clear {
  display: grid;
}

.color-field__clear:hover {
  background: var(--grey-200);
  color: var(--text-label);
}

.swatch {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}

button.swatch--picker {
  padding: 0;
  margin: 0;
  appearance: none;
  cursor: pointer;
}

button.swatch--picker.is-active {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

button.swatch--primary.swatch--picker.is-active {
  outline-color: var(--main-primary);
}

button.swatch--secondary.swatch--picker.is-active {
  outline-color: var(--main-secondary);
}

button.swatch--tertiary.swatch--picker.is-active {
  outline-color: var(--main-tertiary);
}

button.swatch--error.swatch--picker.is-active {
  outline-color: var(--main-error);
}

button.swatch--neutral.swatch--picker.is-active {
  outline-color: var(--palette-surface-neutral);
}

button.swatch--neutral-variant.swatch--picker.is-active {
  outline-color: var(--palette-surface-neutral-variant);
}

button.swatch--tagline.swatch--picker.is-active {
  outline-color: var(--intro-tagline-color);
}

.color-picker-popover {
  position: fixed;
  z-index: 1000;
  padding: 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 24px rgba(10, 9, 11, 0.12);
}

.color-picker-popover[hidden] {
  display: none;
}

.color-picker-popover input[type="color"] {
  display: block;
  width: 220px;
  height: 160px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: transparent;
}

.swatch--primary {
  background: var(--main-primary);
}
.swatch--secondary {
  background: var(--main-secondary);
}
.swatch--tertiary {
  background: var(--main-tertiary);
}
.swatch--error {
  background: var(--main-error);
}
.swatch--neutral {
  background: var(--main-surface-neutral);
}
.swatch--neutral-variant {
  background: var(--main-surface-neutral-variant);
  box-shadow: inset 0 0 0 1px var(--grey-500);
}

.swatch--tagline {
  background: var(--intro-tagline-color);
}

.palette-grid .swatch--neutral {
  background: var(--palette-surface-neutral);
}

.palette-grid .swatch--neutral-variant {
  background: var(--palette-surface-neutral-variant);
}

.palette-grid[data-preview-theme="dark"] .swatch--neutral-variant {
  box-shadow: inset 0 0 0 1px #3c3e44;
}

#main-view-your-brand .color-field[data-surface-theme="light"] .swatch--neutral {
  background: var(--brand-neutral-light);
}

#main-view-your-brand .color-field[data-surface-theme="dark"] .swatch--neutral {
  background: var(--brand-neutral-dark);
}

#main-view-your-brand .color-field[data-surface-theme="light"] .swatch--neutral-variant {
  background: var(--brand-neutral-variant-light);
}

#main-view-your-brand .color-field[data-surface-theme="dark"] .swatch--neutral-variant {
  background: var(--brand-neutral-variant-dark);
  box-shadow: inset 0 0 0 1px #3c3e44;
}

.font-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
}

/* —— Preview —— */
.preview-col {
  flex: 1;
  min-width: 320px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 16px 20px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  box-sizing: border-box;
  overflow: hidden;
  container-type: inline-size;
  container-name: preview-col;
}

.preview-col__head {
  flex-shrink: 0;
  align-self: stretch;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
}

.main-view--your-brand .preview-col__head,
.main-view--app-settings .preview-col__head {
  min-height: 40px;
  align-items: center;
  justify-content: flex-start;
}

.main-view--your-brand .preview-col__title,
.main-view--app-settings .preview-col__title {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.main-view--your-brand .preview-col__head-actions,
.main-view--app-settings .preview-col__head-actions {
  margin-left: auto;
  flex-shrink: 0;
}

.main-view--your-brand .preview-tabber {
  flex: 0 1 auto;
  display: flex;
  justify-content: flex-end;
}

.preview-tabber {
  flex: 1;
  min-width: 0;
  max-width: 100%;
}

.preview-tabber__track {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px;
  border-radius: 55px;
  background: var(--grey-200);
  backdrop-filter: blur(4px);
  overflow-x: auto;
  scrollbar-width: none;
}

.preview-tabber__track::-webkit-scrollbar {
  display: none;
}

.preview-tabber__segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  margin: 0;
  padding: 6px 10px;
  border: none;
  border-radius: 55px;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
  cursor: pointer;
  white-space: nowrap;
}

.preview-tabber__segment:hover:not(.is-active) {
  color: var(--text-label);
}

.preview-tabber__segment.is-active {
  background: #fff;
  color: var(--brand-blue-900);
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
}

.preview-tabber__segment--rich {
  padding-right: 8px;
}

.preview-tabber__label {
  padding: 0 2px;
}

.preview-tabber__end {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.preview-tabber__icon {
  display: block;
  flex-shrink: 0;
  color: var(--text-muted);
}

.preview-tabber__segment.is-active .preview-tabber__icon {
  color: var(--brand-blue-900);
}

.preview-tabber__badge {
  display: inline-flex;
  align-items: center;
  height: 16px;
  padding: 0 8px;
  border-radius: 4px;
  background: var(--grey-300);
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: #3c3e44;
}

.preview-touchpoint-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.preview-touchpoint-stack > [data-preview-touchpoint-panel][hidden] {
  display: none !important;
}

.preview-touchpoint-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: min(340px, 100%);
  min-height: 320px;
  padding: 24px;
  border-radius: var(--radius-md);
  background: var(--grey-200);
  text-align: center;
}

.preview-touchpoint-placeholder__title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--text-label);
}

.preview-touchpoint-placeholder__copy {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
}

.main-view--your-brand .preview-col__phone-foot.is-hidden,
.main-view--your-brand .preview-col__phone-toolbar.is-hidden {
  display: none;
}

.main-view--your-brand .preview-col__phone-toolbar > .preview-col__phone-head.is-hidden,
.main-view--your-brand .preview-col__phone-toolbar > .preview-project-select.is-hidden {
  visibility: hidden;
  pointer-events: none;
}

.main-view--your-brand .preview-col__phone-toolbar,
.main-view--app-settings .preview-col__phone-toolbar {
  display: grid;
  place-items: center;
  width: min(340px, 100%);
  min-height: 36px;
  flex-shrink: 0;
}

.main-view--your-brand .preview-col__phone-toolbar > .preview-col__phone-head,
.main-view--your-brand .preview-col__phone-toolbar > .preview-project-select,
.main-view--app-settings .preview-col__phone-toolbar > .preview-col__phone-head {
  grid-area: 1 / 1;
  justify-self: center;
  width: fit-content;
  max-width: 100%;
}

.preview-project-select {
  display: flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  max-width: min(340px, 100%);
  flex-shrink: 0;
}

.preview-project-select__option {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  cursor: pointer;
}

.preview-project-select__option--project {
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}

.preview-project-select__option--project .preview-project-select__address-wrap {
  flex: 0 0 160px;
}

.preview-project-select__option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  flex-shrink: 0;
  border: 1.5px solid #adacb0;
  border-radius: 50%;
  background: var(--color-surface);
  cursor: pointer;
}

.preview-project-select__option input[type="radio"]:checked {
  border-color: var(--main-primary);
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--color-surface) 4px 6px
  );
}

.preview-project-select__option input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.preview-project-select__label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #0a090b;
  white-space: nowrap;
}

.preview-project-select__search {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  width: fit-content;
}

.preview-project-select__address-wrap {
  position: relative;
  flex: 0 0 160px;
  width: 160px;
  max-width: 160px;
}

.preview-project-select__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 8px;
  border: 1px solid #e4e4e7;
  border-radius: 6px;
  background: var(--color-surface);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #0a090b;
}

.preview-project-select__input::placeholder {
  color: #71717a;
}

.preview-project-select__input:disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 1;
  background: var(--color-surface);
  color: #71717a;
}

.preview-project-select__input:focus,
.preview-project-select__input:focus-visible {
  outline: none;
  border-color: #e4e4e7;
  box-shadow: none;
}

.preview-project-select__suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 20;
  width: 100%;
  min-width: 220px;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  border: 1px solid #e4e4e7;
  border-radius: 6px;
  background: var(--color-surface);
  box-shadow: 0 4px 12px rgba(10, 9, 11, 0.12);
  max-height: 168px;
  overflow-y: auto;
}

.preview-project-select__suggestions[hidden] {
  display: none;
}

.preview-project-select__suggestion {
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #0a090b;
  cursor: pointer;
}

.preview-project-select__suggestion:hover,
.preview-project-select__suggestion.is-active {
  background: #f4f4f5;
}

.preview-col__title {
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--text-label);
}

.preview-col__head-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.preview-col__close {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-label);
  cursor: pointer;
}

.preview-col__close:hover {
  background: var(--grey-200);
}

.sidebar-backdrop,
.preview-modal-backdrop {
  display: none;
}

.preview-col__phone-scroll {
  flex: 1;
  align-self: stretch;
  min-height: 0;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.main-view--your-brand .preview-col__phone-scroll,
.main-view--app-settings .preview-col__phone-scroll {
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding-top: 0;
  min-height: 0;
}

.main-view--your-brand .preview-touchpoint-stack,
.main-view--app-settings .preview-touchpoint-stack {
  flex: 0 0 auto;
}

.main-view--app-settings .preview-col__phone-scroll > .app-store-preview {
  flex: 0 0 auto;
}

.main-view--app-settings .preview-col.is-app-store-preview .preview-touchpoint-stack {
  display: none;
}

.main-view--app-settings .preview-col.is-app-store-preview .app-store-preview {
  flex: 1;
  align-self: stretch;
  justify-content: center;
}

.main-view--your-brand .preview-col__phone-foot:not(.is-hidden) {
  margin-top: auto;
  flex-shrink: 0;
}

.preview-col__phone-head,
.preview-col__phone-foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  flex-shrink: 0;
}

.main-view--your-brand .preview-col__phone-toolbar > .preview-col__phone-head,
.main-view--app-settings .preview-col__phone-toolbar > .preview-col__phone-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: fit-content;
}

.main-view--your-brand .preview-col__phone-head .theme-toggle,
.main-view--app-settings .preview-col__phone-head .theme-toggle {
  flex-shrink: 0;
}

.main-view--your-brand .preview-col__phone-foot .app-store-preview {
  flex: none;
  align-self: center;
}

.phone {
  position: relative;
  width: min(340px, 100%);
  height: 666px;
  min-height: 666px;
  flex-shrink: 0;
  zoom: 0.8;
  background: var(--color-surface);
  border-radius: var(--radius-phone);
  box-shadow: var(--shadow-phone);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--grey-500);
  font-family: var(--phone-font-body);
  --phone-header-neutral: #f6f9fc;
  --phone-surface-neutral-variant: #ffffff;
  --phone-info-video-top: 98px;
}

/* Figma variable mode: Amanecer Dark (main/* + text/* + icon/*) */
.phone[data-theme="dark"] {
  --main-surface-neutral: #0a090b;
  --main-surface-neutral-variant: #1d1c20;
  --phone-header-neutral: #0a090b;
  --phone-surface-neutral-variant: #1d1c20;
  --text-primary: #ffffff;
  --text-muted: #adacb0;
  --grey-300: #3c3e44;
  --grey-500: #3c3e44;
  --grey-600: #4c4b53;
  --color-surface: var(--main-surface-neutral-variant);
  --color-border: var(--grey-600);
  --color-border-light: #3c3e44;
  --shadow-phone: 0 8px 32px rgba(0, 0, 0, 0.45);
  color-scheme: dark;
}

.phone[data-theme="dark"] .phone-card__body p {
  color: var(--text-muted);
}

.phone[data-theme="dark"] .tag-row > span:not(.check):not(.pill-group) {
  color: var(--text-primary);
}

.phone[data-theme="dark"] .pill-muted {
  color: var(--text-muted);
}

.phone[data-theme="dark"] .pill-muted--error {
  color: var(--main-error);
}

.phone[data-theme="dark"] .phone__badge {
  color: var(--text-muted);
}

.phone[data-theme="dark"] .phone__tabbar {
  color: var(--text-muted);
}

.status-bar,
.phone__header {
  flex-shrink: 0;
  position: relative;
  z-index: 31;
}

.status-bar {
  height: 44px;
  background-color: var(--phone-surface-neutral-variant);
  position: relative;
}

.status-bar::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  width: 80px;
  height: 24px;
  border-radius: 12px;
  background: var(--grey-300);
}

.phone__header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px;
  gap: 8px;
  background: var(--phone-surface-neutral-variant);
}

.phone__logo {
  justify-self: start;
  max-width: 72px;
  display: flex;
  align-items: center;
}

.phone__logo-img {
  display: block;
  height: 20px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.phone[data-theme="dark"] [data-brand-logo].brand-logo--invert-on-dark,
.phone[data-preview-view="intro"] [data-brand-logo].brand-logo--invert-on-dark {
  filter: brightness(0) invert(1);
}

.phone__badge-wrap {
  justify-self: center;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
}

.phone__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 500;
  padding: 6px 6px 6px 12px;
  border-radius: 999px;
  line-height: 16px;
  white-space: nowrap;
}

.phone__badge-dismiss {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
}

.phone__badge-edit {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.phone__badge-edit[hidden] {
  display: none !important;
}

.phone__badge-edit .phone-edit-icon {
  display: block;
  width: 20px;
  height: 20px;
}

.phone-edit-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background-color: var(--main-primary);
  -webkit-mask-image: url("assets/icons/edit.svg");
  mask-image: url("assets/icons/edit.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.phone-account-card__edit-icon.phone-edit-icon {
  width: 24px;
  height: 24px;
}

.phone__badge-edit:hover {
  opacity: 0.72;
}

.phone__badge-edit:focus-visible {
  outline: 2px solid #4272dd;
  outline-offset: 2px;
  border-radius: 4px;
}

.phone__badge-dismiss[hidden] {
  display: none !important;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__badge-dismiss {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__badge-dismiss {
  display: none;
}

.phone__badge-dismiss:hover {
  opacity: 0.72;
}

.phone__header-end {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.phone__filter {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b6a76;
  cursor: pointer;
}

.phone__filter-icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone[data-theme="dark"] .phone__filter {
  color: #a8a7b0;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__filter {
  display: flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__menu,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__menu {
  display: none;
}

.phone__filter:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
  border-radius: 4px;
}

.phone__basket {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b6a76;
  cursor: pointer;
}

.phone__basket-icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone[data-theme="dark"] .phone__basket {
  color: #a8a7b0;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__basket {
  display: flex;
}

.phone__basket:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
  border-radius: 4px;
}

.phone__menu {
  --phone-menu-icon-height: 24px;
  --phone-menu-icon-width: calc(var(--phone-menu-icon-height) * 32.6 / 14.9);
  --phone-menu-icon-pad: 5px;
  flex-shrink: 0;
  align-self: center;
  box-sizing: border-box;
  width: calc(var(--phone-menu-icon-width) + var(--phone-menu-icon-pad) * 2);
  height: calc(var(--phone-menu-icon-height) + var(--phone-menu-icon-pad) * 2);
  border: none;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--text-muted);
  padding: var(--phone-menu-icon-pad);
  overflow: visible;
}

.phone__menu-icon {
  display: block;
  width: var(--phone-menu-icon-width);
  height: var(--phone-menu-icon-height);
  overflow: visible;
}

.phone__menu-bar {
  fill: #f3c41a;
  stroke: #f3c41a;
  stroke-width: 1.1;
  stroke-miterlimit: 10;
  transform-box: fill-box;
  transform-origin: center;
  transition:
    transform 220ms ease,
    opacity 180ms ease;
}

.phone.is-menu-open .phone__menu-bar--top {
  transform: translateY(6.1px) rotate(45deg);
}

.phone.is-menu-open .phone__menu-bar--mid {
  opacity: 0;
  transform: scaleX(0);
}

.phone.is-menu-open .phone__menu-bar--bot {
  transform: translateY(-6.1px) rotate(-45deg);
}

.phone-menu {
  position: absolute;
  top: var(--phone-menu-top, 97px);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  background: rgba(241, 241, 241, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-bottom-left-radius: var(--radius-phone);
  border-bottom-right-radius: var(--radius-phone);
  transform: translateX(100%);
  transition:
    transform 280ms ease,
    visibility 0s linear 280ms;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}

.phone.is-menu-open .phone-menu {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition:
    transform 280ms ease,
    visibility 0s linear 0s;
}

.phone:not([data-preview-view="full-app"]) .phone-menu,
.phone:not([data-preview-view="full-app"]).is-menu-open .phone-menu {
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
}

.phone[data-theme="dark"] .phone-menu {
  background: rgba(17, 17, 17, 0.55);
}

.phone-menu__nav {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px 8px;
  overflow-y: auto;
}

.phone-menu__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 20px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
  color: #3c3e44;
  font-family: var(--phone-font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
  opacity: 0;
  transform: translateX(28px);
}

.phone.is-menu-open .phone-menu__item {
  animation: phone-menu-item-in 650ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(1) {
  animation-delay: 120ms;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(2) {
  animation-delay: 220ms;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(3) {
  animation-delay: 320ms;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(4) {
  animation-delay: 420ms;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(5) {
  animation-delay: 520ms;
}

.phone.is-menu-open .phone-menu__nav .phone-menu__item:nth-child(6) {
  animation-delay: 620ms;
}

@keyframes phone-menu-item-in {
  from {
    opacity: 0;
    transform: translateX(28px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone-menu__item {
    opacity: 1;
    transform: none;
  }

  .phone.is-menu-open .phone-menu__item {
    animation: none;
  }
}

.phone-menu__item:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone[data-theme="dark"] .phone-menu__item {
  background: #18181b;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  color: #fff;
}

.phone-menu__item--ada .phone-menu__item-label {
  display: inline-block;
}

.phone-menu__item-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.phone__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
  background: var(--phone-header-neutral);
}

.phone__view--intro,
.phone__view--contact,
.phone__view--compliance,
.phone__view--account-settings,
.phone__view--system-settings,
.phone__view--ask-ada,
.phone__view--marketplace,
.phone__view--marketplace-products,
.phone__view--marketplace-product-detail {
  display: none;
}

.phone[data-preview-view="intro"] .phone__view--default,
.phone[data-preview-view="contact"] .phone__view--default {
  display: none;
}

.phone[data-preview-view="contact"] .phone__view--contact {
  display: block;
}

.phone-info-video {
  display: none;
  position: relative;
  flex: 1;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #18181b;
}

.phone-info-video__backdrop {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #18181b;
}

.phone-info-video__fallback {
  position: absolute;
  inset: 0;
  background:
    #000
    url("assets/media/intro-earth.jpg") center / cover no-repeat;
  opacity: 0.28;
}

.phone-info-video__el {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.phone-info-video__el:not([src]) {
  opacity: 0;
}

.phone-info-video__backdrop:has(.phone-info-video__el[src]) .phone-info-video__fallback {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] {
  position: relative;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 0;
  background: transparent;
  overflow: hidden;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__view--default {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__view--contact {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] > .phone-info-video {
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  top: var(--phone-info-video-top);
  bottom: 0;
  z-index: 0;
  flex: none;
  min-height: 0;
}

.phone-info-content {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: var(--phone-info-video-top);
  bottom: 0;
  z-index: 1;
  padding: 12px;
  overflow-y: auto;
  box-sizing: border-box;
  pointer-events: auto;
  --info-type-scale: 0.75;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] > .phone-info-content {
  display: block;
  padding-bottom: 88px;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] > .phone-info-content.is-keywords-complete {
  padding-bottom: 112px;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] > .phone-info-content:not(.is-keywords-complete) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.phone__view--current {
  display: none;
  --info-type-scale: 0.75;
}

.phone__view--current-monthly {
  display: none;
  --info-type-scale: 0.75;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px 12px 0;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--home-landing,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--home-energy,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--current-monthly,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--intro {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--current {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding-bottom: 12px;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"][data-current-savings-view="monthly"] .phone__view--current {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"][data-current-savings-view="monthly"] .phone__view--current-monthly {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding-bottom: 12px;
  box-sizing: border-box;
}

.phone-current-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
  width: 100%;
}

.phone-current-actions .phone-current-analytics-btn {
  margin-top: 0;
}

.phone__view--current-monthly .phone-info-monthly-list {
  gap: 8px;
}

.phone-info-charts-row {
  display: flex;
  gap: 10px;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.phone-info-charts-row::-webkit-scrollbar {
  display: none;
}

.phone-info-charts-row > .phone-info-charts-card {
  flex: 0 0 calc(100% - 28px);
  scroll-snap-align: start;
  align-self: stretch;
  min-width: 0;
  min-height: 100%;
}

.phone-info-charts-row .phone-info-charts-card--yearly {
  gap: calc(14px * var(--info-type-scale));
}

.phone-info-charts-row .phone-info-my-savings__body,
.phone-info-charts-row .phone-info-yearly__graph {
  flex: 1;
  min-height: 0;
}

.phone-info-charts-row .phone-info-my-savings__footer,
.phone-info-charts-row .phone-info-yearly__footer {
  margin-top: auto;
  flex-shrink: 0;
  min-height: 28px;
  padding-top: calc(14px * var(--info-type-scale));
}

.phone__view--current .phone-info-my-savings__header img {
  width: calc(22px * var(--info-type-scale) * 1.5);
  height: calc(22px * var(--info-type-scale) * 1.5);
}

.phone__view--current-monthly .phone-info-monthly-card__meta > img:first-child {
  width: calc(18px * var(--info-type-scale) * 1.5);
  height: calc(18px * var(--info-type-scale) * 1.5);
}

.phone-current-analytics-btn,
.phone-energy-stats__analytics-btn {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 4px;
  background: var(--main-primary, #4272dd);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-current-analytics-btn img,
.phone-current-analytics-btn svg,
.phone-energy-stats__analytics-btn img {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.phone-current-analytics-icon {
  width: 22px;
  height: 22px;
}

.phone-current-analytics-btn:focus-visible,
.phone-energy-stats__analytics-btn:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-current-actions .phone-current-analytics-btn {
  margin-top: 0;
}

.phone-current-analytics-btn--secondary {
  background: var(--main-secondary, #eea40f);
}

.phone-current-analytics-btn--secondary:focus-visible {
  outline-color: var(--main-secondary, #eea40f);
}

.phone__view--current-monthly .phone-info-monthly-card__month {
  font-size: calc(18px * var(--info-type-scale));
  line-height: calc(24px * var(--info-type-scale));
  letter-spacing: calc(-0.18px * var(--info-type-scale));
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="current"] > .phone-info-content {
  display: none;
}

.phone__view--profile {
  display: none;
  --info-type-scale: 0.75;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px 12px 0;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--home-landing,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--home-energy,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--intro {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] .phone__view--profile {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-bottom: 12px;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="profile"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="current"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__view--profile {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 4px 12px 8px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--default {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-height: 0;
  overflow: visible;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone-boost-stack {
  display: flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--home-landing,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--home-energy {
  display: none !important;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--intro {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--marketplace-products {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] .phone__view--contact {
  display: block;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="contact-us"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--contact {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--marketplace-products {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] .phone__view--compliance {
  display: block;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="compliance"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--contact {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--system-settings {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] .phone__view--account-settings {
  display: block;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="account-settings"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--account-settings {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] .phone__view--system-settings {
  display: block;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="system-settings"] > .phone-info-content {
  display: none;
}

.phone-system-settings {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 16px 24px;
  box-sizing: border-box;
  text-align: center;
}

.phone-system-settings__animation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 220px);
  height: 175px;
  flex-shrink: 0;
}

.phone-system-settings__animation svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 220px;
  max-height: 175px;
}

.phone-system-settings__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: calc(24px * var(--info-type-scale, 1));
  font-weight: 600;
  line-height: 1.2;
  color: var(--text-primary, #0a090b);
}

.phone-system-settings__copy {
  margin: 0;
  max-width: 100%;
  font-family: var(--phone-font-body);
  font-size: calc(13px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: 1.2;
  color: var(--text-muted, #6b6a76);
  white-space: nowrap;
}

.phone[data-theme="dark"] .phone-system-settings__title {
  color: #fff;
}

.phone[data-theme="dark"] .phone-system-settings__copy {
  color: rgba(255, 255, 255, 0.72);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 0;
  background: var(--phone-header-neutral);
  overflow: hidden;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--system-settings {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--marketplace-products {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__view--ask-ada {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  width: 100%;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-x: visible;
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--marketplace-products,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--marketplace-product-detail {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] .phone__view--marketplace {
  display: block;
  width: 100%;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 12px;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--marketplace-product-detail {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__view--marketplace-products {
  display: block;
  width: 100%;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__tabbar-wrap {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__back {
  display: inline-flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone__logo-img,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__logo-img {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__scroll {
  flex: 1;
  min-height: 0;
  padding: 0;
  background: var(--phone-header-neutral);
  overflow-y: auto;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--default,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--current,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--profile,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--intro,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--compliance,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--contact,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--account-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--system-settings,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--ask-ada,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--marketplace,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--marketplace-products {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__view--marketplace-product-detail {
  display: block;
  width: 100%;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] > .phone-info-video,
.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] > .phone-info-content {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__tabbar-wrap {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__back {
  display: inline-flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone__filter {
  display: none;
}

.phone-marketplace-pagination {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: stretch;
  padding: 12px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box;
  overflow: visible;
}

.phone[data-theme="dark"] .phone-marketplace-pagination {
  background: rgba(10, 9, 11, 0.24);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-products"] .phone-marketplace-pagination {
  display: flex;
}

.phone-marketplace-product-detail-bar {
  display: none;
  flex-shrink: 0;
  padding: 12px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail-bar {
  background: rgba(10, 9, 11, 0.24);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="marketplace-product-detail"] .phone-marketplace-product-detail-bar {
  display: block;
}

.phone-marketplace-product-detail-bar__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  background: var(--main-primary, #4272dd);
  font-family: var(--phone-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-marketplace-product-detail-bar__cta:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-marketplace-pagination__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 40px;
}

.phone-marketplace-pagination__ask-ada {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.phone-marketplace-pagination__ask-ada-avatar {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  object-fit: cover;
}

.phone-marketplace-pagination__ask-ada-label {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: #0a090b;
  white-space: nowrap;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__ask-ada-label {
  color: var(--text-primary);
}

.phone-marketplace-pagination__ask-ada:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
  border-radius: 6px;
}

.phone-marketplace-pagination__controls {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.phone-marketplace-pagination__range-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.phone-marketplace-pagination__range-dropdown {
  position: relative;
}

.phone-marketplace-pagination__range-menu {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 100%;
  padding: 4px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(10, 9, 11, 0.12);
  box-sizing: border-box;
}

.phone-marketplace-pagination__range-menu[hidden] {
  display: none;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__range-menu {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.32);
}

.phone-marketplace-pagination__range-option {
  display: flex;
  align-items: center;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #0a090b;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__range-option {
  color: var(--text-primary);
}

.phone-marketplace-pagination__range-option.is-active,
.phone-marketplace-pagination__range-option:hover {
  background: #f8f8f8;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__range-option.is-active,
.phone[data-theme="dark"] .phone-marketplace-pagination__range-option:hover {
  background: rgba(255, 255, 255, 0.08);
}

.phone-marketplace-pagination__range-option:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: -2px;
}

.phone-marketplace-pagination__range-dropdown.is-open .phone-marketplace-pagination__range-icon {
  transform: rotate(180deg);
}

.phone-marketplace-pagination__range {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 36px;
  margin: 0;
  padding: 6px 6px 6px 12px;
  border: none;
  border-radius: 4px;
  background: #f8f8f8;
  cursor: pointer;
  font: inherit;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__range {
  background: rgba(255, 255, 255, 0.08);
}

.phone-marketplace-pagination__range-label {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #0a090b;
  white-space: nowrap;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__range-label {
  color: var(--text-primary);
}

.phone-marketplace-pagination__range-icon {
  display: block;
  width: 24px;
  height: 24px;
  color: #6b6a76;
  transition: transform 0.15s ease;
}

.phone-marketplace-pagination__of {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #4c4b53;
  white-space: nowrap;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__of {
  color: var(--text-muted);
}

.phone-marketplace-pagination__total {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #0a090b;
  white-space: nowrap;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__total {
  color: var(--text-primary);
}

.phone-marketplace-pagination__nav {
  display: flex;
  align-items: center;
  gap: 10px;
}

.phone-marketplace-pagination__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
  color: #6b6a76;
  cursor: pointer;
}

.phone[data-theme="dark"] .phone-marketplace-pagination__nav-btn {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
  color: #a8a7b0;
}

.phone-marketplace-pagination__nav-icon {
  display: block;
  width: 20px;
  height: 20px;
}

.phone-marketplace-pagination__nav-btn:disabled {
  opacity: 0.45;
  cursor: default;
}

.phone-marketplace-pagination__range:focus-visible,
.phone-marketplace-pagination__nav-btn:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-ask-ada__panel {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  margin: 12px 12px 0;
  padding: 6px;
  background: transparent;
  box-sizing: border-box;
}

.phone-ask-ada__conversation {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
}

.phone-ask-ada__row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.phone-ask-ada__row--ada {
  align-self: flex-start;
}

.phone-ask-ada__row--user {
  justify-content: flex-end;
  align-self: stretch;
}

.phone-ask-ada__avatar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #fff;
  color: #1d1c20;
  font-family: var(--phone-font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.5px;
}

.phone[data-theme="dark"] .phone-ask-ada__avatar {
  background: rgba(255, 255, 255, 0.12);
  color: var(--text-primary);
}

.phone-ask-ada__bubble {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.phone-ask-ada__bubble--ada {
  width: fit-content;
  max-width: min(320px, calc(100% - 38px));
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  color: #1d1c20;
  word-break: break-word;
}

.phone[data-theme="dark"] .phone-ask-ada__bubble--ada {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
  color: var(--text-primary);
}

.phone-ask-ada__quick-replies {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
  width: 100%;
}

.phone-ask-ada__bubble--user {
  align-self: flex-end;
  width: fit-content;
  max-width: min(320px, calc(100% - 16px));
  padding: 12px 14px;
  border: 1px solid #859bca;
  border-radius: 6px;
  background: var(--main-primary, #4272dd);
  color: #fff;
  text-align: left;
  word-break: break-word;
  font: inherit;
  cursor: pointer;
}

.phone-ask-ada__bubble--user[data-sent="true"] {
  cursor: default;
}

.phone-ask-ada__composer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  padding: 16px 20px;
  border-top: 1px solid #ddd;
  background: color-mix(in srgb, var(--phone-surface-neutral-variant, #fff) 92%, transparent);
  backdrop-filter: blur(4px);
}

.phone[data-theme="dark"] .phone-ask-ada__composer {
  background: color-mix(in srgb, var(--phone-surface-neutral-variant) 92%, transparent);
  border-top-color: var(--grey-600, #3c3e44);
}

.phone-ask-ada__composer-input {
  flex: 1;
  min-width: 0;
  min-height: 24px;
  max-height: 96px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  resize: none;
  overflow-y: auto;
  color: var(--text-primary, #1d1c20);
  font-family: var(--phone-font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.phone-ask-ada__composer-input::placeholder {
  color: #dcdcde;
}

.phone[data-theme="dark"] .phone-ask-ada__composer-input {
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-ask-ada__composer-input::placeholder {
  color: color-mix(in srgb, var(--text-muted) 42%, transparent);
}

.phone-ask-ada__composer-input:focus {
  outline: none;
}

.phone-ask-ada__composer-input:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

.phone-ask-ada__composer-actions {
  display: flex;
  flex-shrink: 0;
  gap: 20px;
  align-items: center;
}

.phone-ask-ada__composer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--main-primary, #1751d0);
  cursor: pointer;
}

.phone-ask-ada__composer-icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone-ask-ada__composer-btn:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-account-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 24px;
  border-radius: 8px;
  background: var(--phone-surface-neutral-variant, #fff);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-account-card {
  background: var(--phone-surface-neutral-variant);
}

.phone-account-card__profile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.phone-account-card__edit {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--main-primary);
  cursor: pointer;
}

.phone-account-card__save {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 4px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--main-primary);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
}

.phone-account-card__save:focus-visible,
.phone-account-card__edit:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-account-card__edit-icon,
.phone-account-card__cancel-icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone-account-card__cancel-icon {
  display: none;
}

.phone-account-card.is-editing .phone-account-card__save {
  display: inline-flex;
}

.phone-account-card.is-editing .phone-account-card__edit-icon {
  display: none;
}

.phone-account-card.is-editing .phone-account-card__cancel-icon {
  display: block;
}

.phone-account-card.is-editing .phone-account-card__name,
.phone-account-card.is-editing .phone-account-card__value-chip {
  display: none;
}

.phone-account-card.is-editing .phone-account-card__name-input,
.phone-account-card.is-editing .phone-account-card__value-input {
  display: inline-flex;
}

.phone-account-card__name-input {
  width: auto;
  min-width: 0;
  max-width: 100%;
  padding: 0 4px 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  outline: none;
}

.phone-account-card__name-input:focus {
  outline: 1px solid rgba(255, 255, 255, 0.6);
  outline-offset: 2px;
}

.phone-account-card__value-input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 32px;
  padding: 4px 8px;
  border: 1px solid var(--main-primary);
  border-radius: 4px;
  background: #fff;
  color: #3c3e44;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  outline: none;
}

.phone[data-theme="dark"] .phone-account-card__value-input {
  background: var(--phone-surface-neutral-variant);
  color: var(--text-primary);
}

.phone-account-card__value-input:focus {
  outline: 2px solid color-mix(in srgb, var(--main-primary) 35%, transparent);
  outline-offset: 1px;
}

.phone-account-card__avatar-wrap {
  position: relative;
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 124px;
  height: 124px;
  border-radius: 999px;
  overflow: hidden;
}

.phone-account-card:not(.is-editing) .phone-account-card__avatar-wrap {
  pointer-events: none;
  cursor: default;
}

.phone-account-card__avatar {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
}

.phone-account-card__avatar-input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}

.phone-account-card:not(.is-editing) .phone-account-card__avatar-input {
  pointer-events: none;
}

.phone-account-card__avatar-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 999px;
  background: rgba(10, 9, 11, 0.45);
  color: #ffffff;
  font-family: var(--phone-font-body);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  pointer-events: none;
}

.phone-account-card.is-editing .phone-account-card__avatar-wrap {
  cursor: pointer;
}

.phone-account-card.is-editing .phone-account-card__avatar-overlay {
  display: flex;
}

.phone-account-card.is-editing .phone-account-card__avatar-wrap:focus-within {
  outline: 2px solid var(--main-primary);
  outline-offset: 3px;
}

.phone-account-card__name-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  min-height: 32px;
  padding: 4px;
  border-radius: 4px;
  background: var(--main-primary);
}

.phone-account-card__initials {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--main-primary) 55%, black);
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
}

.phone-account-card__name {
  padding-right: 4px;
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
}

.phone-account-card__fields {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.phone-account-card__field {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.phone-account-card__label {
  margin: 0;
  color: #6b6a76;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
}

.phone[data-theme="dark"] .phone-account-card__label {
  color: var(--text-muted);
}

.phone-account-card__value-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 32px;
  padding: 4px 8px;
  border-radius: 4px;
  background: #f8f8f8;
  color: #3c3e44;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  word-break: break-word;
}

.phone[data-theme="dark"] .phone-account-card__value-chip {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}

.phone-marketplace-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.phone-marketplace-house {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-bottom: 34px;
}

.phone-marketplace-house__viewer {
  position: relative;
  width: calc(100% + 20px);
  max-width: none;
  margin: 0 -10px;
  overflow: visible;
  border-radius: 16px;
  background: var(--phone-header-neutral);
  outline: none;
}

.phone-marketplace-house__canvas {
  display: block;
  width: 100%;
  border-radius: 16px;
}

.phone-marketplace-house__touchpoints {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.phone-marketplace-house__touchpoint {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-12px, -50%);
}

.phone-marketplace-house__touchpoint-pin {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.phone-marketplace-house__touchpoint-label {
  flex-shrink: 0;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--main-primary, #08aee0) 82%, transparent);
  font-family: var(--phone-font-body);
  font-size: 11px;
  font-weight: 600;
  line-height: 14px;
  color: #ffffff;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(10, 9, 11, 0.08);
}

.phone[data-theme="dark"] .phone-marketplace-house__touchpoint-label {
  background: color-mix(in srgb, var(--main-primary, #08aee0) 82%, transparent);
  color: #ffffff;
}

.phone-marketplace-house__touchpoint-ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 2px solid rgba(17, 59, 152, 0.35);
  animation: phone-marketplace-house-touch-pulse 2s ease-out infinite;
}

.phone-marketplace-house__touchpoint-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #113b98;
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 8px rgba(10, 9, 11, 0.18);
}

.phone-marketplace-house__touchpoint:focus-visible {
  outline: none;
}

.phone-marketplace-house__touchpoint:focus-visible .phone-marketplace-house__touchpoint-pin {
  outline: 2px solid #113b98;
  outline-offset: 2px;
  border-radius: 999px;
}

@keyframes phone-marketplace-house-touch-pulse {
  0% {
    transform: scale(0.72);
    opacity: 0.9;
  }

  70%,
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

.phone-marketplace-house__status {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 500;
  color: #6b6a76;
  pointer-events: none;
  text-align: center;
}

.phone-marketplace-house__status[hidden] {
  display: none;
}

.phone-marketplace-house__status--error {
  max-width: min(90%, 280px);
  line-height: 1.45;
  color: #c0392b;
  white-space: pre-wrap;
}

.phone-marketplace-house__controls {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  padding: 8px 0 10px;
}

.phone-marketplace-house__controls-label {
  display: block;
  width: 72%;
  margin: 0 auto;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
}

.phone-marketplace-house__controls-slider {
  display: block;
  width: 72%;
  margin: 0 auto;
  accent-color: var(--main-primary, #4272dd);
  cursor: pointer;
}

.phone-marketplace-category {
  overflow: hidden;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-category {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
}

.phone-marketplace-category__head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 64px;
  margin: 0;
  padding: 8px;
  border: none;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  font: inherit;
}

.phone-marketplace-category__media {
  display: block;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}

.phone-marketplace-category__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.phone-marketplace-category__title {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--phone-font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: #0a090b;
}

.phone[data-theme="dark"] .phone-marketplace-category__title {
  color: var(--text-primary);
}

.phone-marketplace-category__chevron {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

.phone-marketplace-category__chevron img {
  display: block;
  width: 24px;
  height: 24px;
  transform: rotate(-90deg);
  transition: transform 0.2s ease;
}

.phone:not([data-theme="dark"]) .phone-marketplace-category__chevron img {
  filter: brightness(0) saturate(100%);
}

.phone[data-theme="dark"] .phone-marketplace-category__chevron img {
  filter: brightness(0) invert(1);
}

.phone-marketplace-category.is-expanded .phone-marketplace-category__chevron img {
  transform: rotate(0deg);
}

.phone-marketplace-category__head:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: -2px;
}

.phone-marketplace-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.phone-marketplace-product {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
}

.phone-marketplace-product__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 129px;
  padding: 6px;
  box-sizing: border-box;
}

.phone-marketplace-product__image {
  display: block;
  width: 100%;
  max-height: 117px;
  object-fit: contain;
}

.phone-marketplace-product__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 12px;
  border-top: 1px solid #dcdcdc;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product__body {
  border-top-color: var(--grey-600, #3c3e44);
}

.phone-marketplace-product__brand {
  display: flex;
  align-items: center;
}

.phone-marketplace-product__brand-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  height: 28px;
  padding: 0 9px;
  background: #f8f8f8;
  font-family: var(--phone-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #0a090b;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product__brand-placeholder {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}

.phone-marketplace-product__details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  min-width: 0;
}

.phone-marketplace-product__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #0a090b;
}

.phone[data-theme="dark"] .phone-marketplace-product__title {
  color: var(--text-primary);
}

.phone-marketplace-product__description,
.phone-marketplace-product__specs {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--phone-font-body);
  color: #4c4b53;
}

.phone-marketplace-product__description {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}

.phone-marketplace-product__specs {
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
}

.phone[data-theme="dark"] .phone-marketplace-product__description,
.phone[data-theme="dark"] .phone-marketplace-product__specs {
  color: var(--text-muted);
}

.phone-marketplace-product__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 26px;
  margin: 0;
  padding: 4px 8px;
  border: none;
  border-radius: 3px;
  background: var(--main-primary, #4272dd);
  font-family: var(--phone-font-body);
  font-size: 11px;
  font-weight: 500;
  line-height: 15px;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-marketplace-product__cta:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-marketplace-product-detail {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-bottom: 8px;
  box-sizing: border-box;
}

.phone-marketplace-product-detail__hero {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 220px;
  padding: 16px;
  background: #fff;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__hero {
  background: var(--phone-surface-neutral-variant);
}

.phone-marketplace-product-detail__image {
  display: block;
  width: 100%;
  max-width: 280px;
  max-height: 200px;
  object-fit: contain;
}

.phone-marketplace-product-detail__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  padding: 16px 18px 12px;
  box-sizing: border-box;
}

.phone-marketplace-product-detail__brand {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b6a76;
}

.phone-marketplace-product-detail__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  color: #0a090b;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__title {
  color: var(--text-primary);
}

.phone-marketplace-product-detail__sku {
  margin: -8px 0 0;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  color: #6b6a76;
}

.phone-marketplace-product-detail__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0;
}

.phone-marketplace-product-detail__price-value {
  font-family: var(--phone-font-body);
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  color: var(--main-primary, #4272dd);
}

.phone-marketplace-product-detail__price-unit {
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  color: #6b6a76;
}

.phone-marketplace-product-detail__highlights {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 12px;
  border-radius: 8px;
  background: #f8f8f8;
  list-style: none;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__highlights {
  background: rgba(255, 255, 255, 0.06);
}

.phone-marketplace-product-detail__highlights li {
  position: relative;
  padding-left: 14px;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  color: #0a090b;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__highlights li {
  color: var(--text-primary);
}

.phone-marketplace-product-detail__highlights li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--main-primary, #4272dd);
}

.phone-marketplace-product-detail__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.phone-marketplace-product-detail__section-title {
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #dcdcdc;
  font-family: var(--phone-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  color: #0a090b;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__section-title {
  border-bottom-color: var(--grey-600, #3c3e44);
  color: var(--text-primary);
}

.phone-marketplace-product-detail__copy {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #4c4b53;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__copy {
  color: var(--text-muted);
}

.phone-marketplace-product-detail__specs {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.phone-marketplace-product-detail__spec {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #ececec;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__spec {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.phone-marketplace-product-detail__spec dt {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  color: #6b6a76;
}

.phone-marketplace-product-detail__spec dd {
  flex-shrink: 0;
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  color: #0a090b;
  text-align: right;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__spec dd {
  color: var(--text-primary);
}

.phone-marketplace-product-detail__docs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 8px;
}

.phone-marketplace-product-detail__doc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  background: #fff;
  font: inherit;
  color: #0a090b;
  cursor: pointer;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-marketplace-product-detail__doc {
  border-color: var(--grey-600, #3c3e44);
  background: var(--phone-surface-neutral-variant);
  color: var(--text-primary);
}

.phone-marketplace-product-detail__doc-label {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.phone-marketplace-product-detail__doc svg {
  flex-shrink: 0;
  color: #6b6a76;
}

.phone-marketplace-product-detail__doc:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-compliance-docs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  padding: 6px;
  border-radius: 4px;
  background: #fff;
  box-sizing: border-box;
}

.phone-compliance-doc {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 0;
  padding: 4px 8px 4px 4px;
  border: 1px solid #f1f1f1;
  border-radius: 4px;
  background: #fafafa;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-compliance-docs {
  background: var(--phone-surface-neutral-variant);
}

.phone[data-theme="dark"] .phone-compliance-doc {
  border-color: var(--color-border-light);
  background: #18181b;
}

.phone-compliance-doc__chip {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: 4px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--main-primary) 12%, #fff);
}

.phone[data-theme="dark"] .phone-compliance-doc__chip {
  background: color-mix(in srgb, var(--main-primary) 18%, transparent);
}

.phone-compliance-doc__chip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border-radius: 4px;
  background: #fff;
}

.phone[data-theme="dark"] .phone-compliance-doc__chip-inner {
  background: var(--main-surface-neutral-variant);
}

.phone-compliance-doc__chip-inner img,
.phone-compliance-doc__type-icon {
  display: block;
  width: 20px;
  height: 20px;
  color: var(--main-primary);
}

.phone-compliance-doc__content {
  flex: 1;
  min-width: 0;
  padding: 2px 4px;
}

.phone-compliance-doc__filename {
  margin: 0;
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--main-primary);
}

.phone-compliance-doc__meta {
  margin: 0;
  overflow: hidden;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.phone-compliance-doc__action {
  font-weight: 500;
  color: #4c4b53;
}

.phone[data-theme="dark"] .phone-compliance-doc__action {
  color: var(--text-muted);
}

.phone-compliance-doc__by {
  font-weight: 400;
  color: var(--text-primary);
}

.phone-compliance-doc__author {
  font-weight: 600;
  color: var(--text-primary);
}

.phone-compliance-doc__date {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #6b6a76;
}

.phone[data-theme="dark"] .phone-compliance-doc__date {
  color: var(--text-muted);
}

.phone-compliance-doc__view {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b6a76;
  cursor: pointer;
}

.phone[data-theme="dark"] .phone-compliance-doc__view {
  color: var(--text-primary);
}

.phone-compliance-doc__view img,
.phone-compliance-doc__view-icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone-compliance-viewer {
  position: absolute;
  inset: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  background: var(--phone-surface-neutral-variant, #fff);
  border-radius: inherit;
  overflow: hidden;
}

.phone-compliance-viewer[hidden] {
  display: none;
}

.phone-compliance-viewer__header {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-height: 48px;
  padding: 8px 8px 8px 12px;
  border-bottom: 1px solid var(--grey-500, #e6e6e6);
  box-sizing: border-box;
}

.phone-compliance-viewer__title {
  flex: 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--text-primary, #1d1c20);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-compliance-viewer__close,
.phone-compliance-viewer__download {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 4px;
  color: var(--main-primary);
}

.phone-compliance-viewer__close {
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.phone-compliance-viewer__download {
  text-decoration: none;
}

.phone-compliance-viewer__icon {
  display: block;
  width: 24px;
  height: 24px;
}

.phone-compliance-viewer__close:focus-visible,
.phone-compliance-viewer__download:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-compliance-viewer__body {
  flex: 1;
  min-height: 0;
  background: #525252;
}

.phone-compliance-viewer__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}

.phone[data-theme="dark"] .phone-compliance-viewer {
  background: var(--main-surface-neutral-variant, #1d1c20);
}

.phone[data-theme="dark"] .phone-compliance-viewer__header {
  border-bottom-color: var(--grey-600, #3c3e44);
}

.phone[data-theme="dark"] .phone-compliance-viewer__title {
  color: var(--text-primary, #fff);
}

.phone-referral {
  --referral-card-bg: #000;
  --referral-card-border: #3f3f46;
  --referral-text: #fff;
  display: flex;
  flex-direction: column;
  gap: calc(12px * var(--info-type-scale));
  width: 100%;
}

.phone:not([data-theme="dark"]) .phone-referral {
  --referral-card-bg: var(--phone-surface-neutral-variant);
  --referral-card-border: var(--color-border-light);
  --referral-text: var(--text-primary);
}

.phone-referral__card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: calc(28px * var(--info-type-scale));
  border: 1px solid var(--referral-card-border);
  border-radius: 12px;
  background: var(--referral-card-bg);
  overflow: hidden;
  box-sizing: border-box;
  color: var(--referral-text);
}

.phone-referral__card-texture {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #000;
  pointer-events: none;
}

.phone[data-theme="dark"] .phone-referral__card-texture {
  display: block;
}

.phone:not([data-theme="dark"]) .phone-referral__card-texture {
  display: none;
}

.phone-referral__card-texture::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url("assets/media/referral/card-texture.png") center / cover no-repeat;
  opacity: 0.28;
}

.phone-referral__card-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(16px * var(--info-type-scale));
  width: 100%;
}

.phone-referral__title {
  margin: 0;
  font-size: calc(20px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(22px * var(--info-type-scale));
  letter-spacing: calc(-0.2px * var(--info-type-scale));
  color: var(--referral-text);
}

.phone-referral__earnings {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.phone-referral__earnings-label {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(18px * var(--info-type-scale));
  color: var(--referral-text);
}

.phone-referral__earnings-value {
  margin: 0;
  font-size: calc(44px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(50px * var(--info-type-scale));
  letter-spacing: calc(-0.44px * var(--info-type-scale));
  color: #15b94e;
}

.phone-referral__code {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(20px * var(--info-type-scale));
  width: 100%;
  padding-top: calc(16px * var(--info-type-scale));
}

.phone-referral__qr {
  display: block;
  width: calc(184px * var(--info-type-scale));
  height: calc(184px * var(--info-type-scale));
  object-fit: cover;
}

.phone:not([data-theme="dark"]) .phone-referral__qr {
  filter: invert(1);
}

.phone-referral__wallet {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: calc(4px * var(--info-type-scale)) 0;
}

.phone-referral__wallet img {
  display: block;
  width: calc(132px * var(--info-type-scale));
  height: auto;
}

.phone-referral__analytics-btn,
.phone-referral__share-btn {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 45px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 4px;
  font-family: var(--phone-font-body);
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-referral__analytics-btn {
  background: var(--main-secondary, #eea40f);
}

.phone-referral__share-btn {
  background: var(--main-primary, #4272dd);
}

.phone-referral__share-btn img,
.phone-referral__analytics-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.phone-referral__analytics-btn:focus-visible {
  outline: 2px solid var(--main-secondary, #eea40f);
  outline-offset: 2px;
}

.phone-referral__share-btn:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-info-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.phone-info-content:not(.is-keywords-complete) .phone-info-cards {
  display: none;
}

.phone-info-keywords {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 8px;
  box-sizing: border-box;
}

.phone-info-keywords__cloud {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  max-height: 488px;
  width: 100%;
  overflow: hidden;
}

.phone-info-keywords__prompt {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  margin: 0 0 10px;
  padding: 8px 12px;
  min-height: calc(80px * var(--info-type-scale, 1));
  background: rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  color: #fff;
  font-size: calc(22px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}

.phone-info-keywords__chip-field {
  position: relative;
  flex: 1;
  min-height: 0;
  width: 100%;
}

.phone-info-keywords__cloud.is-drifting .phone-info-keywords__chip {
  will-change: left, top;
}

.phone-info-keywords__chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 41px;
  padding: 5px 13px;
  margin: 0;
  border: none;
  border-radius: 4px;
  background: #6b6a76;
  color: #fff;
  font-family: inherit;
  font-size: calc(16px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.phone-info-keywords__chip[data-keyword-selectable] {
  cursor: pointer;
}

.phone-info-keywords__chip[data-keyword-selectable]:focus-visible {
  outline: 2px solid #4272dd;
  outline-offset: 2px;
}

.phone-info-keywords__chip.is-selected {
  background: #4272dd;
}

.phone-info-keywords__chip--static {
  opacity: 0.55;
  pointer-events: none;
}

.phone-info-keywords__chip sub {
  font-size: 0.65em;
  vertical-align: baseline;
  position: relative;
  bottom: -0.15em;
}

.phone-info-keywords__done {
  flex-shrink: 0;
  align-self: center;
  width: auto;
  min-height: 0;
  margin-top: 4px;
  padding: 8px 4px;
  border: none;
  border-radius: 0;
  background: none;
  color: rgba(255, 255, 255, 0.4);
  font-family: inherit;
  font-size: calc(20px * var(--info-type-scale, 1));
  font-weight: 500;
  line-height: 1.2;
  cursor: not-allowed;
  -webkit-tap-highlight-color: transparent;
}

.phone-info-keywords__done:disabled {
  opacity: 1;
}

.phone-info-keywords__done.is-ready {
  background: none;
  color: var(--main-primary);
  cursor: pointer;
}

.phone-info-keywords__done.is-ready:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-info-content.is-keywords-complete .phone-info-keywords {
  display: none;
}

.phone-info-content.is-keywords-complete .phone-info-cards {
  display: flex;
}

.phone-info-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  box-sizing: border-box;
  touch-action: pan-y;
  cursor: grab;
}

.phone-info-card.is-holding,
.phone-info-card.is-dragging {
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.32);
  transform: scale(1.05) rotate(-2deg);
  transform-origin: center center;
  transition: transform 0.16s cubic-bezier(0.34, 1.4, 0.64, 1), box-shadow 0.16s ease;
}

.phone-info-card.is-holding {
  z-index: 2;
  cursor: grabbing;
  touch-action: none;
  user-select: none;
}

.phone-info-card.is-dragging {
  z-index: 5;
  cursor: grabbing;
  touch-action: none;
  user-select: none;
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-card.is-holding,
  .phone-info-card.is-dragging {
    transform: scale(1.02);
    transition: none;
  }
}

.phone-info-card__reorder-placeholder {
  flex-shrink: 0;
  border: 1.5px dashed rgba(255, 255, 255, 0.35);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  box-sizing: border-box;
  pointer-events: none;
}

.phone[data-theme="dark"] .phone-info-card {
  border-color: rgba(0, 0, 0, 0.5);
}

.phone-info-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  text-align: left;
  font: inherit;
}

button.phone-info-card__head {
  cursor: pointer;
}

.phone-info-card__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: calc(20px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(22px * var(--info-type-scale));
  letter-spacing: calc(-0.2px * var(--info-type-scale));
  color: #fff;
}

.phone-info-card__chevron {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  transition: transform 0.2s ease;
}

.phone-info-card.is-expanded .phone-info-card__chevron {
  transform: rotate(180deg);
}

.phone-info-card__value {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: calc(48px * var(--info-type-scale));
  font-weight: 600;
  line-height: 1;
  letter-spacing: calc(-0.48px * var(--info-type-scale));
  color: #fff;
}

.phone-info-card__value-row {
  display: flex;
  align-items: center;
  gap: calc(16px * var(--info-type-scale));
  width: 100%;
}

.phone-info-card__value-row .phone-info-card__value {
  flex-shrink: 0;
}

.phone-info-card__value-bar {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  height: calc(20px * var(--info-type-scale));
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}

.phone[data-theme="dark"] .phone-info-card__value-bar {
  background: rgba(10, 9, 11, 0.12);
}

.phone-info-card__value-bar-fill {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: var(--main-secondary);
  transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-card__value-bar-fill {
    transition: none;
  }
}

.phone-info-card__expand {
  display: none;
  flex-direction: column;
  gap: calc(18px * var(--info-type-scale));
  margin-top: 8px;
  padding: 2px 4px 0;
}

.phone-info-card.is-expanded .phone-info-card__expand {
  display: flex;
}

.phone-info-card__expand[hidden] {
  display: none !important;
}

/* Keyword insight cards — Figma variants */
.phone-info-card--new-deals {
  gap: 6px;
  background: var(--phone-surface-neutral-variant, #fff);
  border-color: rgba(255, 255, 255, 0.55);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--text-primary, #3c3e44);
  overflow: hidden;
}

.phone[data-theme="dark"] .phone-info-card--new-deals {
  background: var(--phone-surface-neutral-variant, #1d1c20);
  border-color: var(--color-border-light, #3c3e44);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #fff;
}

.phone-info-card--weather,
.phone-info-card--co2,
.phone-info-card--production,
.phone-info-card--solar-news {
  gap: 6px;
}

.phone-info-card--weather .phone-info-card__title,
.phone-info-card--co2 .phone-info-card__title,
.phone-info-card--production .phone-info-card__title,
.phone-info-card--solar-news .phone-info-card__title {
  font-size: calc(17.5px * var(--info-type-scale, 1));
  font-weight: 600;
  line-height: calc(19px * var(--info-type-scale, 1));
  letter-spacing: calc(-0.175px * var(--info-type-scale, 1));
}

.phone-info-card__head--with-icon {
  justify-content: flex-start;
  gap: 6px;
}

.phone-info-card__head-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.phone-info-card__outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-height: 28px;
  padding: 0 8px;
  border: 1.5px solid var(--main-primary, #08aee0);
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: calc(12px * var(--info-type-scale, 1));
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.phone-info-card__outline-btn:focus-visible {
  outline: 2px solid var(--main-primary, #08aee0);
  outline-offset: 2px;
}

.phone-info-card__outline-btn--filled {
  background: var(--main-primary, #08aee0);
  border-color: var(--main-primary, #08aee0);
  color: #fff;
}

.phone-info-card__outline-btn--filled:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* New Deals */
.phone-info-deal {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  min-height: 74px;
}

.phone-info-deal__media {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.phone-info-deal__roundel {
  position: absolute;
  left: -27px;
  top: -29px;
  width: 103px;
  height: 103px;
}

.phone-info-deal__badge-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.phone-info-deal__badge-label {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 95px;
  margin: 0;
  transform: translate(-50%, -50%) rotate(-12deg);
  font-size: calc(16.7px * var(--info-type-scale, 1));
  font-weight: 600;
  line-height: calc(19.5px * var(--info-type-scale, 1));
  text-align: center;
  color: #fff;
}

.phone-info-deal__image {
  position: absolute;
  left: 72px;
  top: -15px;
  display: block;
  width: 89px;
  height: 89px;
  border-radius: 8px;
  object-fit: cover;
}

.phone-info-deal__copy {
  display: flex;
  flex: 0 1 175px;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  min-width: 0;
  gap: 12px;
}

.phone-info-deal__text {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: calc(20px * var(--info-type-scale, 1));
  color: inherit;
}

.phone-info-deal__copy .phone-info-card__outline-btn {
  align-self: flex-end;
}

/* Weather */
.phone-info-weather__current {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.phone-info-weather__temp {
  font-size: calc(35px * var(--info-type-scale, 1));
  line-height: calc(38px * var(--info-type-scale, 1));
  letter-spacing: calc(-0.35px * var(--info-type-scale, 1));
}

.phone-info-weather__deg {
  font-size: calc(22.5px * var(--info-type-scale, 1));
}

.phone-info-weather__summary {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: calc(20px * var(--info-type-scale, 1));
  color: #fff;
}

.phone-info-weather__hourly {
  display: flex;
  gap: 21px;
  align-items: flex-start;
  width: 100%;
  margin-top: 8px;
  padding: 6px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.phone-info-weather__hourly::-webkit-scrollbar {
  display: none;
}

.phone-info-weather__hour {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.phone-info-weather__hour img {
  display: block;
  width: 24px;
  height: 24px;
}

.phone-info-weather__hour-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0 4px;
  border-radius: 4px;
  font-size: calc(12px * var(--info-type-scale, 1));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale, 1));
  color: #2e204e;
  background: var(--hour-badge-color, #ffd58f);
}

.phone-info-weather__hour-badge--light {
  color: #fff;
}

.phone-info-weather__hour-time {
  font-size: calc(10px * var(--info-type-scale, 1));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale, 1));
  color: #fff;
  white-space: nowrap;
}

/* CO2 */
.phone-info-card--co2 .phone-info-card__title sub {
  font-size: 0.65em;
  vertical-align: baseline;
  position: relative;
  bottom: -0.05em;
}

.phone-info-co2__values {
  display: flex;
  gap: 18px;
  align-items: flex-end;
  width: 100%;
}

.phone-info-co2__primary .phone-info-card__value {
  font-size: calc(35px * var(--info-type-scale, 1));
  line-height: calc(38px * var(--info-type-scale, 1));
  letter-spacing: calc(-0.35px * var(--info-type-scale, 1));
}

.phone-info-co2__year {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: calc(20px * var(--info-type-scale, 1));
  color: #fff;
}

.phone-info-co2__prev-value {
  margin: 0;
  font-size: calc(24px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: calc(30px * var(--info-type-scale, 1));
  letter-spacing: calc(-0.24px * var(--info-type-scale, 1));
  color: var(--main-primary, #08aee0);
}

/* Production */
.phone-info-production__status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 26px;
  padding: 0 8px 0 6px;
  border: none;
  border-radius: 4px;
  background: #14ad4d;
  font-size: calc(12px * var(--info-type-scale, 1));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale, 1));
  color: #fff;
  white-space: nowrap;
}

.phone-info-production__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #018030;
}

.phone-info-production__status-icon img {
  display: block;
  width: 16px;
  height: 16px;
}

.phone-info-production__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.phone-info-production__row .phone-info-card__value {
  font-size: calc(35px * var(--info-type-scale, 1));
  line-height: calc(38px * var(--info-type-scale, 1));
  letter-spacing: calc(-0.35px * var(--info-type-scale, 1));
}

/* Solar News */
.phone-info-news__logo {
  display: block;
  flex-shrink: 0;
  width: 79px;
  height: 29px;
  object-fit: contain;
}

.phone-info-card--solar-news {
  gap: 12px;
  overflow: visible;
  touch-action: auto;
}

.phone-info-news {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  touch-action: pan-x;
}

.phone-info-news__track {
  display: flex;
  gap: 10px;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
  user-select: none;
}

.phone-info-news__track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.phone-info-news__track::-webkit-scrollbar {
  display: none;
}

.phone-info-news__slide {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 80px;
  padding: 8px;
  border-radius: 8px;
  background: #fff;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  box-sizing: border-box;
}

.phone-info-news__thumb-wrap {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 6px;
  overflow: hidden;
}

.phone-info-news__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.phone-info-news__copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  align-self: stretch;
  min-width: 0;
  min-height: 64px;
}

.phone-info-news__headline {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale, 1));
  font-weight: 400;
  line-height: calc(20px * var(--info-type-scale, 1));
  color: #3c3e44;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.phone-info-news__link {
  display: block;
  width: 100%;
  margin-top: auto;
  font-size: calc(12px * var(--info-type-scale, 1));
  font-weight: 600;
  line-height: calc(16px * var(--info-type-scale, 1));
  color: var(--main-primary, #08aee0);
  text-align: right;
  text-decoration: underline;
  white-space: nowrap;
}

.phone-info-news__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.phone-info-news__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.phone-info-news__dot:not(.is-active) {
  background: #fff;
}

.phone-info-news__dot.is-active {
  background: var(--main-primary, #08aee0);
}

.phone-info-news__dot:focus-visible {
  outline: 2px solid var(--main-primary, #08aee0);
  outline-offset: 2px;
}

.phone-info-card[hidden] {
  display: none !important;
}

.phone-info-energy-spend-chart {
  display: flex;
  flex-direction: column;
  gap: calc(4px * var(--info-type-scale));
  width: 100%;
  padding-top: calc(8px * var(--info-type-scale));
}

.phone-info-energy-spend-chart__header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  color: #fff;
}

.phone-info-energy-spend-chart__max {
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
}

.phone-info-energy-spend-chart__body {
  display: flex;
  align-items: flex-end;
  gap: calc(6px * var(--info-type-scale));
  width: 100%;
}

.phone-info-energy-spend-chart__y-axis {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: calc(6px * var(--info-type-scale));
  height: calc(116px * var(--info-type-scale));
}

.phone-info-energy-spend-chart__y-label-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(16px * var(--info-type-scale));
  height: calc(59px * var(--info-type-scale));
}

.phone-info-energy-spend-chart__y-label {
  display: block;
  font-size: calc(10px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
  transform: rotate(-90deg);
}

.phone-info-energy-spend-chart__axis-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: calc(116px * var(--info-type-scale));
  overflow: visible;
}

.phone-info-energy-spend-chart__axis {
  display: block;
  flex-shrink: 0;
  width: calc(116px * var(--info-type-scale));
  height: calc(2px * var(--info-type-scale));
  transform: rotate(-90deg);
}

.phone-info-energy-spend-chart__plot {
  position: relative;
  flex: 1;
  min-width: 0;
  height: calc(116px * var(--info-type-scale));
}

.phone-info-energy-spend-chart__grid {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

.phone-info-energy-spend-chart__bars {
  position: absolute;
  left: calc(8px * var(--info-type-scale));
  right: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  gap: 1px;
  height: calc(117px * var(--info-type-scale));
  pointer-events: none;
}

.phone-info-energy-spend-chart__bar {
  flex: 1 1 0;
  min-width: 0;
  height: calc(var(--h, 4) * 1px * var(--info-type-scale));
  border-radius: 1px 1px 0 0;
  background: #ffd800;
}

.phone-info-energy-spend-chart__times {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: calc(8px * var(--info-type-scale));
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
}

.phone-info-appliances-chart {
  display: flex;
  flex-direction: column;
  gap: calc(4px * var(--info-type-scale));
  width: 100%;
  padding-top: calc(8px * var(--info-type-scale));
}

.phone-info-appliances-chart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  color: #fff;
}

.phone-info-appliances-chart__max {
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
}

.phone-info-appliances-chart__peak-label {
  font-size: calc(10px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
}

.phone-info-appliances-chart__body {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  width: 100%;
}

.phone-info-appliances-chart__y-axis {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 70px;
}

.phone-info-appliances-chart__y-label {
  display: block;
  font-size: calc(10px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
  transform: rotate(-90deg);
}

.phone-info-appliances-chart__plot {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 70px;
}

.phone-info-appliances-chart__grid,
.phone-info-appliances-chart__area,
.phone-info-appliances-chart__peak {
  position: absolute;
  display: block;
  pointer-events: none;
}

.phone-info-appliances-chart__grid {
  left: 0;
  right: 0;
  bottom: 6px;
  width: 100%;
  height: 64px;
  object-fit: fill;
}

.phone-info-appliances-chart__area {
  left: 0;
  right: 0;
  bottom: 6px;
  width: 100%;
  height: 64px;
  object-fit: fill;
}

.phone-info-appliances-chart__peak {
  left: 45%;
  bottom: 0;
  width: 27.7%;
  height: 70px;
  object-fit: fill;
}

.phone-info-appliances-chart__marker {
  position: absolute;
  bottom: 0;
  width: 0;
  height: 90px;
  border-left: 1px dotted rgba(255, 255, 255, 0.55);
  pointer-events: none;
}

.phone-info-appliances-chart__marker--start {
  left: 45%;
}

.phone-info-appliances-chart__marker--end {
  left: 72.6%;
}

.phone-info-appliances-chart__times {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 22px;
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
}

.phone-info-appliances-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0 6px;
  width: 100%;
}

.phone-info-appliances-hint__swatch {
  flex-shrink: 0;
  width: calc(10px * var(--info-type-scale));
  height: calc(10px * var(--info-type-scale));
  border-radius: 2px;
  background: #ffcc26;
}

.phone-info-appliances-hint__text {
  font-size: calc(10px * var(--info-type-scale));
  font-style: italic;
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #ffd800;
}

.phone-info-appliances-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.phone-info-appliances-stats__item {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: calc(14px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
}

.phone-info-appliances-stats__item img {
  display: block;
  width: calc(16.667px * var(--info-type-scale));
  height: calc(16.667px * var(--info-type-scale));
}

.phone-info-appliances-stats__num {
  font-size: calc(14px * var(--info-type-scale));
  line-height: calc(20px * var(--info-type-scale));
}

.phone-info-appliances-stats__unit {
  font-size: calc(10px * var(--info-type-scale));
  line-height: calc(16px * var(--info-type-scale));
}

.phone-info-savings-rows {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 8px 2px 0 0;
  box-sizing: border-box;
}

.phone-info-savings-row {
  display: flex;
  align-items: center;
  min-height: 36px;
  gap: 12px;
  padding-left: 2px;
}

.phone-info-savings-row__label,
.phone-info-savings-row__year {
  flex-shrink: 0;
  width: 60px;
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
}

.phone-info-savings-bar {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: stretch;
}

.phone-info-savings-bar--split {
  position: relative;
  overflow: visible;
}

.phone-info-savings-bar:has(.phone-info-savings-bar__segment--full) {
  position: relative;
  overflow: visible;
}

.phone-info-savings-rows--save .phone-info-savings-row:last-child {
  overflow: visible;
}

.phone-info-savings-bar__lottie {
  position: absolute;
  right: -45px;
  bottom: 0;
  width: calc(240px * var(--info-type-scale));
  height: calc(240px * var(--info-type-scale));
  pointer-events: none;
  opacity: 0;
  z-index: 2;
}

.phone-info-savings-bar__lottie.is-visible {
  opacity: 1;
}

.phone-info-savings-bar__lottie svg {
  display: block;
  width: 100%;
  height: 100%;
}

.phone-info-savings-bar--split .phone-info-savings-bar__segment--cost,
.phone-info-savings-bar--split-loss .phone-info-savings-bar__segment--cost {
  flex: 0 0 var(--cost-share, 24%);
}

.phone-info-savings-bar--split .phone-info-savings-bar__segment--save,
.phone-info-savings-bar--split-loss .phone-info-savings-bar__segment--loss {
  flex: 1;
}

.phone-info-savings-bar__segment--loss {
  background: rgba(248, 25, 25, 0.33);
  border: 1px solid #f81919;
  border-radius: 0 4px 4px 0;
  transform-origin: left center;
}

.phone-info-savings-bar--split-loss .phone-info-savings-bar__segment--cost {
  border-radius: 4px 0 0 4px;
}

.phone-info-savings-legend__swatch--loss {
  background: rgba(248, 25, 25, 0.33);
  border: 1px solid #f81919;
}

.phone-info-savings-bar__segment {
  display: flex;
  align-items: center;
  min-height: 30px;
  padding: 3px 6px;
  font-size: calc(16px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(16px * var(--info-type-scale));
  letter-spacing: calc(-0.16px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
  box-sizing: border-box;
}

.phone-info-savings-bar__segment--ghost {
  opacity: 0;
  pointer-events: none;
}

.phone-info-savings-bar--sized .phone-info-savings-bar__segment--cost:not(.phone-info-savings-bar__segment--ghost) {
  flex: 0 0 var(--cost-share);
  border-radius: 4px 0 0 4px;
}

.phone-info-savings-bar__segment--cost {
  background: rgba(112, 112, 112, 0.33);
  border: 1px solid #707070;
}

.phone-info-savings-bar--split .phone-info-savings-bar__segment--cost {
  border-radius: 4px 0 0 4px;
}

.phone-info-savings-bar__segment--save {
  background: rgba(21, 185, 78, 0.33);
  border: 1px solid #70f69f;
  border-radius: 0 4px 4px 0;
  transform-origin: left center;
}

.phone-info-monthly-card.is-expanded .phone-info-savings-bar__segment--save,
.phone-info-monthly-card.is-expanded .phone-info-savings-bar__segment--loss {
  animation: phone-info-savings-bar-grow 1.1s cubic-bezier(0.22, 1.06, 0.48, 1) 0.15s both;
  transform-origin: left center;
}

@keyframes phone-info-savings-bar-grow {
  from {
    opacity: 0.35;
    clip-path: inset(0 100% 0 0);
  }

  to {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

.phone-info-savings-bar__segment--full {
  flex: 1;
  border-radius: 4px;
}

.phone-info-savings-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(49, 50, 54, 0.44);
}

.phone-info-savings-legend__item {
  display: flex;
  align-items: center;
  gap: 2px;
}

.phone-info-savings-legend__swatch {
  display: block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  box-sizing: border-box;
}

.phone-info-savings-legend__swatch--cost {
  background: rgba(112, 112, 112, 0.33);
  border: 0.545px solid #707070;
}

.phone-info-savings-legend__swatch--save {
  background: rgba(21, 185, 78, 0.33);
  border: 1px solid #70f69f;
}

.phone-info-savings-legend__swatch--loss {
  background: rgba(248, 25, 25, 0.33);
  border: 1px solid #f81919;
}

.phone-info-savings-legend__label {
  padding-left: 2px;
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
}

.phone-info-savings-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  align-self: flex-end;
  min-height: 28px;
  padding: 0 8px;
  border: none;
  border-radius: 4px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
  color: var(--main-primary);
  cursor: pointer;
}

.phone-info-savings-link img {
  display: block;
  width: 20px;
  height: 20px;
}

.phone-info-charts-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(14px * var(--info-type-scale));
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-info-charts-card {
  border-color: #3f3f46;
}

.phone-info-my-savings__header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 28px;
}

.phone-info-my-savings__intro {
  display: flex;
  flex-direction: column;
  gap: calc(4px * var(--info-type-scale));
  min-width: 0;
}

.phone-info-my-savings__title {
  margin: 0;
  font-size: calc(20px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(22px * var(--info-type-scale));
  letter-spacing: calc(-0.2px * var(--info-type-scale));
  color: #fff;
}

.phone-info-my-savings__trend-animation {
  position: absolute;
  top: -42px;
  right: 0;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: 160px;
  height: 160px;
  transform-origin: 50% 100%;
  pointer-events: none;
}

.phone-info-my-savings__trend-animation.is-range-bouncing {
  animation: phone-my-savings-trend-bounce 0.55s cubic-bezier(0.34, 1.45, 0.64, 1);
}

@keyframes phone-my-savings-trend-bounce {
  0% {
    transform: scale(1);
  }

  32% {
    transform: scale(1.14);
  }

  52% {
    transform: scale(0.97);
  }

  72% {
    transform: scale(1.05);
  }

  100% {
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-my-savings__trend-animation.is-range-bouncing {
    animation: none;
  }
}

.phone-info-my-savings__trend-animation svg {
  display: block;
  width: 100%;
  height: 100%;
}

.phone-info-my-savings__header img {
  display: block;
  width: calc(22px * var(--info-type-scale));
  height: calc(22px * var(--info-type-scale));
}

.phone-info-my-savings__body {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}

.phone-info-my-savings__stats {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(6px * var(--info-type-scale));
  min-width: 0;
}

.phone-info-my-savings__period {
  margin: 0;
  font-size: calc(14px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(18px * var(--info-type-scale));
  color: #fff;
}

.phone-info-my-savings__actual {
  margin: 0;
  font-size: calc(36px * var(--info-type-scale));
  font-weight: 600;
  line-height: 1;
  letter-spacing: calc(-0.48px * var(--info-type-scale));
  color: #15b94e;
}

.phone-info-my-savings__actual-main {
  font-size: calc(42px * var(--info-type-scale));
}

.phone-info-my-savings__actual-dot {
  font-size: calc(48px * var(--info-type-scale));
}

.phone-info-my-savings__actual-cents {
  font-size: calc(36px * var(--info-type-scale));
  font-weight: 700;
}

.phone-info-my-savings__predicted {
  margin: 0;
  font-size: calc(24px * var(--info-type-scale));
  font-weight: 600;
  line-height: 1;
  letter-spacing: calc(-0.48px * var(--info-type-scale));
  color: #808080;
}

.phone-info-my-savings__legend {
  display: flex;
  flex-direction: column;
  gap: calc(6px * var(--info-type-scale));
  padding-top: calc(4px * var(--info-type-scale));
}

.phone-info-my-savings__legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.phone-info-my-savings__legend-swatch {
  flex-shrink: 0;
  width: calc(10px * var(--info-type-scale));
  height: calc(10px * var(--info-type-scale));
  border-radius: 2px;
}

.phone-info-my-savings__legend-swatch--actual {
  background: #15b94e;
}

.phone-info-my-savings__legend-swatch--predicted {
  background: #808080;
}

.phone-info-my-savings__legend-label {
  font-size: calc(12px * var(--info-type-scale));
  font-style: italic;
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
}

.phone-info-my-savings__chart {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  min-width: 0;
  padding-top: calc(24px * var(--info-type-scale));
}

.phone-info-my-savings__chart-plot {
  position: relative;
  width: 100%;
  max-width: calc(116px * var(--info-type-scale));
  height: calc(150px * var(--info-type-scale));
  margin-top: calc(6px * var(--info-type-scale));
  padding-left: calc(8px * var(--info-type-scale));
  box-sizing: content-box;
}

.phone-info-my-savings__chart-max {
  position: absolute;
  top: calc(100% / 15 - calc(22px * var(--info-type-scale)));
  left: calc(14px * var(--info-type-scale));
  z-index: 2;
  font-size: calc(16px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
}

.phone-info-my-savings__chart-y-axis {
  position: absolute;
  top: calc(-5px * var(--info-type-scale));
  bottom: 0;
  left: calc(8px * var(--info-type-scale));
  z-index: 2;
  width: 1px;
  background: #c9c9cc;
}

.phone-info-my-savings__chart-y-axis::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-left: calc(3px * var(--info-type-scale)) solid transparent;
  border-right: calc(3px * var(--info-type-scale)) solid transparent;
  border-bottom: calc(5px * var(--info-type-scale)) solid #c9c9cc;
}

.phone-info-my-savings__chart-grid {
  position: absolute;
  inset: 0;
  left: calc(8px * var(--info-type-scale));
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(100% / 15 - 0.5px),
    rgba(201, 201, 204, 0.22) calc(100% / 15 - 0.5px),
    rgba(201, 201, 204, 0.22) calc(100% / 15 + 0.5px)
  );
  border-bottom: 1px solid rgba(201, 201, 204, 0.35);
}

.phone-info-my-savings__chart-bars {
  position: absolute;
  left: calc(30px * var(--info-type-scale));
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: calc(8px * var(--info-type-scale));
  height: 100%;
}

.phone-info-my-savings__chart-bar {
  display: block;
  width: calc(26px * var(--info-type-scale));
  border-radius: 4px 4px 0 0;
  transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-my-savings__chart-bar {
    transition: none;
  }
}

.phone-info-my-savings__chart-bar--actual {
  background: #15b94e;
}

.phone-info-my-savings__chart-bar--predicted {
  background: #808080;
}

.phone-info-my-savings__period,
.phone-info-my-savings__actual,
.phone-info-my-savings__predicted,
.phone-info-my-savings__chart-max {
  transition:
    opacity 0.25s ease,
    transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.phone-info-charts-card--my-savings.is-range-updating .phone-info-my-savings__period,
.phone-info-charts-card--my-savings.is-range-updating .phone-info-my-savings__actual,
.phone-info-charts-card--my-savings.is-range-updating .phone-info-my-savings__predicted,
.phone-info-charts-card--my-savings.is-range-updating .phone-info-my-savings__chart-max {
  opacity: 0.35;
  transform: translateY(3px);
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-my-savings__period,
  .phone-info-my-savings__actual,
  .phone-info-my-savings__predicted,
  .phone-info-my-savings__chart-max {
    transition: none;
  }
}

.phone-info-my-savings__actual--whole .phone-info-my-savings__actual-main {
  font-size: calc(42px * var(--info-type-scale));
  letter-spacing: calc(-0.42px * var(--info-type-scale));
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__chart-grid {
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(100% / 15 - 0.5px),
    rgba(10, 9, 11, 0.06) calc(100% / 15 - 0.5px),
    rgba(10, 9, 11, 0.06) calc(100% / 15 + 0.5px)
  );
  border-bottom-color: rgba(10, 9, 11, 0.12);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__chart-y-axis {
  background: rgba(10, 9, 11, 0.25);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__chart-y-axis::before {
  border-bottom-color: rgba(10, 9, 11, 0.25);
}

.phone-info-my-savings__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-sizing: border-box;
}

.phone-info-my-savings__tabs {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 4px;
  height: 28px;
  padding: 2px 4px;
  border-radius: 55px;
  box-sizing: border-box;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.phone-info-my-savings__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin: 0;
  padding: 0 8px;
  border: none;
  border-radius: 55px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-info-my-savings__tab.is-active {
  background: #fff;
  color: #0a090b;
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
}

.phone-info-charts-card--yearly {
  --yearly-bar-2026: #15b94e;
  gap: calc(22px * var(--info-type-scale));
}

.phone-info-yearly__header {
  display: flex;
  align-items: center;
  min-height: 28px;
}

.phone-info-yearly__title {
  margin: 0;
  font-size: calc(20px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(22px * var(--info-type-scale));
  letter-spacing: calc(-0.2px * var(--info-type-scale));
  color: #fff;
}

.phone-info-yearly__graph {
  display: flex;
  flex-direction: column;
  gap: calc(20px * var(--info-type-scale));
  width: 100%;
}

.phone-info-yearly__chart {
  display: flex;
  flex-direction: column;
  gap: calc(4px * var(--info-type-scale));
  width: 100%;
}

.phone-info-yearly__chart-header {
  display: flex;
  align-items: center;
  width: 100%;
}

.phone-info-yearly__chart-max {
  font-size: calc(16px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
}

.phone-info-yearly__chart-body {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  width: 100%;
}

.phone-info-yearly__chart-plot-wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(4px * var(--info-type-scale));
  min-width: 0;
}

.phone-info-yearly__chart-y-axis {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  width: calc(20px * var(--info-type-scale));
  height: calc(144px * var(--info-type-scale));
  margin-bottom: calc(24px * var(--info-type-scale));
}

.phone-info-yearly__chart-y-axis::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  background: #c9c9cc;
}

.phone-info-yearly__chart-y-label {
  display: block;
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
  transform: rotate(-90deg);
}

.phone-info-yearly__chart-plot {
  position: relative;
  flex: 0 0 calc(144px * var(--info-type-scale));
  min-width: 0;
  height: calc(144px * var(--info-type-scale));
}

.phone-info-yearly__chart-grid {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

.phone-info-yearly__chart-bars {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: 2px;
  align-items: end;
  width: 100%;
  height: 100%;
  padding-left: calc(8px * var(--info-type-scale));
  box-sizing: border-box;
}

.phone-info-yearly__chart-bar {
  display: block;
  width: 100%;
  min-height: 0;
  border-radius: 2px 2px 0 0;
}

.phone-info-yearly__chart-bars.is-animating .phone-info-yearly__chart-bar {
  transition:
    height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    background-color 0.35s ease;
}

.phone-info-yearly__chart-bar--2026 {
  background: var(--yearly-bar-2026, #15b94e);
  transition: background-color 0.35s ease;
}

.phone-info-yearly__chart-bar--2025 {
  background: #808080;
}

.phone-info-yearly__chart-max,
.phone-info-yearly__chart-y-label {
  transition:
    opacity 0.25s ease,
    transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.phone-info-charts-card--yearly.is-yearly-updating .phone-info-yearly__chart-max,
.phone-info-charts-card--yearly.is-yearly-updating .phone-info-yearly__chart-y-label {
  opacity: 0.35;
  transform: translateY(3px);
}

.phone-info-yearly__legend-swatch--2026 {
  background: var(--yearly-bar-2026, #15b94e);
  transition: background-color 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-yearly__chart-bars.is-animating .phone-info-yearly__chart-bar,
  .phone-info-yearly__chart-max,
  .phone-info-yearly__chart-y-label,
  .phone-info-yearly__legend-swatch--2026 {
    transition: none;
  }
}

.phone-info-yearly__chart-months {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: calc(8px * var(--info-type-scale));
  padding-right: calc(6px * var(--info-type-scale));
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(20px * var(--info-type-scale));
  color: #fff;
  text-align: center;
}

.phone-info-yearly__chart-months span {
  flex: 0 0 calc(12px * var(--info-type-scale));
}

.phone-info-yearly__legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(14px * var(--info-type-scale));
  width: 100%;
  padding: 0 calc(6px * var(--info-type-scale));
}

.phone-info-yearly__legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.phone-info-yearly__legend-swatch {
  flex-shrink: 0;
  width: calc(10px * var(--info-type-scale));
  height: calc(10px * var(--info-type-scale));
  border-radius: 2px;
}

.phone-info-yearly__legend-swatch--2025 {
  background: #808080;
}

.phone-info-yearly__legend-label {
  font-size: calc(12px * var(--info-type-scale));
  font-style: italic;
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
}

.phone-info-yearly__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-sizing: border-box;
}

.phone-info-yearly__tabs {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 4px;
  height: 28px;
  padding: 2px 4px;
  border-radius: 55px;
  box-sizing: border-box;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.phone-info-yearly__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin: 0;
  padding: 0 8px;
  border: none;
  border-radius: 55px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 600;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-info-yearly__tab.is-active {
  background: #fff;
  color: #0a090b;
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
}

.phone-info-my-savings__export,
.phone-info-yearly__export,
.phone-energy-stats__export-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  align-self: center;
  justify-content: center;
  margin: 0;
  padding: 0 8px;
  height: 28px;
  border: 1.5px solid #4272dd;
  border-radius: 4px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
}

.phone-info-my-savings__export:focus-visible,
.phone-info-yearly__export:focus-visible,
.phone-energy-stats__export-btn:focus-visible {
  outline: 2px solid #4272dd;
  outline-offset: 2px;
}

.phone:not([data-theme="dark"]) .phone-info-my-savings__export,
.phone:not([data-theme="dark"]) .phone-info-yearly__export,
.phone:not([data-theme="dark"]) .phone-energy-stats__export-btn {
  color: var(--text-primary);
}

.phone-info-monthly-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.phone-info-monthly-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
  border: 1px solid #3f3f46;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-sizing: border-box;
  transition: gap 0.6s cubic-bezier(0.22, 1.06, 0.48, 1);
}

.phone-info-monthly-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

button.phone-info-monthly-card__head {
  appearance: none;
  -webkit-appearance: none;
}

.phone-info-monthly-card__expand {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.65s cubic-bezier(0.25, 0.85, 0.2, 1),
    opacity 0.55s cubic-bezier(0.22, 1.06, 0.48, 1);
}

.phone-info-monthly-card.is-expanded .phone-info-monthly-card__expand {
  max-height: 360px;
  opacity: 1;
  overflow: visible;
}

.phone-info-monthly-card.is-expanded .phone-info-savings-rows,
.phone-info-monthly-card.is-expanded .phone-info-monthly-card__actions {
  animation: phone-monthly-panel-in 0.68s cubic-bezier(0.22, 1.06, 0.48, 1) 0.08s both;
}

@keyframes phone-monthly-panel-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone-info-monthly-card,
  .phone-info-monthly-card__expand {
    transition: none;
  }

  .phone-info-monthly-card.is-expanded .phone-info-savings-rows,
  .phone-info-monthly-card.is-expanded .phone-info-monthly-card__actions {
    animation: none;
  }

  .phone-info-monthly-card.is-expanded .phone-info-savings-bar__segment--save,
  .phone-info-monthly-card.is-expanded .phone-info-savings-bar__segment--loss {
    animation: none;
    clip-path: none;
  }
}

.phone-info-monthly-card__expand[hidden] {
  display: none !important;
}


.phone-info-monthly-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 14px;
  width: 100%;
}

.phone-info-monthly-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  margin: 0;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #4272dd;
  font-family: var(--phone-font-body);
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 500;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
}

.phone-info-monthly-card__action--outline {
  background: #18181b;
  border: 1.5px solid #4272dd;
}

.phone-info-monthly-card__action-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.phone-info-monthly-card__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.phone-info-monthly-card__month {
  margin: 0;
  font-size: calc(16px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(22px * var(--info-type-scale));
  letter-spacing: calc(-0.16px * var(--info-type-scale));
  color: #fff;
}

.phone-info-monthly-card__label {
  margin: 0;
  padding-left: 2px;
  font-size: calc(12px * var(--info-type-scale));
  font-weight: 400;
  line-height: calc(16px * var(--info-type-scale));
  color: #fff;
}

.phone-info-monthly-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.phone-info-monthly-card__meta > img:first-child {
  display: block;
  width: calc(18px * var(--info-type-scale));
  height: calc(18px * var(--info-type-scale));
}

.phone-info-monthly-card__amount {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border: 0.5px solid rgba(112, 246, 159, 0.55);
  border-radius: 4px;
  background: rgba(21, 185, 78, 0.33);
  font-size: calc(16px * var(--info-type-scale));
  font-weight: 600;
  line-height: calc(24px * var(--info-type-scale));
  color: #fff;
  white-space: nowrap;
}

.phone-info-monthly-card--loss .phone-info-monthly-card__amount {
  border: 0.5px solid rgba(248, 25, 25, 0.55);
  background: rgba(248, 25, 25, 0.33);
}

.phone-info-monthly-card__chevron {
  display: block;
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.22, 1.06, 0.48, 1);
}

.phone-info-monthly-card.is-expanded .phone-info-monthly-card__chevron {
  transform: rotate(180deg);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-charts-card,
.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card {
  background: var(--phone-surface-neutral-variant);
  border-color: var(--color-border-light);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--text-primary);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__title,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__title,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__period,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__legend-label,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__legend-label,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__chart-max,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__chart-max,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__chart-y-label,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__chart-months,
.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card__month,
.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card__label {
  color: var(--text-primary);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__tabs,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__tabs {
  background: rgba(10, 9, 11, 0.06);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__tab,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__tab {
  color: var(--text-primary);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-my-savings__tab.is-active,
.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__tab.is-active {
  background: var(--phone-surface-neutral-variant);
  color: var(--text-primary);
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.12);
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__chart-grid {
  filter: brightness(0) saturate(100%);
  opacity: 0.22;
}

.phone:not([data-theme="dark"]) .phone__view--current .phone-info-yearly__chart-y-axis::after {
  background: rgba(10, 9, 11, 0.25);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card__amount {
  color: #0a7a38;
  background: rgba(21, 185, 78, 0.15);
  border-color: #70f69f;
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card--loss .phone-info-monthly-card__amount {
  color: #b01010;
  background: rgba(248, 25, 25, 0.15);
  border: 0.5px solid rgba(248, 25, 25, 0.45);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card__chevron {
  filter: brightness(0) saturate(100%);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-row__label,
.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-row__year,
.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-legend__label {
  color: var(--text-primary);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-legend {
  background: rgba(10, 9, 11, 0.03);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-legend__swatch--cost {
  background: rgba(112, 112, 112, 0.1);
  border-color: rgba(112, 112, 112, 0.22);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-legend__item:has(.phone-info-savings-legend__swatch--cost) .phone-info-savings-legend__label {
  color: var(--text-muted);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-bar__segment--cost {
  color: #4c4b53;
  background: rgba(112, 112, 112, 0.12);
  border-color: rgba(112, 112, 112, 0.28);
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-bar__segment--save {
  color: #0a7a38;
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-savings-bar__segment--loss {
  color: #b01010;
}

.phone:not([data-theme="dark"]) .phone__view--current-monthly .phone-info-monthly-card__action--outline {
  background: var(--phone-surface-neutral-variant);
  color: #4c4b53;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone-contact-card {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__tabbar-wrap {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  background-color: transparent;
  pointer-events: none;
}

.phone[data-preview-view="contact"] .phone-info-video {
  display: none;
}

.phone[data-preview-view="contact"] .phone__tabbar-wrap {
  display: none;
}

.preview-col.is-contact-preview .preview-col__phone-scroll {
  overflow: hidden;
}

.phone__back {
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  flex-shrink: 0;
}

.preview-col.is-contact-preview .phone__back {
  display: inline-flex;
}

.phone__back svg {
  display: block;
  width: 24px;
  height: 24px;
}

.phone[data-preview-view="contact"] .phone__logo-img {
  display: none;
}

.phone[data-preview-view="contact"] .phone__badge-dismiss {
  display: none;
}

.phone-contact-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 24px 16px;
  border: 0.5px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  background: var(--phone-surface-neutral-variant);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-contact-card {
  border-color: var(--grey-500);
}

.phone-contact-card__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
}

.phone-contact-card__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 52px;
  object-fit: contain;
}

.phone-contact-card__tagline {
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 14px;
  font-style: italic;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  text-align: center;
}

.phone-contact-card__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  width: 100%;
}

.phone-contact-card__address,
.phone-contact-card__meta {
  margin: 0;
  text-align: center;
}

.phone-contact-card__address {
  font-size: 13px;
  font-weight: 400;
  line-height: 19px;
  color: var(--text-primary);
}

.phone-contact-card__meta {
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  color: rgba(29, 28, 32, 0.5);
}

.phone[data-theme="dark"] .phone-contact-card__meta {
  color: var(--text-muted);
}

.phone-contact-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 11px;
}

.phone-contact-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 33px;
  padding: 0 16px 0 12px;
  border-radius: var(--radius-sm);
  border: none;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 19px;
  cursor: pointer;
}

.phone-contact-card__btn-icon {
  width: 19px;
  height: 19px;
  flex-shrink: 0;
}

.phone-contact-card__btn--primary {
  background: var(--main-primary);
  color: #ffffff;
}

.phone-contact-card__btn--outline {
  background: var(--main-secondary);
  color: #ffffff;
}

.phone-contact-card__link {
  font-size: 13px;
  font-weight: 400;
  line-height: 22px;
  color: var(--main-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.phone-contact-card__divider {
  width: 57px;
  margin: 0;
  border: none;
  border-top: 1px solid var(--main-primary);
  opacity: 0.35;
}

.phone-contact-card__staff {
  display: flex;
  flex-direction: column;
  gap: 17px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.phone-contact-card__staff-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.phone-contact-card__staff-row.is-hidden {
  display: none;
}

.phone-contact-card__staff-info {
  min-width: 0;
}

.phone-contact-card__staff-name {
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 13px;
  font-weight: 400;
  line-height: 19px;
  color: var(--text-primary);
}

.phone-contact-card__staff-role {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  color: var(--main-tertiary);
}

.phone-contact-card__staff-actions {
  display: flex;
  flex-shrink: 0;
  gap: 11px;
}

.phone-contact-card__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px;
  padding: 0;
  border-radius: var(--radius-sm);
  border: none;
  cursor: pointer;
}

.phone-contact-card__icon-btn svg {
  width: 19px;
  height: 19px;
}

.phone-contact-card__icon-btn--primary {
  background: var(--main-primary);
  color: #ffffff;
}

.phone-contact-card__icon-btn--outline {
  background: var(--main-secondary);
  color: #ffffff;
}

.phone[data-preview-view="intro"] .status-bar,
.phone[data-preview-view="intro"] .phone__header,
.phone[data-preview-view="intro"] .phone__tabbar-wrap {
  display: none;
}

.phone[data-preview-view="intro"] {
  background: #18181b;
}

.phone[data-preview-view="intro"].is-intro-video-cleared,
.phone-intro-9999.is-video-cleared {
  background: var(--main-error);
}

.phone-intro-9999.is-video-cleared .phone-intro-9999__video {
  display: none;
}

.phone[data-preview-view="intro"] .phone__scroll {
  padding: 0;
  overflow: hidden;
  background: transparent;
  flex: 1;
  height: 666px;
}

.phone[data-preview-view="intro"] .phone__view--intro {
  display: flex;
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.phone-intro-9999 {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  background: #18181b;
}

.phone-intro-9999__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
}

.phone-intro-9999__video-fallback {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(340px, 100%);
  height: min(666px, 100%);
  transform: translate(-50%, -50%);
  background:
    #000
    url("assets/media/intro-earth.jpg") center / cover no-repeat;
  opacity: 0.28;
}

.phone-intro-9999__video-el {
  position: relative;
  flex-shrink: 0;
  width: min(340px, 100%);
  height: min(666px, 100%);
  object-fit: cover;
  object-position: center;
}

.phone-intro-9999__video-el:not([src]) {
  opacity: 0;
}

.phone-intro-9999__video:has(.phone-intro-9999__video-el[src]) .phone-intro-9999__video-fallback {
  display: none;
}

.phone-intro-9999__middle {
  display: none;
}

.phone-intro-9999__gggg {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: auto;
  padding: 0 16px 40px;
}

.phone-intro-9999__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 171.6px;
  height: 44.2px;
}

.phone-intro-9999__logo {
  display: block;
  width: 171.6px;
  max-width: 100%;
  height: 44.2px;
  object-fit: contain;
}

.phone-intro-9999__powered-icon {
  display: block;
  width: 31px;
  height: 23px;
  flex-shrink: 0;
  object-fit: contain;
}

.phone-intro-9999__tagline {
  margin: 0;
  padding-top: 8px;
  font-family: var(--phone-font-display);
  font-size: 15.5px;
  font-style: italic;
  font-weight: 400;
  line-height: 19px;
  letter-spacing: -0.16px;
  text-align: center;
  color: var(--intro-tagline-color, #fff);
}

.phone-intro-9999__tagline.is-hidden {
  visibility: hidden;
}

.phone-contact-card__main.is-hidden,
.phone-contact-card__staff.is-hidden,
.phone-contact-card__divider.is-hidden {
  display: none;
}

.phone-intro-9999__powered {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  margin-top: 20px;
}

.phone-intro-9999__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 17px;
  width: 100%;
  max-width: 178px;
  margin-top: 24px;
}

.phone-intro-9999__login {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 31px;
  padding: 0 17px;
  border: none;
  border-radius: 4px;
  background: var(--main-primary, #08aee0);
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 17px;
  cursor: default;
}

.phone-intro-9999__register {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 31px;
  padding: 0 17px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 17px;
  text-decoration: underline;
  cursor: default;
}

.phone-intro-9999__powered-label {
  font-size: 10px;
  font-weight: 400;
  line-height: 14px;
  color: #fff;
  text-align: center;
}

.preview-col.is-intro-preview .theme-toggle {
  display: none;
}

.app-store-preview {
  display: none;
  flex: 1;
  align-self: stretch;
  min-height: 0;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.preview-col.is-app-store-preview .app-store-preview {
  display: flex;
}

.preview-col.is-app-store-preview .phone {
  display: none;
}

.app-store-preview__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 46px;
  width: 100%;
  max-width: 310px;
}

.app-store-preview__qr {
  display: block;
  width: min(310px, 100%);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

.app-store-preview__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.app-store-preview__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
  white-space: nowrap;
}

.app-store-preview__btn--outline {
  border: none;
  background-color: rgba(237, 237, 237, 1);
  color: #4c4b53;
}

.app-store-preview__btn--outline:hover {
  background-color: rgba(232, 232, 232, 1);
}

.app-store-preview__btn--primary {
  border: none;
  padding-right: 14px;
  background: #4272dd;
  color: #ffffff;
}

.app-store-preview__btn--primary:hover {
  filter: brightness(1.04);
}

.app-store-preview__btn--primary img {
  display: block;
  flex-shrink: 0;
}

/* —— Your Brand welcome modal —— */
.ce-welcome-modal {
  position: fixed;
  inset: 0;
  z-index: 2100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.ce-welcome-modal[hidden] {
  display: none !important;
}

.ce-welcome-modal__backdrop {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: rgba(10, 9, 11, 0.55);
  cursor: pointer;
}

.ce-welcome-modal__panel {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  max-height: calc(100dvh - 48px);
  overflow: auto;
  padding: 24px 20px 20px;
  border: 1px solid var(--grey-400);
  border-radius: 8px;
  background: var(--color-surface);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.ce-welcome-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.ce-welcome-modal__close:hover {
  background: var(--grey-200);
}

.ce-welcome-modal__close:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.ce-welcome-modal__title {
  margin: 0 32px 12px 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  color: var(--text-label);
}

.ce-welcome-modal__body .body-copy {
  margin: 0 0 12px;
  color: var(--text-label);
}

.ce-welcome-modal__body .body-copy--welcome-tagline {
  font-weight: 700;
}

.ce-welcome-modal__animation {
  display: block;
  width: 200px;
  aspect-ratio: 912 / 674;
  margin: 4px 0 20px;
}

.ce-welcome-modal__animation svg {
  display: block;
  width: 100%;
  height: auto;
}

/* Speech bubble fills in welcome Lottie */
.ce-welcome-modal__animation path[fill="rgb(155, 104, 219)"],
.ce-welcome-modal__animation path[fill="rgb(155,104,219)"] {
  fill: var(--main-primary) !important;
}

.ce-welcome-modal__animation path[fill="rgb(130, 87, 199)"],
.ce-welcome-modal__animation path[fill="rgb(130,87,199)"] {
  fill: color-mix(in srgb, var(--main-primary) 84%, black) !important;
}

/* Badge: white circle, dark primary ring, primary checkmark */
.ce-welcome-modal__animation path[fill="rgb(253, 233, 255)"],
.ce-welcome-modal__animation path[fill="rgb(253,233,255)"],
.ce-welcome-modal__animation path[fill="rgb(255, 255, 255)"],
.ce-welcome-modal__animation path[fill="rgb(255,255,255)"],
.ce-welcome-modal__animation path[fill="#ffffff"],
.ce-welcome-modal__animation path[fill="#FFFFFF"] {
  fill: rgba(255, 255, 255, 1) !important;
}

.ce-welcome-modal__animation path[fill="rgb(242, 215, 247)"],
.ce-welcome-modal__animation path[fill="rgb(242,215,247)"] {
  fill: color-mix(in srgb, var(--main-primary) 84%, black) !important;
}

/* Badge ring (Layer 25, path d≈M-301.286…) */
.ce-welcome-modal__animation [data-name="Layer 25"] path[d*="-301.286"],
.ce-welcome-modal__animation path[d*="-301.286"] {
  color: rgba(255, 255, 255, 1);
  fill: var(--main-primary) !important;
}

.ce-welcome-modal__animation path[fill="rgb(91, 45, 138)"],
.ce-welcome-modal__animation path[fill="rgb(91,45,138)"] {
  display: none !important;
  visibility: hidden !important;
}

.ce-welcome-modal__animation path[fill="rgb(109, 55, 156)"],
.ce-welcome-modal__animation path[fill="rgb(109,55,156)"],
.ce-welcome-modal__animation path[fill="rgb(164, 46, 161)"],
.ce-welcome-modal__animation path[fill="rgb(164,46,161)"],
.ce-welcome-modal__animation path[fill="rgb(194, 64, 187)"],
.ce-welcome-modal__animation path[fill="rgb(194,64,187)"] {
  fill: var(--main-primary) !important;
}

/* Magenta accent shapes (light → primary, dark → darker primary) */
.ce-welcome-modal__animation path[fill="rgb(216, 73, 213)"],
.ce-welcome-modal__animation path[fill="rgb(216,73,213)"] {
  fill: var(--main-primary) !important;
}

.ce-welcome-modal__animation path[fill="rgb(191, 57, 192)"],
.ce-welcome-modal__animation path[fill="rgb(191,57,192)"],
.ce-welcome-modal__animation path[fill="rgb(194, 64, 187)"],
.ce-welcome-modal__animation path[fill="rgb(194,64,187)"],
.ce-welcome-modal__animation path[fill="rgb(164, 46, 161)"],
.ce-welcome-modal__animation path[fill="rgb(164,46,161)"] {
  fill: color-mix(in srgb, var(--main-primary) 84%, black) !important;
}

/* Scrolling text lines + accent sparkle lines in welcome Lottie */
.ce-welcome-modal__animation path[fill="rgb(186, 145, 234)"],
.ce-welcome-modal__animation path[fill="rgb(186,145,234)"],
.ce-welcome-modal__animation path[fill="rgb(151, 117, 209)"],
.ce-welcome-modal__animation path[fill="rgb(151,117,209)"],
.ce-welcome-modal__animation path[fill="rgb(219, 114, 219)"],
.ce-welcome-modal__animation path[fill="rgb(219,114,219)"],
.ce-welcome-modal__animation path[fill="rgb(245, 137, 242)"],
.ce-welcome-modal__animation path[fill="rgb(245,137,242)"] {
  fill: rgba(255, 255, 255, 0.75) !important;
}

.ce-welcome-modal__panel .ce-welcome-modal__ok {
  display: block;
  width: 80px;
  margin-left: auto;
}

body.is-your-brand-welcome-open,
body.is-app-settings-welcome-open {
  overflow: hidden;
}

/* —— App toast —— */
.app-toast {
  position: fixed;
  top: calc(var(--header-offset) + 12px);
  left: 50%;
  z-index: 2000;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: min(640px, calc(100vw - 32px));
  padding: 12px 14px 12px 16px;
  border: 1px solid #8f8f94;
  border-radius: 8px;
  background: #0a090b;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  transform: translateX(-50%) translateY(-8px);
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.app-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.app-toast[hidden] {
  display: none !important;
}

.app-toast__message {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
}

.app-toast__close {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.app-toast__close:hover {
  background: rgba(255, 255, 255, 0.12);
}

.app-toast__close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* —— Push notification —— */
.field--push-input,
.field--push-body {
  width: 100%;
  margin: 0;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--grey-1000);
  box-sizing: border-box;
}

.field--push-input {
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
}

.field--push-body {
  min-height: 120px;
  padding: 12px;
  resize: vertical;
}

.field--push-input:focus-visible,
.field--push-body:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 1px;
}

.push-notification-form {
  gap: 14px;
}

.push-notification-form__fields {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.preview-col--push .preview-col__head {
  min-height: 32px;
}

.push-lock {
  position: relative;
  width: min(340px, 100%);
  height: 666px;
  min-height: 666px;
  flex-shrink: 0;
  zoom: 0.8;
  border-radius: var(--radius-phone);
  overflow: hidden;
  box-shadow: var(--shadow-phone);
  border: 1px solid var(--grey-500);
}

.push-lock__wallpaper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.push-lock__chrome {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 10px 20px;
  color: #ffffff;
  pointer-events: none;
}

.push-lock__status {
  align-self: stretch;
  height: 32px;
  display: flex;
  align-items: center;
  padding: 0 8px;
}

.push-lock__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--main-primary);
  color: var(--opensolar-yellow);
}

.push-lock__clock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 24px;
  text-align: center;
}

.push-lock__lock-icon {
  display: flex;
  opacity: 0.9;
}

.push-lock__time {
  font-size: 66px;
  font-weight: 200;
  line-height: 1;
  letter-spacing: -0.5px;
}

.push-lock__date {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.4px;
}

.push-notification-banner {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: calc(100% - 12px);
  margin-top: 36px;
  padding: 8px 12px 8px 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #222222;
  box-sizing: border-box;
}

.push-notification-banner__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border-radius: 7px;
  background: var(--main-primary);
  color: var(--opensolar-yellow);
}

.push-notification-banner__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.push-notification-banner__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}

.push-notification-banner__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  color: #222222;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.push-notification-banner__time {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  color: #3f3f3f;
  opacity: 0.5;
}

.push-notification-banner__body {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  color: #3f3f3f;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.push-lock__shortcuts {
  margin-top: auto;
  align-self: stretch;
  display: grid;
  grid-template-columns: 46px 1fr 46px;
  align-items: end;
  gap: 8px;
  padding: 0 28px 8px;
}

.push-lock__shortcut {
  width: 46px;
  height: 41px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.push-lock__shortcut--camera {
  justify-self: end;
}

.push-lock__home-indicator {
  justify-self: center;
  width: 125px;
  height: 4px;
  border-radius: 2px;
  background: #ffffff;
}

.push-screen {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.push-screen[hidden] {
  display: none !important;
}

.btn-toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px 0 16px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--grey-1000);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
}

.btn-toolbar:hover {
  background: var(--grey-200);
}

.btn-save.btn-push-new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-left: 16px;
  padding-right: 20px;
}

.btn-save.btn-push-new svg {
  display: block;
  flex-shrink: 0;
}

.push-history {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  min-height: 0;
  margin-left: 6px;
  margin-right: 8px;
  overflow: hidden;
}

.push-history__search {
  position: relative;
  width: min(376px, 100%);
  flex-shrink: 0;
}

.push-history__search-icon {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  color: var(--grey-1000);
  pointer-events: none;
}

.push-history__search-input {
  width: 100%;
  height: 38px;
  margin: 0;
  padding: 0 12px 0 36px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-label);
  box-sizing: border-box;
}

.push-history__search-input::placeholder {
  color: var(--text-muted);
}

.push-history__search-input:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 1px;
}

.push-history__table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 2px solid #e7e7e7;
  border-radius: 2px;
  background: var(--color-surface);
}

.push-history__table {
  width: 100%;
  /* 52 + clamp(75, 25%, 270) + 120 + 128 + 96 → need ≥528px so content stays ≥120px */
  min-width: 528px;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}

.push-history__th,
.push-history__td {
  box-sizing: border-box;
}

.push-history__th {
  padding: 16px;
  text-align: left;
  font-weight: 500;
  color: var(--text-label);
  background: #eff0f2;
  border-bottom: 1px solid var(--grey-400);
}

.push-history__th--check,
.push-history__td--check {
  width: 52px;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  vertical-align: middle;
}

.push-history__th--check .push-history__checkbox,
.push-history__td--check .push-history__checkbox {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.push-history__td {
  padding: 16px;
  color: #3c3e44;
  border-bottom: 1px solid var(--grey-400);
  vertical-align: middle;
}

.push-history__col--check {
  width: 52px;
  max-width: 52px;
}

.push-history__col--title {
  width: 25%;
  min-width: 75px;
  max-width: 270px;
}

.push-history__th--title,
.push-history__td--title {
  min-width: 75px;
  max-width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.push-history__col--datetime {
  width: 128px;
  max-width: 128px;
}

.push-history__col--actions {
  width: 96px;
  max-width: 96px;
}

.push-history__col--content {
  min-width: 120px;
}

.push-history__th--content,
.push-history__td--content {
  min-width: 120px;
  overflow: hidden;
}

.push-history__td--content {
  vertical-align: middle;
}

.push-history__content-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  max-height: 40px;
  overflow: hidden;
  word-break: break-word;
}

.push-history__th--datetime,
.push-history__td--datetime {
  width: 128px;
  min-width: 128px;
  max-width: 128px;
  overflow: hidden;
}

.push-history__td--datetime {
  vertical-align: middle;
}

.push-history__datetime-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.push-history__datetime-date,
.push-history__datetime-time {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 20px;
}

.push-history__th--actions,
.push-history__td--actions {
  width: 96px;
  min-width: 96px;
  white-space: nowrap;
}

.push-history__checkbox {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #4272dd;
  cursor: pointer;
}

.push-history__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.push-history__icon-btn + .push-history__icon-btn {
  margin-left: 16px;
}

.push-history__icon-btn:hover {
  color: var(--text-label);
}

.push-history__icon-btn img {
  display: block;
  width: 18px;
  height: 18px;
}

.phone-boost-stack {
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

.phone-boost-carousel {
  display: flex;
  gap: 8px;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.phone-boost-carousel::-webkit-scrollbar {
  display: none;
}

.phone-boost-carousel .phone-boost-card {
  flex: 0 0 calc(100% - 20px);
  scroll-snap-align: start;
  min-width: 0;
}

.phone[data-preview-view="trends"] .phone-boost-stack {
  display: flex;
}

.phone[data-preview-view="trends"] .phone-card {
  display: none;
}

.phone-accordion-large {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  background: var(--phone-surface-neutral-variant);
  box-sizing: border-box;
}

.phone-accordion-large__media {
  position: relative;
  display: flex;
  flex: 0 0 62px;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 62px;
  height: 68px;
  padding: 4px;
  overflow: hidden;
  box-sizing: border-box;
}

.phone-accordion-large__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.phone-accordion-large__media--icon img {
  width: 65%;
  height: 65%;
  max-width: 65%;
  max-height: 65%;
  transform: translateX(6px);
}

.phone-accordion-large__content {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 20px 20px 20px 0;
  background: var(--phone-surface-neutral-variant);
  box-sizing: border-box;
}

.phone-accordion-large__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 28px;
}

.phone-accordion-large__head-left,
.phone-accordion-large__head-right {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.phone-accordion-large__head-right {
  gap: 2px;
  flex-shrink: 0;
}

.phone-accordion-large__status {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #34c163;
}

.phone-accordion-large__status img {
  display: block;
  width: 14px;
  height: 14px;
}

.phone-accordion-large__status--idle {
  background: #a1a1aa;
}

.phone[data-theme="dark"] .phone-accordion-large__status--idle {
  background: #71717a;
}

.phone-accordion-large__title {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.14px;
  color: var(--text-primary);
  white-space: nowrap;
}

.phone-accordion-large__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

.phone-accordion-large__badge-label {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-muted);
}

.phone-accordion-large__badge-value {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-shrink: 0;
  gap: 2px;
  width: 55px;
  min-width: 55px;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--text-primary);
}

.phone-accordion-large__chevron {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
}

.phone-accordion-large__chevron img {
  display: block;
  width: 24px;
  height: 24px;
  transition: transform 0.35s ease;
}

.phone:not([data-theme="dark"]) .phone-accordion-large__chevron img {
  filter: brightness(0) saturate(100%);
}

.phone[data-theme="dark"] .phone-accordion-large__chevron img {
  filter: brightness(0) invert(1);
}

.phone-accordion-large--home,
.phone-accordion-large--icon-expand {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  background: var(--phone-surface-neutral-variant);
  box-sizing: border-box;
  padding: 0;
  transition:
    padding 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    min-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone[data-theme="dark"] .phone-accordion-large--home,
.phone[data-theme="dark"] .phone-accordion-large--icon-expand {
  border-color: #3f3f46;
  background: #09090b;
}

.phone-accordion-large--home .phone-accordion-large__collapsed,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  min-height: 68px;
  margin: 0;
  padding: 0 0 0 70px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
  box-sizing: border-box;
  transition: opacity 0.2s ease, padding-left 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__media,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__media {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  pointer-events: none;
  flex: none;
  width: 62px;
  height: 68px;
  margin: 0;
  padding: 4px;
  box-sizing: border-box;
  transition:
    width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    left 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    top 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__media img,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__chevron img,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__chevron img {
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__content,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__content {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  padding: 20px 20px 20px 0;
  background: transparent;
  box-sizing: border-box;
  transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__head,
.phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__head {
  display: flex;
  width: 100%;
}

.phone-accordion-large--home .phone-accordion-large__expanded-wrap {
  position: absolute;
  top: 62px;
  left: 158px;
  right: 20px;
  margin: 0;
  padding: 0;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
}

.phone-accordion-large--icon-expand .phone-accordion-large__expanded-wrap {
  position: absolute;
  top: 66px;
  left: 84px;
  right: 20px;
  margin: 0;
  padding: 0;
  display: block;
  height: max-content;
  overflow: hidden;
  box-sizing: border-box;
}

.phone-card--grid-accordion.is-expanded .phone-accordion-large--grid .phone-accordion-large__expanded-wrap {
  position: relative;
  top: auto;
  left: 0;
  right: 0;
  padding-left: 84px;
  margin-top: 8px;
  overflow: visible;
}

.phone-card--ev-accordion.is-expanded .phone-accordion-large--ev .phone-accordion-large__expanded-wrap {
  position: relative;
  top: auto;
  left: 0;
  right: 0;
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: calc(56px * 1.35);
  padding-left: 84px;
  margin-top: 8px;
  overflow: visible;
  box-sizing: border-box;
}

.phone-accordion-large--home .phone-accordion-large__expanded-panel,
.phone-accordion-large--icon-expand .phone-accordion-large__expanded-panel {
  overflow: hidden;
}

.phone-accordion-large--icon-expand .phone-accordion-large__expanded-panel {
  gap: 0;
  height: max-content;
}

@media (prefers-reduced-motion: reduce) {
  .phone-accordion-large--home .phone-accordion-large__expanded-wrap,
  .phone-accordion-large--icon-expand .phone-accordion-large__expanded-wrap,
  .phone-accordion-large--home,
  .phone-accordion-large--icon-expand,
  .phone-accordion-large--home .phone-accordion-large__collapsed,
  .phone-accordion-large--icon-expand .phone-accordion-large__collapsed,
  .phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__content,
  .phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__content,
  .phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__media,
  .phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__media,
  .phone-accordion-large--home .phone-accordion-large__collapsed .phone-accordion-large__chevron img,
  .phone-accordion-large--icon-expand .phone-accordion-large__collapsed .phone-accordion-large__chevron img {
    transition: none;
  }
}

/* Expanded Home + icon-expand accordions — Home uses house media; icon rows share Solar motion */
.phone-card--home-accordion.is-expanded .phone-accordion-large--home,
.phone-card--icon-accordion.is-expanded .phone-accordion-large--icon-expand {
  overflow: hidden;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large--home {
  min-height: 186px;
  padding: 20px 20px 12px;
}

.phone-card--icon-accordion.is-expanded .phone-accordion-large--icon-expand {
  min-height: 167px;
  padding: 20px 20px 12px;
}

.phone-card--grid-accordion.is-expanded .phone-accordion-large--icon-expand.phone-accordion-large--grid,
.phone-card--ev-accordion.is-expanded .phone-accordion-large--icon-expand.phone-accordion-large--ev {
  min-height: 0;
  padding: 20px 20px 12px;
  overflow: visible;
}

.phone-card--grid-accordion.is-expanded.phone-card--icon-accordion,
.phone-card--ev-accordion.is-expanded.phone-card--icon-accordion {
  overflow: visible;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__collapsed,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__collapsed {
  flex-wrap: wrap;
  width: 100%;
  min-height: 0;
  padding-left: 0;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__content,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__content {
  position: relative;
  z-index: 2;
  flex: 0 0 100%;
  width: 100%;
  padding: 0;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__head,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__head {
  align-items: center;
  justify-content: space-between;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__media {
  left: -5px;
  top: 40px;
  width: 150px;
  height: 150px;
  padding: 0;
}

.phone-card--icon-accordion.is-expanded:not(.phone-card--ev-accordion):not(.phone-card--grid-accordion)
  .phone-accordion-large__collapsed
  .phone-accordion-large__media {
  left: 25px;
  top: 70px;
  width: 56px;
  height: 56px;
  padding: 0;
}

.phone-card--grid-accordion.phone-card--icon-accordion.is-expanded
  .phone-accordion-large--grid.phone-accordion-large--icon-expand
  .phone-accordion-large__collapsed
  .phone-accordion-large__media {
  top: 52px;
  left: 25px;
  width: 64px;
  height: 64px;
  padding: 0;
}

.phone-card--battery-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__media {
  width: calc(56px * 1.5);
  height: calc(56px * 1.5);
}

.phone-card--ev-accordion.phone-card--icon-accordion.is-expanded
  .phone-accordion-large--ev.phone-accordion-large--icon-expand
  .phone-accordion-large__collapsed
  .phone-accordion-large__media {
  top: 50%;
  left: 26px;
  width: calc(56px * 1.35);
  height: calc(56px * 1.35);
  padding: 0;
  transform: translateY(calc(-50% + 14px));
}

.phone-card--icon-accordion.is-expanded
  .phone-accordion-large__collapsed
  .phone-accordion-large__media--icon
  img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  transform: none;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__chevron img,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__collapsed .phone-accordion-large__chevron img {
  transform: rotate(180deg);
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__expanded-panel,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__expanded-panel {
  overflow: hidden;
}

.phone-accordion-large__expanded-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}

.phone-card--home-accordion.is-expanded,
.phone-card--icon-accordion.is-expanded {
  overflow: hidden;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__expanded-panel,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__expanded-panel {
  min-height: 0;
  padding: 0;
}

.phone-accordion-large__backdrop {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}

.phone[data-theme="dark"] .phone-accordion-large--home .phone-accordion-large__backdrop {
  opacity: 1;
}

.phone[data-theme="dark"] .phone-accordion-large--icon-expand .phone-accordion-large__backdrop {
  opacity: 0;
}

.phone-accordion-large__backdrop img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.28;
}

.phone-accordion-large--home .phone-accordion-large__inner,
.phone-accordion-large--icon-expand .phone-accordion-large__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

.phone-accordion-large--home .phone-accordion-large__inner {
  gap: 10px;
}

.phone-accordion-large--icon-expand .phone-accordion-large__inner {
  gap: 10px;
}

.phone-accordion-large--home .phone-accordion-large__specs,
.phone-accordion-large--icon-expand .phone-accordion-large__inner {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition:
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-card--home-accordion.is-expanded .phone-accordion-large--home .phone-accordion-large__specs,
.phone-card--icon-accordion.is-expanded .phone-accordion-large--icon-expand .phone-accordion-large__inner {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .phone-accordion-large--home .phone-accordion-large__specs,
  .phone-accordion-large--icon-expand .phone-accordion-large__inner {
    transform: none;
    transition: none;
  }

  .phone-card--home-accordion.is-expanded .phone-accordion-large--home .phone-accordion-large__specs,
  .phone-card--icon-accordion.is-expanded .phone-accordion-large--icon-expand .phone-accordion-large__inner {
    opacity: 1;
  }
}

.phone-accordion-large__expanded-panel .phone-accordion-large__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__expanded-panel,
.phone-card--icon-accordion.is-expanded .phone-accordion-large__expanded-panel {
  cursor: pointer;
}

.phone-accordion-large__badge-amount {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--text-primary);
}

.phone-accordion-large__badge-unit {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__expanded-panel .phone-accordion-large__title,
.phone[data-theme="dark"] .phone-accordion-large__expanded-panel .phone-accordion-large__badge-amount,
.phone[data-theme="dark"] .phone-accordion-large__expanded-panel .phone-accordion-large__badge-unit,
.phone[data-theme="dark"] .phone-accordion-large__expanded-panel .phone-accordion-large__spec-title {
  color: #ffffff;
}

.phone-accordion-large__specs {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
  max-width: 100%;
}

.phone-card--home-accordion.is-expanded .phone-accordion-large__specs {
  align-self: start;
}

.phone-accordion-large__spec {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.phone-accordion-large__spec-title {
  font-family: var(--phone-font-body);
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  color: var(--text-primary);
}

.phone-accordion-large__spec-meta {
  font-family: var(--phone-font-body);
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
}

/* Icon expand accordions (Solar, Grid, Battery, EV) — expanded content */
.phone-accordion-large__specs--icon-expand {
  gap: 0;
  margin: 0;
  padding: 0 0 0 23px;
}

.phone-accordion-large__spec-line {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-primary);
  list-style: none;
}

.phone[data-theme="dark"] .phone-accordion-large__spec-line {
  color: #ffffff;
}

.phone-accordion-large__solar-modes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-height: 0;
  padding: 0 0 0 23px;
}

.phone-accordion-large__solar-mode {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.phone-accordion-large__solar-mode input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.phone-accordion-large__solar-mode-control {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1.5px solid #adacb0;
  border-radius: 50%;
  box-sizing: border-box;
}

.phone-accordion-large__solar-mode input:checked + .phone-accordion-large__solar-mode-control {
  border: none;
  background: url("assets/icons/phone-solar-radio-checked.svg") center / 20px no-repeat;
}

.phone-accordion-large__solar-mode-label {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__solar-mode-label {
  color: #ffffff;
}

.phone-accordion-large__solar-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 0;
}

.phone-accordion-large__solar-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  color: var(--main-primary);
  cursor: pointer;
}

.phone-accordion-large__solar-settings-label {
  color: inherit;
}

.phone-accordion-large__solar-settings-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

/* Battery accordion expanded — Figma lower content */
.phone-accordion-large__inner--battery {
  gap: 0;
}

.phone-accordion-large__battery-costs {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
}

.phone-accordion-large__battery-deets {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 0;
  padding: 0 0 0 23px;
}

.phone-accordion-large__battery-pct-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  padding: 1.5px 3px;
  border: 0.75px solid #34c163;
  border-radius: 4.5px;
  background: rgba(52, 193, 99, 0.33);
  font-family: var(--phone-font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: -0.15px;
  color: #ffffff;
}

.phone:not([data-theme="dark"]) .phone-accordion-large__battery-pct-badge {
  color: #016626;
}

.phone-accordion-large__battery-remaining {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__battery-remaining {
  color: #ffffff;
}

.phone-accordion-large__battery-modes {
  flex-wrap: nowrap;
  gap: 8px;
  min-height: 0;
  margin-top: 7px;
  padding: 0 0 0 23px;
}

.phone-accordion-large__inner--battery .phone-accordion-large__solar-actions {
  margin-top: 2px;
}

.phone-accordion-large__battery-modes .phone-accordion-large__solar-mode-control {
  width: 16px;
  height: 16px;
}

.phone-accordion-large__battery-modes
  .phone-accordion-large__solar-mode
  input:checked
  + .phone-accordion-large__solar-mode-control {
  background-size: 16px;
}

.phone-accordion-large__battery-modes .phone-accordion-large__solar-mode-label {
  font-size: 14px;
  line-height: 20px;
}

/* EV accordion expanded — Figma lower content */
.phone-accordion-large__inner--ev {
  gap: 8px;
  width: 100%;
}

.phone-accordion-large__ev-costs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.phone-accordion-large__ev-deets {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 0;
  padding: 0 0 0 23px;
}

.phone-accordion-large__ev-range-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  padding: 1.5px 3px;
  border: 0.75px solid #34c163;
  border-radius: 4.5px;
  background: rgba(52, 193, 99, 0.33);
  font-family: var(--phone-font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: -0.15px;
  color: #ffffff;
}

.phone:not([data-theme="dark"]) .phone-accordion-large__ev-range-badge {
  color: #016626;
}

.phone-accordion-large__ev-remaining {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__ev-remaining {
  color: #ffffff;
}

.phone-accordion-large__ev-charge-block {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 0 0 0 23px;
  box-sizing: border-box;
}

.phone-accordion-large__ev-charge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
}

.phone-accordion-large__ev-meta-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.phone-accordion-large__ev-charge-label {
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__ev-charge-label {
  color: #ffffff;
}

.phone-accordion-large__ev-charge-meta {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--main-primary);
}

.phone-accordion-large__ev-switch {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  margin: 0 0 0 auto;
  cursor: pointer;
}

.phone-accordion-large__ev-switch-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.phone-accordion-large__ev-switch-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.phone-accordion-large__ev-switch-track {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 34px;
  height: 20px;
  padding: 2px;
  border-radius: 1000px;
  background: #adacb0;
  box-sizing: border-box;
  transition: background 0.15s ease;
}

.phone-accordion-large__ev-switch-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.15s ease;
}

.phone-accordion-large__ev-switch-input:checked + .phone-accordion-large__ev-switch-track {
  background: #4272dd;
}

.phone-accordion-large__ev-switch-input:checked + .phone-accordion-large__ev-switch-track::after {
  transform: translateX(14px);
}

.phone-accordion-large__ev-switch-input:focus-visible + .phone-accordion-large__ev-switch-track {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-accordion-large__ev-sync {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  gap: 4px;
  margin: 0;
  padding: 6px 8px;
  border: 0;
  border-radius: 4px;
  background: var(--main-primary);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  color: #ffffff;
  cursor: not-allowed;
  opacity: 0.55;
}

.phone-accordion-large__ev-sync:disabled {
  opacity: 0.55;
}

.phone-accordion-large__ev-sync-label {
  color: inherit;
}

.phone-accordion-large__ev-sync-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

/* Grid accordion expanded — Figma lower content */
.phone-card--grid-accordion.is-expanded .phone-accordion-large--grid .phone-accordion-large__expanded-panel,
.phone-card--ev-accordion.is-expanded .phone-accordion-large--ev .phone-accordion-large__expanded-panel {
  overflow: visible;
  flex: 1;
  width: 100%;
  min-width: 0;
}

.phone-accordion-large__inner--grid {
  gap: 4px;
}

.phone-accordion-large__grid-status {
  margin: 0;
  padding: 0 0 0 23px;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-primary);
}

.phone[data-theme="dark"] .phone-accordion-large__grid-status {
  color: #ffffff;
}

.phone-accordion-large__grid-charts {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  color: var(--main-primary);
  cursor: pointer;
}

.phone-accordion-large__grid-charts-label {
  color: inherit;
}

.phone-accordion-large__grid-charts-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.phone-boost-card {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: 18px;
  background: var(--phone-surface-neutral-variant);
  border: 0.5px solid var(--main-tertiary, #9fa5ab);
  border-radius: 11px;
  box-sizing: border-box;
}

.phone:not([data-theme="dark"]) .phone-boost-card {
  border-color: var(--color-border-light);
}

.phone-boost-card--stacked {
  z-index: 0;
}

.phone-boost-card__header {
  display: flex;
  align-items: center;
  gap: 6px;
}

.phone-boost-card__ada {
  display: block;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
}

.phone-boost-card__eyebrow {
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.19px;
  background: linear-gradient(180deg, #1751d0 0%, #53a7fc 99.98%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.phone-boost-card__body {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding-left: 8px;
  align-items: stretch;
}

.phone-boost-card__title {
  position: absolute;
  top: 12px;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 108px;
  height: 108px;
  margin: 0;
  padding: 20px 16px;
  border: none;
  border-radius: 0;
  background-color: transparent;
  background-image: url("assets/media/boost-sticker-scallop.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  filter: drop-shadow(0 4px 10px rgba(228, 35, 35, 0.32));
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-align: center;
  text-wrap: balance;
  color: #ffffff;
  white-space: normal;
  box-sizing: border-box;
  pointer-events: none;
  transform: rotate(-18deg);
  transform-origin: center center;
}

.phone-boost-card__copy-row {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  min-height: 0;
  padding-top: 36px;
}

.phone-boost-card__image-wrap {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  min-height: 180px;
  max-height: 220px;
  overflow: visible;
}

.phone-boost-card__image {
  display: block;
  flex-shrink: 0;
  width: 215px;
  height: 215px;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

.phone-boost-card__copy-col {
  display: flex;
  flex: none;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  align-self: stretch;
  width: 100%;
  min-width: 0;
}

.phone-boost-card__copy {
  flex: 1;
  width: auto;
  min-width: 0;
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
  color: #adacb0;
  text-align: left;
  word-break: break-word;
}

.phone-boost-card__badge {
  position: absolute;
  top: 172px;
  left: calc(50% + 44px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  border-radius: 4px;
  background: #e1faea;
  color: #016626;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  white-space: nowrap;
  transform: translateX(-50%);
}

.phone-boost-card__cta {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 32px;
  padding: 0 12px;
  border: 1.5px solid #4272dd;
  border-radius: 4px;
  background: transparent;
  color: #4c4b53;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-boost-card__cta:focus-visible {
  outline: 2px solid #4272dd;
  outline-offset: 2px;
}

.phone-boost-stack__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.phone-boost-stack__dot {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d4d4d8;
  cursor: default;
  flex-shrink: 0;
}

.phone-boost-stack__dot.is-active {
  background: var(--main-primary, #4272dd);
}

.phone-boost-stack__dot:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone[data-theme="dark"] .phone-boost-stack__dot {
  background: #52525b;
}

.phone[data-theme="dark"] .phone-boost-stack__dot.is-active {
  background: var(--main-primary, #4272dd);
}

.phone-boost-stack__shop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  height: 45px;
  padding: 0 18px;
  border: none;
  border-radius: 4px;
  background: var(--main-primary);
  color: #ffffff;
  font-family: var(--phone-font-body);
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
}

.phone-boost-stack__shop-icon {
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.phone[data-theme="dark"] .phone-boost-card {
  background: var(--phone-surface-neutral-variant);
  border-color: var(--color-border);
}

.phone[data-theme="dark"] .phone-boost-card__copy {
  color: var(--text-muted);
}

.phone[data-theme="dark"] .phone-boost-card__title {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
  color: #ffffff;
}

.phone[data-theme="dark"] .phone__view--default .phone-boost-card__badge {
  background: rgba(21, 185, 78, 0.82);
  color: #ffffff;
}

.phone[data-theme="dark"] .phone-boost-card__cta {
  color: #ffffff;
}

.phone-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.phone-home-go-back-up {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 10px 8px;
  border: none;
  border-radius: 4px;
  background: rgba(79, 79, 79, 0.33);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  cursor: pointer;
}

.phone-home-go-back-up__icon {
  display: block;
  flex-shrink: 0;
  width: 17px;
  height: 17px;
}

.phone-home-go-back-up__label {
  white-space: nowrap;
}

.phone[data-theme="light"] .phone-home-go-back-up {
  background: rgba(207, 207, 207, 0.33);
  color: var(--text-primary, #0a090b);
}

.phone[data-theme="light"] .phone-home-go-back-up__icon {
  filter: brightness(0);
}

.phone-home-go-back-up:focus-visible {
  outline: 2px solid #4272dd;
  outline-offset: 2px;
}

.phone-home-status-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #91ddad;
  border-radius: 4px;
  background: #ebfbf1;
  box-sizing: border-box;
}

.phone-home-status-badge__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #34c163;
}

.phone-home-status-badge__icon img {
  display: block;
  width: 14px;
  height: 14px;
}

.phone-home-status-badge__text {
  flex: 1;
  min-width: 0;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #016626;
}

.phone-home-status-badge__dismiss {
  flex-shrink: 0;
  margin-left: auto;
  padding: 0;
  border: none;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.02em;
  color: #016626;
  cursor: pointer;
}

.phone-home-status-badge__dismiss:hover {
  opacity: 0.72;
}

.phone-home-status-badge__dismiss:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone[data-theme="dark"] .phone-home-status-badge {
  border-color: #34c163;
  background: rgba(52, 193, 99, 0.18);
}

.phone[data-theme="dark"] .phone-home-status-badge__text,
.phone[data-theme="dark"] .phone-home-status-badge__dismiss {
  color: #ffffff;
}

.phone-home-summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin: 0 0 12px;
}

.phone-home-summary__card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-border-light, #e5e5e8);
  border-radius: 12px;
  background: var(--phone-surface-neutral-variant, #fff);
}

.phone-home-summary__card-bg {
  display: none;
}

.phone-home-summary__inner {
  position: relative;
  z-index: 1;
  padding: 16px;
  overflow: hidden;
  border-radius: 12px;
}

.phone-home-summary__main {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.phone-home-summary__visual {
  position: relative;
  width: 100%;
  min-height: 338px;
  padding-top: 0;
  overflow: visible;
}

.phone-home-summary__scene-wrap {
  position: absolute;
  top: -28px;
  left: 50%;
  width: 479px;
  height: 374.728px;
  overflow: visible;
  pointer-events: none;
  transform: translateX(calc(-50% + 10px));
}

.phone-home-summary__scene {
  position: absolute;
  top: -30.43%;
  left: -12.93%;
  width: 125.85%;
  max-width: none;
  height: 160.87%;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
}

.phone-home-summary__badges {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.phone-home-summary__status {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 14px 0 10px;
  border: 1px solid #91ddad;
  border-radius: 5px;
  background: #14ad4d;
}

.phone-home-summary__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  border-radius: 999px;
  background: #018030;
}

.phone-home-summary__status-icon img {
  display: block;
  width: 19px;
  height: 19px;
}

.phone-home-summary__status-text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 19px;
  white-space: nowrap;
}

.phone-home-summary__spend {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border: 1px solid rgba(123, 123, 123, 0.65);
  border-radius: 11px;
  background: rgba(158, 158, 158, 0.52);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  color: var(--text-primary, #0a090b);
  text-align: center;
  white-space: nowrap;
}

.phone-home-summary__spend-label {
  margin: 0 0 -3px;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  color: #fff;
}

.phone[data-theme="dark"] .phone-home-summary__spend {
  border-color: #7b7b7b;
  background: rgba(66, 66, 66, 0.44);
  color: #fff;
}

.phone[data-theme="dark"] .phone-home-summary__spend-label {
  color: #fff;
}

.phone-home-summary__spend-value {
  margin: 0;
  font-size: 30px;
  font-weight: 600;
  line-height: 43px;
  letter-spacing: -0.3px;
  color: var(--main-primary, #4272dd);
}

.phone-home-summary__details {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 12px;
}

.phone-home-summary__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.phone-home-summary__list[hidden] {
  display: none;
}

.phone-home-summary__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.phone-home-summary__item-title {
  margin: 0;
  color: var(--text-primary, #0a090b);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.phone-home-summary__item-sub {
  margin: 0;
  color: #adacb0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

.phone-home-summary__toggle {
  align-self: flex-start;
  margin: 0;
  padding: 8px 0 0;
  border: none;
  background: none;
  color: var(--main-primary, #4272dd);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  cursor: pointer;
}

.phone-home-summary__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 4px;
  background: var(--main-primary, #4272dd);
  color: #fff;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
  box-sizing: border-box;
}

.phone-home-summary__cta:focus-visible {
  outline: 2px solid var(--main-primary, #4272dd);
  outline-offset: 2px;
}

.phone-full-app__content[data-home-energy-details][hidden] {
  display: none !important;
}

.phone__view--home-landing,
.phone__view--home-energy {
  display: none;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  min-width: 0;
  width: 100%;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"] .phone__view--default {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"] .phone__view--home-landing {
  display: flex;
  flex: 0 0 auto;
  overflow: visible;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="details"] .phone__view--home-landing {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="details"] .phone__view--home-energy {
  display: flex;
  flex: 1;
  overflow: hidden;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="summary"] .phone__scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="summary"] .phone__view--home-landing {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="summary"] .phone-home-summary {
  display: flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--home-landing,
.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone__view--home-energy {
  display: none !important;
}

.phone-accordion-large-stack {
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.phone-preview-energy-tabs {
  display: none;
  flex-shrink: 0;
  width: 100%;
  margin: 0 0 8px;
}

.phone-full-app__content {
  display: block;
  width: 100%;
}

.phone-full-app__accordions-scroll {
  display: block;
  width: 100%;
}

.phone-full-app__energy-panels {
  overflow: hidden;
  width: 100%;
}

.phone-full-app__energy-panels-track {
  display: flex;
  align-items: flex-start;
  width: 100%;
  transition: transform 0.48s cubic-bezier(0.34, 1.28, 0.64, 1);
}

.phone-full-app__energy-panel {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .phone-full-app__energy-panels-track {
    transition: none;
  }
}

.phone-full-app__energy-panel-placeholder {
  margin: 0;
  padding: 24px 8px;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  color: var(--text-secondary);
}

.phone[data-preview-view="full-app"] .phone__scroll {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0 12px 12px;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"] .phone__scroll {
  padding-top: 12px;
}

.phone[data-preview-view="full-app"] .phone__view--default {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.phone[data-preview-view="full-app"] .phone-full-app__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.phone[data-preview-view="full-app"] .phone-preview-energy-tabs {
  display: block;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  margin: 0;
  padding: 0 0 12px;
  background: var(--phone-header-neutral);
  box-shadow: 0 6px 12px -4px var(--phone-header-neutral);
}

.phone[data-preview-view="full-app"] .phone-preview-energy-tabs::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--color-border-light);
  pointer-events: none;
}

.phone[data-preview-view="full-app"] .phone-full-app__accordions-scroll {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--phone-header-neutral);
}

.phone[data-preview-view="full-app"] .phone-full-app__energy-panels {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.phone[data-preview-view="full-app"] .phone-full-app__energy-panels-track {
  flex: 1;
  min-height: 0;
  height: 100%;
  align-items: stretch;
}

.phone[data-preview-view="full-app"] .phone-full-app__energy-panel {
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.phone[data-preview-view="full-app"] .phone-full-app__energy-panel--stats {
  overflow-y: hidden;
}

.phone-preview-energy-tabs__track {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 0;
  width: 100%;
  height: auto;
  padding: 3px 4px;
  border-radius: 55px;
  background: rgba(10, 9, 11, 0.06);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-preview-energy-tabs__track {
  background: rgba(255, 255, 255, 0.08);
}

.phone-preview-energy-tabs__indicator {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 4px;
  width: calc((100% - 8px) / 3);
  height: auto;
  border-radius: 55px;
  background: #ffffff;
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
  pointer-events: none;
  transition: transform 0.48s cubic-bezier(0.34, 1.28, 0.64, 1);
}

.phone[data-theme="dark"] .phone-preview-energy-tabs__indicator {
  background: rgba(255, 255, 255, 0.33);
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.24);
}

.phone[data-theme="dark"] .phone-preview-energy-tabs__item.is-active {
  color: #ffffff;
}

.phone-preview-energy-tabs__item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 6px 4px;
  border: none;
  border-radius: 55px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}

.phone-preview-energy-tabs__item.is-active {
  color: var(--text-muted);
}

.phone:not([data-theme="dark"]) .phone-preview-energy-tabs__item.is-active {
  color: #6b6a76;
}

.phone-preview-energy-tabs__item:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-energy-unit-toggle {
  display: none;
  flex-shrink: 0;
  justify-content: center;
  padding: 8px 16px 6px;
  background-color: var(--phone-header-neutral);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"][data-home-energy-view="details"] .phone-energy-unit-toggle {
  display: flex;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="home"] .phone__tabbar-wrap {
  padding-top: 6px;
}

.phone-energy-unit-toggle__track {
  position: relative;
  display: flex;
  align-items: center;
  width: min(220px, 100%);
  padding: 3px 4px;
  border-radius: 55px;
  background: rgba(10, 9, 11, 0.06);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-energy-unit-toggle__track {
  background: rgba(255, 255, 255, 0.08);
}

.phone-energy-unit-toggle__indicator {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 4px;
  width: calc((100% - 8px) / 2);
  border-radius: 55px;
  background: #ffffff;
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
  pointer-events: none;
  transition: transform 0.48s cubic-bezier(0.34, 1.28, 0.64, 1);
}

.phone[data-theme="dark"] .phone-energy-unit-toggle__indicator {
  background: rgba(255, 255, 255, 0.33);
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.24);
}

.phone-energy-unit-toggle__option {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 6px 8px;
  border: none;
  border-radius: 55px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}

.phone-energy-unit-toggle__option.is-active {
  color: var(--text-muted);
}

.phone:not([data-theme="dark"]) .phone-energy-unit-toggle__option.is-active {
  color: #6b6a76;
}

.phone[data-theme="dark"] .phone-energy-unit-toggle__option.is-active {
  color: #ffffff;
}

.phone-energy-unit-toggle__option:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .phone-energy-unit-toggle__indicator {
    transition: none;
  }
}

.phone-card.phone-card--accordion-large {
  display: none;
  gap: 0;
}

.phone-accordion-large-stack .phone-card.phone-card--accordion-large {
  display: flex;
}

.phone-accordion-large-stack .phone-card--power-flow-home {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  overflow: visible;
  border-radius: 12px;
}

.phone-power-flow-home {
  --pf-badge-bg: rgba(255, 255, 255, 0.58);
  --pf-badge-border: var(--color-border-light);
  --pf-badge-label: #6b6a76;
  --pf-badge-value: var(--text-primary);
  --pf-badge-center-bg: rgba(255, 255, 255, 0.58);
  --pf-badge-center-border: var(--color-border-light);
  --pf-flow-line: #c9a000;
  --pf-flow-line-idle: #a3a2ac;
  --pf-scene-bg: transparent;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  background: var(--phone-surface-neutral-variant);
  box-sizing: border-box;
}

.phone[data-theme="dark"] .phone-power-flow-home {
  --pf-badge-bg: rgba(10, 9, 11, 0.58);
  --pf-badge-border: #4b4b4b;
  --pf-badge-label: #6b6a76;
  --pf-badge-value: #ffffff;
  --pf-badge-center-bg: rgba(0, 0, 0, 0.58);
  --pf-badge-center-border: #42464e;
  --pf-flow-line: #e8c547;
  --pf-flow-line-idle: #6b6a76;
  --pf-scene-bg: transparent;
  border-color: #3f3f46;
  background: #09090b;
}

.phone-power-flow-home__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.14px;
  color: var(--text-primary);
  white-space: nowrap;
}

.phone-power-flow-home__diagram {
  position: relative;
  width: 100%;
  max-width: 323px;
  margin: 0 auto;
  aspect-ratio: 323 / 324;
  container-type: inline-size;
}

.phone-power-flow-home__scene {
  position: absolute;
  top: 4%;
  right: 0;
  bottom: 2%;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background: var(--pf-scene-bg);
  pointer-events: none;
}

.phone-power-flow-home__asset {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.phone-power-flow-home__asset--solar,
.phone-power-flow-home__asset--grid,
.phone-power-flow-home__asset--charger,
.phone-power-flow-home__asset--ev,
.phone-power-flow-badge--solar,
.phone-power-flow-badge--grid,
.phone-power-flow-badge--charger,
.phone-power-flow-badge--ev {
  pointer-events: auto;
  cursor: pointer;
}

.phone-power-flow-home__asset--solar:focus-visible,
.phone-power-flow-home__asset--grid:focus-visible,
.phone-power-flow-home__asset--charger:focus-visible,
.phone-power-flow-home__asset--ev:focus-visible,
.phone-power-flow-badge--solar:focus-visible,
.phone-power-flow-badge--grid:focus-visible,
.phone-power-flow-badge--charger:focus-visible,
.phone-power-flow-badge--ev:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone-power-flow-home__asset--solar {
  top: 0;
  left: 50%;
  width: 20.5cqw;
  transform: translateX(-50%);
}

.phone-power-flow-home__asset--grid {
  top: 32%;
  left: 0;
  width: 16.5cqw;
}

.phone-power-flow-home__asset--house {
  top: 24%;
  left: 23.5%;
  z-index: 1;
  width: 55cqw;
}

.phone-power-flow-home__asset--charger {
  top: 36%;
  right: 6%;
  width: 12cqw;
  transform: scale(1.15) translate(9px, -2px);
  transform-origin: top right;
}

.phone-power-flow-home__asset--ev {
  top: 74%;
  left: 35%;
  width: 31cqw;
  transform: translateY(18px);
}

.phone-power-flow-home__line-hub {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.phone-power-flow-home__line {
  --pf-line-dash-period: 10px;
  --pf-line-thickness: 4px;
  position: absolute;
  left: 51%;
  top: 51.5%;
  margin-top: calc(var(--pf-line-thickness) / -2);
  height: var(--pf-line-thickness);
  transform-origin: 0 50%;
  border-radius: 3px;
  background-image: repeating-linear-gradient(
    90deg,
    var(--pf-flow-line) 0 5px,
    transparent 5px var(--pf-line-dash-period)
  );
  background-size: var(--pf-line-dash-period) 100%;
  opacity: 0.95;
}

.phone-power-flow-home__line--north {
  width: 31%;
  transform: rotate(-90deg);
  animation: phone-power-flow-dots-to-house 0.325s linear infinite;
}

.phone-power-flow-home__line--battery {
  width: 34%;
  transform: rotate(0deg);
  animation: phone-power-flow-dots-from-house 0.325s linear infinite;
}

.phone-power-flow-home__line--south {
  width: 32%;
  transform: rotate(90deg);
  animation: phone-power-flow-dots-from-house 0.325s linear infinite;
}

.phone-power-flow-home__line--west {
  width: 36%;
  transform: rotate(180deg);
  background-image: repeating-linear-gradient(
    90deg,
    var(--pf-flow-line-idle) 0 5px,
    transparent 5px var(--pf-line-dash-period)
  );
  opacity: 0.45;
}

.phone-power-flow-home.is-battery-idle .phone-power-flow-home__line--battery {
  animation: none;
  background-image: repeating-linear-gradient(
    90deg,
    var(--pf-flow-line-idle) 0 5px,
    transparent 5px var(--pf-line-dash-period)
  );
  opacity: 0.45;
}

.phone-power-flow-home.is-ev-idle .phone-power-flow-home__line--south {
  animation: none;
  background-image: repeating-linear-gradient(
    90deg,
    var(--pf-flow-line-idle) 0 5px,
    transparent 5px var(--pf-line-dash-period)
  );
  opacity: 0.45;
}

.phone-power-flow-home.is-grid-feed-in .phone-power-flow-home__line--west {
  background-image: repeating-linear-gradient(
    90deg,
    var(--pf-flow-line) 0 5px,
    transparent 5px var(--pf-line-dash-period)
  );
  opacity: 0.95;
  animation: phone-power-flow-dots-from-house 0.325s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .phone-power-flow-home.is-grid-feed-in .phone-power-flow-home__line--west {
    animation: none;
  }
}

/* Battery idle → grid feed-in prompt */
.phone-battery-idle-modal {
  position: absolute;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.phone-battery-idle-modal[hidden] {
  display: none;
}

.phone-battery-idle-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 9, 11, 0.55);
}

.phone-battery-idle-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: min(100%, 280px);
  padding: 20px 16px 16px;
  border: 1px solid var(--grey-500);
  border-radius: 12px;
  background: var(--phone-surface-neutral-variant);
  box-shadow: 0 12px 32px rgba(10, 9, 11, 0.18);
  box-sizing: border-box;
}

.phone-battery-idle-modal__title {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
}

.phone-battery-idle-modal__actions {
  display: flex;
  gap: 8px;
  width: 100%;
}

.phone-battery-idle-modal__btn {
  flex: 1;
  min-height: 36px;
  padding: 0 12px;
  border: 1.5px solid var(--main-primary);
  border-radius: 4px;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  cursor: pointer;
}

.phone-battery-idle-modal__btn--yes {
  background: var(--main-primary);
  color: #ffffff;
}

.phone-battery-idle-modal__btn:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.phone[data-theme="dark"] .phone-battery-idle-modal__panel {
  border-color: var(--grey-600);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.phone[data-theme="dark"] .phone-battery-idle-modal__btn {
  color: #ffffff;
}

@keyframes phone-power-flow-dots-from-house {
  from {
    background-position: 0 0;
  }

  to {
    background-position: var(--pf-line-dash-period) 0;
  }
}

@keyframes phone-power-flow-dots-to-house {
  from {
    background-position: 0 0;
  }

  to {
    background-position: calc(var(--pf-line-dash-period) * -1) 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone-power-flow-home__line--north,
  .phone-power-flow-home__line--battery,
  .phone-power-flow-home__line--south {
    animation: none;
  }
}

.phone-power-flow-home__badges {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.phone-power-flow-badge {
  position: absolute;
  font-family: var(--phone-font-body);
  white-space: nowrap;
}

.phone-power-flow-badge__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border: 1.5px solid var(--pf-badge-border);
  border-radius: 4px;
  background: var(--pf-badge-bg);
  text-align: center;
}

.phone-power-flow-badge__wrap--center {
  border-color: var(--pf-badge-center-border);
  background: var(--pf-badge-center-bg);
  border-radius: 7px;
}

.phone-power-flow-badge__wrap--pill {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--pf-badge-value);
}

.phone-power-flow-badge__label {
  margin-bottom: -4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--pf-badge-label);
}

.phone-power-flow-badge__value {
  font-size: 0;
  line-height: 0;
  color: var(--pf-badge-value);
}

.phone-power-flow-badge__value strong {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.phone-power-flow-badge__unit {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

.phone-power-flow-badge__value--lg strong {
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.24px;
}

.phone-power-flow-badge__value--lg .phone-power-flow-badge__unit {
  font-size: 14px;
  font-weight: 400;
  line-height: 28px;
}

.phone-power-flow-badge--solar {
  top: 3%;
  left: 36%;
  transform: translateX(calc(-50% - 9px));
}

.phone-power-flow-badge--grid {
  top: 55%;
  left: 6%;
  transform: translate(calc(-50% + 20px), 3px);
}

.phone-power-flow-badge--center {
  top: 24%;
  left: 23.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55%;
  aspect-ratio: 1;
  transform: translateY(-6px);
}

.phone-power-flow-badge--charger {
  top: 19%;
  right: 13%;
  transform: translateX(50%);
}

.phone-power-flow-badge--charging {
  top: 81%;
  left: 24%;
  transform: translate(calc(-50% + 8px), 8px);
}

.phone-power-flow-badge--ev {
  top: 72%;
  right: 20%;
  transform: translate(50%, 12px);
}

/* Energy Stats tab */
.phone-energy-stats {
  --es-card-bg: #09090b;
  --es-card-border: #303038;
  --es-card-text: #ffffff;
  --es-chart-muted: #6b6a76;
  --es-chart-grid: #6b6a76;
  --es-bar-generated: #ffd800;
  --es-bar-used: #808080;
  --es-range-track: rgba(255, 255, 255, 0.08);
  --es-range-active-bg: #ffffff;
  --es-range-active-text: #0a090b;
  --es-range-inactive-text: #ffffff;
  --es-btn-border: #4272dd;
  --es-btn-text: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.phone:not([data-theme="dark"]) .phone-energy-stats {
  --es-card-bg: var(--phone-surface-neutral-variant);
  --es-card-border: var(--color-border-light);
  --es-card-text: var(--text-primary);
  --es-chart-muted: var(--text-secondary);
  --es-chart-grid: #c9c9cc;
  --es-range-track: rgba(10, 9, 11, 0.06);
  --es-range-active-bg: #ffffff;
  --es-range-active-text: #0a090b;
  --es-range-inactive-text: var(--text-secondary);
  --es-btn-text: var(--text-primary);
}

.phone-energy-stats__section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.phone-energy-stats__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--es-card-border);
  border-radius: 12px;
  background: var(--es-card-bg);
  overflow: hidden;
  box-sizing: border-box;
}

.phone-energy-stats__card-texture {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #000000;
  pointer-events: none;
}

.phone-energy-stats__card-texture::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url("assets/media/energy-stats/energy-chart-texture.png") center / cover no-repeat;
  opacity: 0.28;
}

.phone:not([data-theme="dark"]) .phone-energy-stats__card-texture {
  display: none;
}

.phone-energy-stats__title,
.phone-energy-stats__graph,
.phone-energy-stats__controls {
  position: relative;
  z-index: 1;
}

.phone-energy-stats__title {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.14px;
  color: var(--es-card-text);
}

.phone-energy-stats__graph {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.phone-energy-stats__chart {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.phone-energy-stats__chart-max {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--es-card-text);
  text-align: left;
  padding-left: 22px;
}

.phone-energy-stats__chart-body {
  display: flex;
  align-items: flex-end;
  gap: 0;
  width: 100%;
  min-height: 116px;
}

.phone-energy-stats__chart-y-axis {
  display: flex;
  flex-shrink: 0;
  align-items: stretch;
  gap: 6px;
  height: 116px;
}

.phone-energy-stats__chart-y-label-wrap {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 100%;
}

.phone-energy-stats__chart-y-label {
  display: block;
  font-family: var(--phone-font-body);
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: var(--es-card-text);
  white-space: nowrap;
  transform: rotate(-90deg);
}

.phone-energy-stats__chart-y-line {
  flex-shrink: 0;
  align-self: stretch;
  width: 0;
  border-left: 1px dotted var(--es-chart-grid);
}

.phone-energy-stats__chart-plot {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 116px;
}

.phone-energy-stats__chart-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.phone-energy-stats__chart-grid-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
  border-top: 1px dotted var(--es-chart-grid);
}

.phone-energy-stats__chart-grid-line:nth-child(1) {
  top: 0;
}

.phone-energy-stats__chart-grid-line:nth-child(2) {
  top: calc(100% / 9 * 1);
}

.phone-energy-stats__chart-grid-line:nth-child(3) {
  top: calc(100% / 9 * 2);
}

.phone-energy-stats__chart-grid-line:nth-child(4) {
  top: calc(100% / 9 * 3);
}

.phone-energy-stats__chart-grid-line:nth-child(5) {
  top: calc(100% / 9 * 4);
}

.phone-energy-stats__chart-grid-line:nth-child(6) {
  top: calc(100% / 9 * 5);
}

.phone-energy-stats__chart-grid-line:nth-child(7) {
  top: calc(100% / 9 * 6);
}

.phone-energy-stats__chart-grid-line:nth-child(8) {
  top: calc(100% / 9 * 7);
}

.phone-energy-stats__chart-grid-line:nth-child(9) {
  top: calc(100% / 9 * 8);
}

.phone-energy-stats__chart-grid-line:nth-child(10) {
  bottom: 0;
  top: auto;
}

.phone-energy-stats__bars {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  gap: 1px;
  align-items: flex-end;
  height: 116px;
}

.phone-energy-stats__bar {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 1px 1px 0 0;
}

.phone-energy-stats__bars.is-animating .phone-energy-stats__bar {
  transition: height 0.58s cubic-bezier(0.34, 1.38, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
  .phone-energy-stats__bars.is-animating .phone-energy-stats__bar {
    transition: none;
  }
}

.phone-energy-stats__bar--generated {
  background: var(--es-bar-generated);
}

.phone-energy-stats__bar--used {
  background: var(--es-bar-used);
}

.phone-energy-stats__chart-times {
  display: flex;
  justify-content: space-between;
  padding-left: 22px;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: var(--es-card-text);
  white-space: nowrap;
}

.phone-energy-stats__legend {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
}

.phone-energy-stats__legend-item {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.phone-energy-stats__legend-swatch {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.phone-energy-stats__legend-swatch--generated {
  background: var(--es-bar-generated);
}

.phone-energy-stats__legend-swatch--used {
  background: var(--es-bar-used);
}

.phone-energy-stats__legend-label {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-style: italic;
  font-weight: 400;
  line-height: 16px;
  color: var(--es-card-text);
}

.phone-energy-stats__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 12px;
}

.phone-energy-stats__range-tabs {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 4px;
  border-radius: 55px;
  background: var(--es-range-track);
  backdrop-filter: blur(4px);
}

.phone-energy-stats__range-tab {
  margin: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: 55px;
  background: transparent;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: var(--es-range-inactive-text);
  cursor: pointer;
}

.phone-energy-stats__range-tab.is-active {
  background: var(--es-range-active-bg);
  color: var(--es-range-active-text);
  box-shadow: 0 1.5px 2px rgba(10, 9, 11, 0.07);
}

.phone-energy-stats__range-tab:focus-visible {
  outline: 2px solid var(--es-btn-border);
  outline-offset: 2px;
}

.phone[data-preview-view="full-app"] .phone-boost-stack {
  display: none;
}

.phone[data-preview-view="full-app"]:not([data-active-phone-tab="trends"]) .phone-boost-stack__shop {
  display: none;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="trends"] .phone-boost-stack__shop {
  display: flex;
}

.phone[data-preview-view="full-app"] .phone-card--home-default {
  display: none;
}

.phone[data-preview-view="full-app"] .phone-accordion-large-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.phone-accordion-large-stack > .phone-card {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: 12px;
}

.phone-card__tags,
.phone-card__body {
  background: var(--phone-surface-neutral-variant);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

.phone-card__tags {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 12px;
}

.phone-card__body {
  padding: 18px;
}

.tag-row {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 38px;
  padding: 4px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.tag-row .check {
  display: inline-flex;
  flex-shrink: 0;
}

.tag-row .check img {
  display: block;
  width: 16px;
  height: 16px;
}

.tag-row .check--house img {
  width: 56px;
  height: 40px;
}

.tag-row .check--error {
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--main-error);
}

.tag-row .pill-group {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 86px;
  flex-shrink: 0;
}

.pill-muted {
  display: inline-block;
  padding: 2px 4px;
  border-radius: var(--radius-sm);
  background: unset;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
}

.pill-muted--error {
  color: var(--main-error);
}

.pill-muted__code {
  font-size: 20px;
  font-weight: 600;
  line-height: 16px;
  color: var(--text-primary);
}

.phone-card__body h2,
.tag-row > span:not(.check):not(.pill-group) {
  font-family: var(--phone-font-display);
}

.phone-card__body h2 {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  color: var(--text-primary);
}

.phone-card__body p {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-muted);
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.btn-p {
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  border: none;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
}

.btn-p--1 {
  background: var(--main-primary);
  color: #ffffff;
}

.btn-p--2 {
  background: var(--main-secondary);
  color: #ffffff;
}

.btn-p--3 {
  background: var(--main-tertiary);
  color: #ffffff;
}

.phone__tabbar-wrap {
  flex-shrink: 0;
  padding: 18px 0;
  background-color: var(--phone-header-neutral);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__tabbar-wrap {
  background: color-mix(in srgb, var(--phone-surface-neutral-variant, #fff) 92%, transparent);
  backdrop-filter: blur(4px);
}

.phone[data-theme="dark"][data-preview-view="full-app"][data-active-phone-tab="ask-ada"] .phone__tabbar-wrap {
  background: color-mix(in srgb, var(--phone-surface-neutral-variant) 92%, transparent);
}

.phone__tabbar {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-left: 16px;
  margin-right: 16px;
  padding: 8px 4px;
  border: none;
  border-radius: 999px;
  background: var(--main-surface-neutral-variant);
  color: var(--main-tertiary);
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__tabbar-wrap {
  background-color: transparent;
}

.phone[data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__tabbar {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  backdrop-filter: blur(24px) saturate(1.35);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
}

.phone[data-theme="dark"][data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__tabbar-wrap {
  background-color: transparent;
}

.phone[data-theme="dark"][data-preview-view="full-app"][data-active-phone-tab="contact"] .phone__tabbar {
  background: rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.22);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(24px) saturate(1.35);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
}

.phone__tabbar button {
  border: none;
  background: none;
  padding: 4px 8px;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
}

.phone__tab-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  transform-origin: center;
}

@keyframes phone-tab-ic-select-bounce {
  0% {
    transform: scale(0.94);
  }

  38% {
    transform: scale(1.1);
  }

  58% {
    transform: scale(0.98);
  }

  76% {
    transform: scale(1.03);
  }

  90% {
    transform: scale(0.995);
  }

  100% {
    transform: scale(1);
  }
}

.phone__tab-ic img,
.phone__tab-ic__svg {
  display: block;
  width: 24px;
  height: 24px;
  color: var(--main-tertiary);
  transition:
    width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    height 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.phone__tabbar button:not(.is-active) .phone__tab-ic__svg {
  color: #c8c8cc;
}

.phone__tabbar button.is-active {
  color: var(--main-primary);
}

.phone__tabbar button.is-active .phone__tab-ic {
  background: none;
  animation: phone-tab-ic-select-bounce 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.phone__tabbar button.is-active .phone__tab-ic__svg {
  width: 36px;
  height: 36px;
  color: var(--main-primary);
}

.phone[data-theme="dark"] .phone__tabbar {
  color: #a8a8ae;
}

.phone[data-theme="dark"] .phone__tabbar button:not(.is-active) .phone__tab-ic__svg {
  color: #b4b4ba;
  opacity: 1;
  filter: none;
}

.phone[data-theme="dark"] .phone__tabbar button.is-active .phone__tab-ic__svg {
  color: var(--main-primary);
}

@media (prefers-reduced-motion: reduce) {
  .phone__tabbar button.is-active .phone__tab-ic {
    animation: none;
  }
}

.theme-toggle {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.theme-toggle label {
  cursor: pointer;
}

.theme-toggle label.is-disabled,
.theme-toggle__option.is-disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}

.theme-toggle__option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-muted);
}

.theme-toggle__option:not(.theme-toggle__option--dark) {
  background: #f1f1f1;
}

.theme-toggle__option--dark {
  background: #333333;
  color: #ffffff;
}

.theme-toggle__option--dark input[type="radio"] {
  border-color: #ffffff;
  background: var(--main-surface-neutral-variant);
}

.theme-toggle__option--dark input[type="radio"]:checked {
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--main-surface-neutral-variant) 4px 6px
  );
}

.theme-toggle input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  border: 1px solid #333333;
  border-radius: 50%;
  background: var(--main-surface-neutral-variant);
  cursor: pointer;
}

.theme-toggle input[type="radio"]:checked {
  /* 8px blue dot + 2px gap + 1px border = 16px */
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--main-surface-neutral-variant) 4px 6px
  );
}

.theme-toggle input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

@media (max-width: 1200px) {
  .content-grid {
    flex-direction: column;
  }

  .settings-stack {
    width: 100%;
    flex: 1 1 0;
    min-height: 0;
  }

  .content-grid > .preview-col {
    display: none;
  }

  .btn-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .btn-app-store-save-image {
    display: none !important;
  }

  .app-store-preview__btn--save {
    display: none;
  }

  body.is-preview-open {
    overflow: hidden;
  }

  body.is-preview-open .preview-modal-backdrop {
    display: block;
    position: fixed;
    top: var(--header-offset);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 39;
    background: rgba(10, 9, 11, 0.4);
  }

  body.is-preview-open .content-grid > .preview-col {
    display: flex;
    position: fixed;
    top: var(--header-offset);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    flex: none;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
  }

  body.is-preview-open .preview-col__close {
    display: inline-flex;
  }

  body.is-preview-open .preview-col__title {
    display: none;
  }

  .logo-upload-row,
  .intro-media-row {
    grid-template-columns: 1fr;
  }

  .font-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 393px) {
  body.is-preview-open .main-view--your-brand .preview-col {
    gap: 12px;
  }

  body.is-preview-open .preview-tabber {
    zoom: 0.8;
    flex: 0 1 auto;
  }
}

@container preview-col (max-width: 393px) {
  .preview-tabber {
    zoom: 0.8;
    flex: 0 1 auto;
  }
}

@media (max-width: 820px) {
  .btn-top-nav-menu {
    display: inline-flex;
  }

  .top-nav__menu-panel {
    display: none;
    position: fixed;
    top: var(--header-offset);
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: min(320px, 88vw);
    padding: 16px;
    overflow-y: auto;
    border-left: 1px solid var(--color-border-light);
    background: var(--color-surface);
    box-shadow: -4px 0 24px rgba(10, 9, 11, 0.12);
  }

  body.is-top-nav-menu-open .top-nav {
    z-index: 63;
  }

  body.is-top-nav-menu-open .top-nav__menu-panel {
    display: flex;
  }

  body.is-top-nav-menu-open .top-nav-menu-backdrop {
    display: block;
    position: fixed;
    top: var(--header-offset);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 61;
    background: rgba(10, 9, 11, 0.35);
  }

  body.is-top-nav-menu-open {
    overflow: hidden;
  }

  .top-nav__menu-panel .pill-ada {
    width: 100%;
    justify-content: flex-start;
  }

  .top-nav__menu-panel .pill-ada__beta {
    position: static;
    margin-left: auto;
  }

  .top-nav__menu-panel .icon-btn {
    width: 100%;
    height: 40px;
    justify-content: flex-start;
    display: inline-flex;
    padding: 0 12px;
    gap: 12px;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-sm);
    color: var(--text-label);
  }

  .top-nav__menu-panel .icon-btn::after {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: var(--text-label);
  }

  .top-nav__menu-panel .icon-btn[aria-label="Notifications"]::after {
    content: "Notifications";
  }

  .top-nav__menu-panel .icon-btn[aria-label="Search"]::after {
    content: "Search";
  }

  .top-nav__menu-panel .icon-btn[aria-label="Cart"]::after {
    content: "Cart";
  }

  .top-nav__menu-panel .icon-btn[aria-label="Help"]::after {
    content: "Help";
  }

  .top-nav__menu-panel .btn-primary-outline {
    width: 100%;
  }

  .top-nav__menu-panel .user-chip {
    width: 100%;
    margin-left: 0;
    justify-content: center;
  }
}

@media (max-width: 1100px) {
  .top-nav__left {
    gap: 16px;
  }

  .main-tabs-dropdown {
    display: flex;
  }

  .main-tabs {
    display: none;
  }
}

@media (max-width: 900px) {
  .shell {
    position: relative;
  }

  .sidebar {
    position: fixed;
    top: var(--header-offset);
    left: 0;
    bottom: 0;
    width: min(var(--sidebar-w), 85vw);
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    border-right: 1px solid var(--color-border-light);
    box-shadow: 4px 0 24px rgba(10, 9, 11, 0.12);
  }

  .sidebar.is-open {
    transform: translateX(0);
    z-index: 50;
  }

  body.is-sidebar-open .sidebar-backdrop {
    display: block;
    position: fixed;
    top: var(--header-offset);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 49;
    background: rgba(10, 9, 11, 0.35);
  }

  body.is-sidebar-open {
    overflow: hidden;
  }

  .btn-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .main {
    width: 100%;
  }
}

/* —— Brand theme notice (Figma inline notification) —— */
.brand-theme-notice {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #ffd58f;
  border-radius: var(--radius-sm);
  background: #fff6e7;
  box-sizing: border-box;
}

.brand-theme-notice[hidden] {
  display: none !important;
}

.brand-theme-notice__icon {
  flex-shrink: 0;
  color: #9d6508;
}

.brand-theme-notice__title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #9d6508;
}

.brand-theme-notice__message {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #9d6508;
}

.brand-theme-notice__actions {
  display: flex;
  gap: 4px;
  align-items: center;
}

.brand-theme-notice__actions .btn-ghost {
  background: #ffffff;
  border-color: #e6e6e6;
  color: #4c4b53;
}

/* —— Control table list views (scrollable table body) —— */
.main-view--ai-lead-gen-projects,
.main-view--proposal-templates,
.main-view--contract-templates {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* —— AI Lead Gen —— */
.page-head--lead-capture {
  margin-bottom: 20px;
}

.btn-save.btn-lead-capture-new {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px 0 12px;
}

.btn-save.btn-lead-capture-new svg {
  display: block;
  flex-shrink: 0;
}

.lead-capture-forms__intro {
  flex-shrink: 0;
  margin: 0 8px 20px 6px;
  color: #1d1c20;
}

.lead-capture-forms {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin-left: 6px;
  margin-right: 8px;
  overflow: hidden;
}

.lead-capture-forms__table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  border: 1px solid #ececed;
  border-radius: 6px;
  background: var(--color-surface);
}

.lead-capture-forms__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}

.lead-capture-forms__th {
  height: 56px;
  padding: 16px;
  text-align: left;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  background: #eff0f2;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.lead-capture-forms__th:first-child {
  border-top-left-radius: 6px;
  padding-left: 4px;
}

.lead-capture-forms__th:last-child {
  border-top-right-radius: 6px;
}

.lead-capture-forms__th--check,
.lead-capture-forms__td--check {
  width: 1%;
  white-space: nowrap;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
  vertical-align: middle;
}

.lead-capture-forms__th--check .lead-capture-forms__checkbox,
.lead-capture-forms__td--check .lead-capture-forms__checkbox {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.lead-capture-forms__th--default,
.lead-capture-forms__td--default {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

.lead-capture-forms__th--actions,
.lead-capture-forms__td--actions {
  width: 33.333%;
}

.lead-capture-forms__td {
  height: 56px;
  padding: 16px;
  color: #3c3e44;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.lead-capture-forms__td--title {
  width: 33.333%;
}

.lead-capture-forms__td--check {
  padding-top: 14px;
  padding-bottom: 14px;
}

.lead-capture-forms__checkbox {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #4272dd;
  cursor: pointer;
}

.lead-capture-forms__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--grey-1000);
}

.lead-capture-forms__status svg {
  display: block;
}

.lead-capture-forms__td--actions {
  white-space: nowrap;
}

.lead-capture-forms__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.lead-capture-forms__icon-btn + .lead-capture-forms__icon-btn {
  margin-left: 16px;
}

.lead-capture-forms__icon-btn:hover:not(:disabled) {
  color: var(--text-label);
}

.lead-capture-forms__icon-btn--muted,
.lead-capture-forms__icon-btn:disabled {
  opacity: 0.33;
  cursor: not-allowed;
}

.lead-capture-forms__icon-btn svg,
.lead-capture-forms__icon-btn img {
  display: block;
  width: 18px;
  height: 18px;
}

.btn-warm {
  background: #f1ebda;
  border-color: var(--grey-500);
}

.btn-warm:hover {
  background: #ebe3d0;
}

.btn-ghost--sm {
  height: 32px;
  padding: 0 12px;
  font-size: 12px;
}

.btn-text {
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--grey-1000);
  cursor: pointer;
  padding: 8px 12px;
}

.btn-text:hover {
  background: rgba(10, 9, 11, 0.06);
  border-radius: var(--radius-sm);
}

.lead-gen-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px 32px;
  width: 100%;
  max-width: 1000px;
}

.field--lead-input {
  width: 100%;
  height: var(--control-h);
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-label);
  box-sizing: border-box;
}

.field--lead-code {
  width: 100%;
  min-height: 44px;
  padding: 5px 12px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: #0a090b;
  resize: vertical;
  box-sizing: border-box;
}

.accordion--lead-embed {
  background: #f1ebda;
  border-color: var(--grey-500);
}

.accordion--lead-embed.is-open {
  background: #f1ebda;
}

.accordion--lead-embed .accordion__head,
.accordion--lead-embed .accordion__body {
  background: #f1ebda;
}

.accordion--lead-embed .accordion__head:hover {
  background: #ebe3d0;
}

.lead-gen-embed {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}

.lead-gen-code-row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  width: 100%;
}

.lead-gen-code-row .field-row {
  flex: 1;
  min-width: 0;
}

.lead-gen-copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.lead-gen-copy-btn:hover {
  background: rgba(10, 9, 11, 0.06);
}

/* Lead gen iframe form preview (inside phone shell) */
.phone--lead-gen-form {
  display: flex;
  flex-direction: column;
  height: 666px;
  min-height: 666px;
  max-height: 666px;
  overflow: hidden;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-phone);
  box-shadow: var(--shadow-phone);
  --lg-preview-bg: var(--phone-surface-neutral-variant);
  --lg-preview-title: #1d1c20;
  --lg-preview-muted: #6b6a76;
  --lg-preview-text: #0a090b;
  --lg-preview-border: #e6e6e6;
  --lg-preview-field-bg: var(--phone-surface-neutral-variant);
  --lg-preview-map-bg: var(--phone-header-neutral);
  --lg-preview-icon: #4c4b53;
  --lg-preview-footer-bg: color-mix(
    in srgb,
    var(--phone-surface-neutral-variant) 77%,
    transparent
  );
  --lg-preview-footer-border: var(--grey-300);
  --lg-preview-zoom-bg: var(--phone-surface-neutral-variant);
  --lg-preview-accent: var(--main-primary);
}


.phone--lead-gen-form[data-theme="dark"] {
  --lg-preview-bg: var(--phone-surface-neutral-variant);
  --lg-preview-title: #ffffff;
  --lg-preview-muted: #adacb0;
  --lg-preview-text: #ffffff;
  --lg-preview-border: #3c3e44;
  --lg-preview-field-bg: var(--phone-surface-neutral-variant);
  --lg-preview-map-bg: var(--phone-header-neutral);
  --lg-preview-icon: #adacb0;
  --lg-preview-footer-bg: color-mix(
    in srgb,
    var(--phone-surface-neutral-variant) 90%,
    transparent
  );
  --lg-preview-footer-border: #3c3e44;
  --lg-preview-zoom-bg: var(--phone-surface-neutral-variant);
  color-scheme: dark;
}

#main-view-your-brand .preview-touchpoint-stack .phone--lead-gen-form[data-theme="dark"] {
  --lg-preview-bg: var(--phone-surface-neutral-variant);
  --lg-preview-title: #1d1c20;
  --lg-preview-muted: #6b6a76;
  --lg-preview-text: #0a090b;
  --lg-preview-border: #e6e6e6;
  --lg-preview-field-bg: var(--phone-surface-neutral-variant);
  --lg-preview-map-bg: var(--phone-header-neutral);
  --lg-preview-icon: #4c4b53;
  --lg-preview-footer-bg: color-mix(
    in srgb,
    var(--phone-surface-neutral-variant) 77%,
    transparent
  );
  --lg-preview-footer-border: var(--grey-300);
  --lg-preview-zoom-bg: var(--phone-surface-neutral-variant);
  color-scheme: light;
}

.phone--lead-gen-form .lead-gen-form-preview {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--lg-preview-bg);
  color: var(--lg-preview-text);
}

.lead-gen-form-preview__header {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 18px 18px 0;
}

.lead-gen-form-preview__logo {
  display: block;
  width: auto;
  height: 50px;
  max-width: 100%;
  margin: 0 0 12px;
  object-fit: contain;
  object-position: left center;
}

.lead-gen-form-preview__title {
  margin: 0 0 4px;
  font-family: var(--phone-font-display);
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.2px;
  color: var(--lg-preview-title);
}

.lead-gen-form-preview__subtitle {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--lg-preview-muted);
}

.lead-gen-form-preview__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

.lead-gen-form-preview__label,
.lead-gen-form-preview__section-label {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--lg-preview-muted);
}

.lead-gen-form-preview__section-label {
  font-family: var(--phone-font-display);
  font-size: 12px;
  line-height: 16px;
  color: var(--lg-preview-title);
}

.lead-gen-form-preview__field {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--lg-preview-border);
  border-radius: var(--radius-sm);
  background: var(--lg-preview-field-bg);
}

.lead-gen-form-preview__field-value {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--lg-preview-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lead-gen-form-preview__field-chevron {
  display: flex;
  flex-shrink: 0;
  color: var(--lg-preview-icon);
}

.lead-gen-form-preview__map {
  position: relative;
  height: 230px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--lg-preview-map-bg);
}

.lead-gen-form-preview__map img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lead-gen-form-preview__map-pin {
  position: absolute;
  left: 50%;
  top: 42%;
  transform: translate(-50%, -100%);
  display: flex;
  pointer-events: none;
}

.lead-gen-form-preview__map-zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.lead-gen-form-preview__map-zoom button {
  width: 40px;
  height: 40px;
  border: none;
  background: var(--lg-preview-zoom-bg);
  font-family: inherit;
  font-size: 18px;
  line-height: 1;
  color: var(--lg-preview-icon);
  cursor: default;
}

.lead-gen-form-preview__map-zoom button + button {
  border-top: 1px solid var(--lg-preview-border);
}

.lead-gen-form-preview__hint {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--lg-preview-muted);
}

.lead-gen-form-preview__field--sm {
  height: 32px;
}

.lead-gen-form-preview__field-value--muted {
  color: var(--lg-preview-muted);
}

.lead-gen-form-preview__row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
}

.lead-gen-form-preview__field-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.lead-gen-form-preview__upload {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lead-gen-form-preview__choose-file {
  width: 100%;
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--lg-preview-border);
  border-radius: var(--radius-sm);
  background: var(--lg-preview-field-bg);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--lg-preview-icon);
  cursor: default;
}

.lead-gen-form-preview__required {
  margin: 0;
  font-size: 12px;
  font-style: italic;
  line-height: 16px;
  letter-spacing: 0.12px;
  color: var(--lg-preview-muted);
}

.lead-gen-form-preview__required-mark {
  font-family: var(--phone-font-display);
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: var(--lg-preview-title);
}

.lead-gen-form-preview__footer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 8px 18px 18px;
  padding: 8px;
  border: 1px solid var(--lg-preview-footer-border);
  border-radius: 8px;
  background: var(--lg-preview-footer-bg);
  backdrop-filter: blur(4px);
}

.lead-gen-form-preview__footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.lead-gen-form-preview__footer-links a {
  padding: 0 8px;
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: var(--lg-preview-accent);
  text-decoration: none;
}

.lead-gen-form-preview__confirm {
  flex-shrink: 0;
  height: 28px;
  padding: 0 8px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--lg-preview-accent);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #ffffff;
  opacity: 0.45;
  cursor: not-allowed;
}

.phone--lead-gen-form .lead-gen-product-types {
  display: flex;
  gap: 12px;
}

.phone--lead-gen-form .lead-gen-product-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0;
  border: none;
  background: transparent;
}

.phone--lead-gen-form .lead-gen-product-card__label {
  font-family: var(--phone-font-display);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--lg-preview-muted);
}

.phone--lead-gen-form .lead-gen-product-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 8px 6px 8px 8px;
  border: 2px solid var(--lg-preview-border);
  border-radius: 4px;
  background: var(--lg-preview-field-bg);
}

.phone--lead-gen-form .lead-gen-product-card--selected .lead-gen-product-card__row {
  border-color: var(--lg-preview-accent);
}

.phone--lead-gen-form .lead-gen-product-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--lg-preview-icon);
}

.phone--lead-gen-form .lead-gen-product-card__icon img {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.phone--lead-gen-form .lead-gen-product-card__check {
  display: flex;
  flex-shrink: 0;
}

.phone--lead-gen-form .lead-gen-product-card__check-bg {
  fill: var(--lg-preview-accent);
}

.phone--lead-gen-form .lead-gen-product-card__check-mark {
  fill: #ffffff;
}

.lead-gen-preview-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.lead-gen-preview-panel__intro h3 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: #1d1c20;
}

.lead-gen-preview-panel__intro p {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
}

.lead-gen-preview-panel__columns {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.lead-gen-preview-panel__col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lead-gen-preview-field {
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.lead-gen-preview-field input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-muted);
  outline: none;
}

.lead-gen-preview-field__chevron {
  display: flex;
  color: var(--grey-1000);
}

.lead-gen-preview-panel__map {
  flex: 1;
  min-height: 180px;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.lead-gen-preview-panel__map img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
}

.lead-gen-product-types {
  display: flex;
  gap: 12px;
}

.lead-gen-product-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 6px 8px 8px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.lead-gen-product-card__label {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
}

.lead-gen-product-card__icon {
  display: flex;
  color: var(--grey-1000);
}

.lead-gen-preview-hint {
  margin: -8px 0 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
}

.lead-gen-radio-row {
  display: flex;
  gap: 16px;
  font-size: 14px;
  line-height: 20px;
}

.lead-gen-radio-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lead-gen-preview-panel__row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.lead-gen-preview-required {
  margin: 0;
  font-size: 12px;
  font-style: italic;
  line-height: 16px;
  letter-spacing: 1px;
  color: var(--text-muted);
}

.lead-gen-preview-panel__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--color-border-light);
}

.lead-gen-preview-panel__links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.lead-gen-preview-panel__links a {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #4272dd;
  text-decoration: none;
}

.lead-gen-preview-panel__footer .btn-save {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 900px) {
  .lead-gen-details-grid {
    grid-template-columns: 1fr;
  }

  .lead-gen-preview-panel__columns {
    flex-direction: column;
    gap: 16px;
  }

  .lead-gen-preview-panel__row-2 {
    grid-template-columns: 1fr;
  }
}

/* Proposal touchpoint preview (Figma node 16945:72400) */
.phone--proposal {
  display: flex;
  flex-direction: column;
  height: 666px;
  min-height: 666px;
  max-height: 666px;
  overflow: hidden;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-phone);
  box-shadow: var(--shadow-phone);
  --proposal-bg: var(--phone-header-neutral);
  --proposal-surface: var(--phone-surface-neutral-variant);
  --proposal-border: #e0e0ee;
  --proposal-border-alt: var(--grey-500);
  --proposal-text: var(--text-primary);
  --proposal-text-secondary: rgba(29, 28, 32, 0.5);
  --proposal-text-dark: #0a090b;
  --proposal-green-bg: #ebfbf1;
  --proposal-green-border: #91ddad;
  --proposal-green-text: #016626;
}

.phone--proposal .proposal-preview {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px;
  gap: 16px;
  background: var(--proposal-bg);
  color: var(--proposal-text);
}

.proposal-preview__header {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}

.proposal-preview__logo {
  display: block;
  width: auto;
  height: 50px;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}

.proposal-preview__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  width: 100%;
}

.proposal-preview__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  row-gap: 14px;
  width: 100%;
  padding: 14px;
  border: 1px solid var(--proposal-border);
  border-radius: var(--radius-lg);
  background: var(--proposal-surface);
}

.proposal-preview__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(50% - 4px);
  min-width: 120px;
  text-align: center;
}

.proposal-preview__stat-value {
  margin: 0;
  font-size: 0;
  line-height: 0;
  color: var(--proposal-text);
}

.proposal-preview__stat-num {
  font-family: var(--phone-font-display);
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: -0.4px;
}

.proposal-preview__stat-unit {
  font-family: var(--phone-font-display);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
}

.proposal-preview__stat-unit--pct {
  font-size: 32px;
  line-height: 40px;
  letter-spacing: -0.32px;
}

.proposal-preview__stat-unit--inline {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
}

.proposal-preview__stat-label {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--proposal-text-secondary);
}

.proposal-preview__hero {
  width: 100%;
  overflow: hidden;
  border: 1.67px solid var(--proposal-border-alt);
  border-radius: 13px;
  background: var(--proposal-bg);
}

.proposal-preview__hero img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 180px;
  max-height: 221px;
  object-fit: cover;
  border-radius: 12px;
}

.proposal-preview__solution {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.proposal-preview__heading {
  margin: 0 0 4px;
  padding-bottom: 12px;
  font-family: var(--phone-font-display);
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: -0.24px;
  color: var(--proposal-text);
}

.proposal-preview__system-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 16px 12px;
  border: 1px solid var(--proposal-border-alt);
  border-radius: var(--radius-sm);
  background: var(--proposal-surface);
  font-family: inherit;
  text-align: left;
  cursor: default;
}

.proposal-preview__system-select-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.proposal-preview__system-select-title {
  font-family: var(--phone-font-display);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--proposal-text-dark);
}

.proposal-preview__system-select-sub {
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--text-muted);
}

.proposal-preview__system-select-chevron {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--text-muted);
}

.proposal-preview__details {
  width: 100%;
  border: 1px solid var(--proposal-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--proposal-surface);
}

.proposal-preview__details-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}

.proposal-preview__line-items {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.proposal-preview__line-items li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.proposal-preview__line-title {
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--proposal-text);
}

.proposal-preview__line-sub {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--proposal-text-secondary);
}

.proposal-preview__savings {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--proposal-green-border);
  border-radius: var(--radius-sm);
  background: var(--proposal-green-bg);
}

.proposal-preview__savings-text {
  flex: 1;
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--proposal-green-text);
}

.proposal-preview__savings-info {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--proposal-green-text);
  opacity: 0.85;
}

.proposal-preview__hardware {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.proposal-preview__product {
  display: flex;
  flex-direction: column;
  width: 124px;
  border: 1px solid var(--proposal-border);
  border-radius: 7px;
  overflow: hidden;
  background: var(--proposal-surface);
}

.proposal-preview__product-image {
  height: 80px;
  background: var(--proposal-bg);
}

.proposal-preview__product-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 130px;
  padding: 8px;
}

.proposal-preview__product-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 9px;
  border-radius: 2px;
  background: var(--proposal-text-secondary);
  font-family: Menlo, ui-monospace, monospace;
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
  color: var(--proposal-text);
}

.proposal-preview__product-title {
  margin: 0;
  font-family: var(--phone-font-display);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--proposal-text);
}

.proposal-preview__product-sub {
  margin: 0;
  font-family: var(--phone-font-body);
  font-size: 10px;
  font-weight: 400;
  line-height: 12px;
  color: var(--proposal-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proposal-preview__product-btn {
  margin-top: auto;
  width: 100%;
  height: 26px;
  padding: 0 7px;
  border: 0.92px solid var(--proposal-border);
  border-radius: 3px;
  background: var(--proposal-surface);
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  line-height: 15px;
  color: var(--proposal-text);
  cursor: default;
}

/* Checkout touchpoint preview (Figma node 16947:81403) */
.phone--checkout {
  display: flex;
  flex-direction: column;
  height: 666px;
  min-height: 666px;
  max-height: 666px;
  overflow: hidden;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-phone);
  box-shadow: var(--shadow-phone);
  --checkout-bg: var(--phone-header-neutral, #fafbfc);
  --checkout-surface: var(--phone-surface-neutral-variant, #ffffff);
  --checkout-border: var(--grey-400);
  --checkout-text: #0a090b;
  --checkout-text-muted: var(--text-muted);
  --checkout-text-faint: #adacb0;
  --checkout-primary: var(--main-primary);
  --checkout-brand-blue: var(--brand-blue-900);
  --checkout-marketplace-bg: #fff8ed;
  --checkout-marketplace-btn: #ffcc26;
  --checkout-project-highlight: var(--checkout-primary);
  --checkout-project-highlight-surface: color-mix(in srgb, var(--checkout-primary) 15%, #ffffff);
  --checkout-project-highlight-text: color-mix(in srgb, var(--checkout-primary) 72%, #0a090b);
}

.phone--checkout .checkout-preview {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  position: relative;
  isolation: isolate;
  background: var(--checkout-bg);
  color: var(--checkout-text);
}

.checkout-preview__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--checkout-border);
  background: var(--checkout-surface);
}

.checkout-preview__nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.checkout-preview__logo {
  display: block;
  width: auto;
  height: 26px;
  max-width: 130px;
  object-fit: contain;
  object-position: left center;
}

.checkout-preview__nav-divider {
  width: 1px;
  height: 17px;
  background: var(--grey-600);
  flex-shrink: 0;
}

.checkout-preview__nav-title {
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: var(--checkout-primary);
  white-space: nowrap;
}

.checkout-preview__nav-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  cursor: default;
}

.checkout-preview__nav-preview img {
  display: block;
  opacity: 0.85;
}

.checkout-preview__scroll {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.checkout-preview__stepper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.checkout-preview__step {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-right: -6px;
}

.checkout-preview__step:last-child {
  margin-right: 0;
}

.checkout-preview__step-rail {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}

.checkout-preview__step-rail::before,
.checkout-preview__step-rail::after {
  content: "";
  flex: 1;
  height: 2px;
  background: var(--grey-400);
}

.checkout-preview__step:first-child .checkout-preview__step-rail::before {
  visibility: hidden;
}

.checkout-preview__step:last-child .checkout-preview__step-rail::after {
  visibility: hidden;
}

.checkout-preview__step.is-complete .checkout-preview__step-rail::before,
.checkout-preview__step.is-complete .checkout-preview__step-rail::after,
.checkout-preview__step.is-active .checkout-preview__step-rail::before {
  background: var(--checkout-brand-blue);
}

.checkout-preview__step-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--grey-400);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  color: var(--grey-1000);
}

.checkout-preview__step.is-complete .checkout-preview__step-dot {
  background: var(--checkout-brand-blue);
  color: #fff;
}

.checkout-preview__step.is-active .checkout-preview__step-dot {
  background: var(--checkout-brand-blue);
  color: #f5f8fd;
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #618df2;
}

.checkout-preview__step-dot--ring {
  font-size: 10px;
}

.checkout-preview__step-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
  color: var(--grey-1000);
}

.checkout-preview__step.is-active .checkout-preview__step-label {
  color: var(--checkout-brand-blue);
}

.checkout-preview__step:not(.is-active):not(.is-complete) .checkout-preview__step-label {
  color: var(--checkout-text-faint);
}

.checkout-preview__step-badge {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 4px;
  border-radius: 4px;
  background: var(--grey-300);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #3c3e44;
}

.checkout-preview__summary {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  border: 1px solid var(--checkout-border);
  border-radius: var(--radius-md);
  background: var(--checkout-surface);
  font-family: inherit;
  text-align: left;
  cursor: default;
}

.checkout-preview__summary-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.checkout-preview__summary-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.checkout-preview__summary-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

.checkout-preview__summary-edit {
  display: inline-flex;
  color: var(--checkout-brand-blue);
}

.checkout-preview__summary-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 16px;
  color: var(--checkout-text);
}

.checkout-preview__summary-meta strong {
  font-weight: 600;
}

.checkout-preview__summary-sep {
  color: var(--checkout-text-muted);
}

.checkout-preview__summary-chevron {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--grey-1000);
}

.checkout-preview__card {
  border: 1px solid var(--checkout-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--checkout-surface);
}

.checkout-preview__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  border-bottom: 1px solid var(--checkout-border);
}

.checkout-preview__card-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
}

.checkout-preview__card-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 3px;
  background: var(--checkout-border);
  color: var(--grey-1000);
}

.checkout-preview__card-body {
  padding: 16px 24px;
}

.checkout-preview__card-copy {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 20px;
}

.checkout-preview__switch {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
}

.checkout-preview__switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkout-preview__switch-track {
  position: relative;
  width: 28px;
  height: 16px;
  border-radius: 999px;
  background: #dcdcde;
  flex-shrink: 0;
}

.checkout-preview__switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 9, 11, 0.12);
}

.checkout-preview__switch-label {
  font-size: 14px;
  line-height: 20px;
}

.checkout-preview__marketplace {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--grey-500);
  border-radius: 8px;
  background: var(--checkout-marketplace-bg);
}

.checkout-preview__marketplace-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--text-primary);
}

.checkout-preview__marketplace-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 40px;
  height: auto;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  background: var(--checkout-marketplace-btn);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--checkout-text);
  cursor: default;
}

.checkout-preview__marketplace-btn > span {
  white-space: nowrap;
  flex-shrink: 0;
}

.checkout-preview__marketplace-btn svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.checkout-preview__marketplace-by {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  font-size: 10px;
  line-height: 20px;
  color: var(--text-primary);
}

.checkout-preview__marketplace-by img {
  display: block;
  height: 26px;
  width: auto;
  min-width: 68px;
}

.checkout-preview__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: center;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  background: var(--checkout-primary);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #fff;
  cursor: default;
}

.checkout-preview__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 12px;
  border-top: 1px solid var(--checkout-border);
  background: rgba(247, 249, 251, 0.9);
  backdrop-filter: blur(2px);
  box-shadow: 0 -2px 4px -1px rgba(10, 9, 11, 0.02);
}

.checkout-preview__footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 20px;
  border: none;
  border-radius: 4px;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--grey-1000);
  cursor: default;
}

/* —— Proposal Templates list (Figma node 6498:6006) —— */
.proposal-templates__filters-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
  margin: 0 8px 20px 6px;
}

.proposal-templates__filters-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.proposal-templates__switches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.proposal-templates__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.proposal-templates {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin-left: 6px;
  margin-right: 8px;
  overflow: hidden;
}

.proposal-templates__switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: default;
  white-space: nowrap;
}

.proposal-templates__switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.proposal-templates__switch-track {
  position: relative;
  width: 28px;
  height: 16px;
  border-radius: 999px;
  background: #dcdcde;
  flex-shrink: 0;
}

.proposal-templates__switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 9, 11, 0.12);
}

.proposal-templates__switch-label {
  font-size: 14px;
  line-height: 20px;
  color: #0a090b;
}

.proposal-templates__btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px 0 16px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--grey-1000);
  cursor: default;
  white-space: nowrap;
}

.proposal-templates__btn-outline svg {
  flex-shrink: 0;
}

.proposal-templates__btn-new {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px 0 12px;
  flex-shrink: 0;
  background: #4272dd;
}

.proposal-templates__btn-new svg {
  display: block;
  flex-shrink: 0;
}

.proposal-templates__intro {
  flex-shrink: 0;
  margin: 0 8px 20px 6px;
  color: #1d1c20;
}

.proposal-templates__help {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 4px;
  vertical-align: middle;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--brand-blue-900);
  text-decoration: none;
  white-space: nowrap;
}

.proposal-templates__help svg {
  display: block;
}

.proposal-templates__search {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  width: 100%;
  max-width: 376px;
  height: 38px;
  margin: 0;
  padding: 0 8px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.proposal-templates__search-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--grey-1000);
}

.proposal-templates__search input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-label);
  outline: none;
}

.proposal-templates__search input::placeholder {
  color: var(--text-muted);
}

.proposal-templates__table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  border: 2px solid #e7e7e7;
  border-radius: 2px;
  background: var(--color-surface);
}

.proposal-templates__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}

.proposal-templates__th {
  height: 56px;
  padding: 16px;
  text-align: left;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  background: #eff0f2;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.proposal-templates__th--check,
.proposal-templates__td--check {
  width: 1%;
  white-space: nowrap;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
}

.proposal-templates__th--default,
.proposal-templates__td--default {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

.proposal-templates__th--actions,
.proposal-templates__td--actions {
  width: 33.333%;
}

.proposal-templates__td {
  height: 56px;
  padding: 16px;
  color: #3c3e44;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.proposal-templates__td--title {
  width: 33.333%;
}

.proposal-templates__td--check {
  padding-top: 14px;
  padding-bottom: 14px;
  text-align: center;
}

.proposal-templates__checkbox {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
  accent-color: #4272dd;
  cursor: pointer;
}

.proposal-templates__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--grey-1000);
}

.proposal-templates__status svg {
  display: block;
}

.proposal-templates__td--actions {
  white-space: nowrap;
}

.proposal-templates__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.proposal-templates__icon-btn + .proposal-templates__icon-btn {
  margin-left: 16px;
}

.proposal-templates__icon-btn:hover:not(:disabled) {
  color: var(--text-label);
}

.proposal-templates__icon-btn--muted,
.proposal-templates__icon-btn:disabled {
  opacity: 0.33;
  cursor: not-allowed;
}

.proposal-templates__icon-btn svg,
.proposal-templates__icon-btn img {
  display: block;
  width: 18px;
  height: 18px;
}

/* —— Contract Templates list (Figma node 6498:6006) —— */
.contract-templates__filters-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
  margin: 0 8px 20px 6px;
}

.contract-templates__filters-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.contract-templates__switches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.contract-templates__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.contract-templates {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin-left: 6px;
  margin-right: 8px;
  overflow: hidden;
}

.contract-templates__switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: default;
  white-space: nowrap;
}

.contract-templates__switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contract-templates__switch-track {
  position: relative;
  width: 28px;
  height: 16px;
  border-radius: 999px;
  background: #dcdcde;
  flex-shrink: 0;
}

.contract-templates__switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 9, 11, 0.12);
}

.contract-templates__switch-label {
  font-size: 14px;
  line-height: 20px;
  color: #0a090b;
}

.contract-templates__btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px 0 16px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--grey-1000);
  cursor: default;
  white-space: nowrap;
}

.contract-templates__btn-outline svg {
  flex-shrink: 0;
}

.contract-templates__btn-new {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 20px 0 12px;
  flex-shrink: 0;
  background: #4272dd;
}

.contract-templates__btn-new svg {
  display: block;
  flex-shrink: 0;
}

.contract-templates__intro {
  flex-shrink: 0;
  margin: 0 8px 20px 6px;
  color: #1d1c20;
}

.contract-templates__help {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 4px;
  vertical-align: middle;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--brand-blue-900);
  text-decoration: none;
  white-space: nowrap;
}

.contract-templates__help svg {
  display: block;
}

.contract-templates__search {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  width: 100%;
  max-width: 376px;
  height: 38px;
  margin: 0;
  padding: 0 8px;
  border: 1px solid var(--grey-500);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.contract-templates__search-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--grey-1000);
}

.contract-templates__search input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-label);
  outline: none;
}

.contract-templates__search input::placeholder {
  color: var(--text-muted);
}

.contract-templates__table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  border: 2px solid #e7e7e7;
  border-radius: 2px;
  background: var(--color-surface);
}

.contract-templates__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}

.contract-templates__th {
  height: 56px;
  padding: 16px;
  text-align: left;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  background: #eff0f2;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.contract-templates__th--check,
.contract-templates__td--check {
  width: 1%;
  white-space: nowrap;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
}

.contract-templates__th--default,
.contract-templates__td--default {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

.contract-templates__th--actions,
.contract-templates__td--actions {
  width: 33.333%;
}

.contract-templates__td {
  height: 56px;
  padding: 16px;
  color: #3c3e44;
  border-bottom: 1px solid #ececed;
  vertical-align: middle;
}

.contract-templates__td--title {
  width: 33.333%;
}

.contract-templates__td--check {
  padding-top: 14px;
  padding-bottom: 14px;
  text-align: center;
}

.contract-templates__checkbox {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
  accent-color: #4272dd;
  cursor: pointer;
}

.contract-templates__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--grey-1000);
}

.contract-templates__status svg {
  display: block;
}

.contract-templates__td--actions {
  white-space: nowrap;
}

.contract-templates__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--grey-1000);
  cursor: pointer;
}

.contract-templates__icon-btn + .contract-templates__icon-btn {
  margin-left: 16px;
}

.contract-templates__icon-btn:hover:not(:disabled) {
  color: var(--text-label);
}

.contract-templates__icon-btn--muted,
.contract-templates__icon-btn:disabled {
  opacity: 0.33;
  cursor: not-allowed;
}

.contract-templates__icon-btn svg,
.contract-templates__icon-btn img {
  display: block;
  width: 18px;
  height: 18px;
}

/* —— Checkout Experience (Figma 16978:102650 et al.) —— */
.main-view--checkout-experience {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.main-view--checkout-experience .page-head--lead-capture {
  margin-bottom: 24px;
}

.main-view--checkout-experience .preview-col__head {
  min-height: 40px;
  align-items: center;
  justify-content: flex-start;
}

.main-view--checkout-experience .preview-col__title {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.main-view--checkout-experience .preview-col__head-actions {
  margin-left: auto;
  flex-shrink: 0;
}

.main-view--checkout-experience .preview-col__phone-scroll {
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding-top: 0;
  min-height: 0;
}

.main-view--checkout-experience .preview-col__phone-toolbar > .preview-col__phone-head.is-hidden,
.main-view--checkout-experience .preview-col__phone-toolbar > .preview-project-select.is-hidden {
  visibility: hidden;
  pointer-events: none;
}

.main-view--checkout-experience .preview-col__phone-toolbar {
  display: grid;
  place-items: center;
  width: min(340px, 100%);
  min-height: 36px;
  flex-shrink: 0;
}

.main-view--checkout-experience .preview-col__phone-toolbar > .preview-col__phone-head,
.main-view--checkout-experience .preview-col__phone-toolbar > .preview-project-select {
  grid-area: 1 / 1;
  justify-self: center;
  width: fit-content;
  max-width: 100%;
}

.main-view--checkout-experience .preview-touchpoint-stack {
  flex: 0 0 auto;
}

.main-view--checkout-experience .phone--checkout .checkout-preview {
  flex: 1;
  min-height: 0;
}

.main-view--checkout-experience .phone--checkout .checkout-preview__scroll {
  flex: 1;
  min-height: 0;
  max-height: 100%;
}

.main-view--checkout-experience .page-head__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.main-view--checkout-experience .content-grid {
  flex: 1;
  min-height: 0;
}

#main-view-checkout-experience .accordion__body {
  padding-top: 22px;
}

.checkout-experience__general-copy {
  margin: 0 0 14px;
}

.checkout-disable-warning {
  margin-top: 14px;
}

.checkout-disable-warning[hidden] {
  display: none;
}

.checkout-disable-warning__inner {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px;
  border: 1px solid #faa4a4;
  border-radius: 4px;
  background: #feebeb;
}

.checkout-disable-warning__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #961616;
}

.checkout-disable-warning__icon img {
  display: block;
  width: 20px;
  height: 20px;
}

.checkout-disable-warning__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.checkout-disable-warning__title {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #961616;
}

.checkout-disable-warning__message {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #961616;
}

.checkout-experience__general-copy .checkout-experience__help {
  margin-left: 4px;
  vertical-align: middle;
}

.checkout-experience__help {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--brand-blue-900);
  text-decoration: none;
  white-space: nowrap;
}

.checkout-experience__help:hover {
  text-decoration: underline;
}

.checkout-experience__help svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.checkout-experience__field-hint {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-muted);
}

.checkout-experience__inline-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}

.checkout-experience__tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--grey-200);
  font-size: 12px;
  line-height: 16px;
  color: var(--text-label);
}

.sign-contract-settings {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sign-contract-settings__clauses {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.sign-contract-settings__intro {
  margin: 0;
  max-width: none;
}

.sign-contract-settings__terms {
  font-weight: 700;
  color: var(--brand-blue-900);
  text-decoration: underline;
}

.sign-contract-settings .field-row > .field-label-row {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 4px;
}

.sign-contract-settings .field-label-row .field-label {
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
}

.sign-contract-settings .field-row select.field,
.sign-contract-settings .field-row input.field,
.sign-contract-settings__clause.field {
  width: 100%;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-label);
  box-sizing: border-box;
}

.sign-contract-settings .field-row select.field,
.sign-contract-settings .field-row input.field {
  height: var(--control-h);
  min-height: var(--control-h);
  padding: 0 10px;
}

.sign-contract-settings .field-row select.field {
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234c4b53'%3E%3Cpath d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  background-size: 20px 20px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.sign-contract-settings__clause-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sign-contract-settings__clause.field {
  flex: 1;
  min-width: 0;
  padding: 9px 10px;
  resize: vertical;
}

.sign-contract-settings__clause-row textarea.sign-contract-settings__clause.field {
  min-height: 72px;
}

.sign-contract-settings__clause-row input.sign-contract-settings__clause.field {
  height: var(--control-h);
  min-height: var(--control-h);
  resize: none;
}

.sign-contract-settings__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--control-h);
  height: var(--control-h);
  margin-top: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
}

.sign-contract-settings__icon-btn img {
  display: block;
}

.sign-contract-settings__add {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: 4px;
  cursor: pointer;
}

.sign-contract-settings__add svg {
  flex-shrink: 0;
}

.sign-contract-settings__signature-fieldset {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  border: none;
}

.sign-contract-settings__signature-title {
  display: block;
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
}

.sign-contract-settings__signature-options {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.sign-contract-settings__signature-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.sign-contract-settings__signature-label {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--text-label);
}

.sign-contract-settings__signature-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1.5px solid var(--grey-600);
  border-radius: 50%;
  background: var(--color-surface);
  flex-shrink: 0;
  cursor: pointer;
}

.sign-contract-settings__signature-option input[type="radio"]:checked {
  border-color: var(--main-primary);
  background: radial-gradient(
    circle at center,
    var(--main-primary) 0 4px,
    var(--color-surface) 4px 100%
  );
}

.sign-contract-settings__signature-option input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-primary);
  outline-offset: 2px;
}

.post-signature-settings {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.post-signature-settings__block {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.post-signature-settings__lead {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-text);
}

.post-signature-settings__section-title {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
}

.post-signature-settings .field-row > .field-label-row {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 4px;
}

.post-signature-settings .field-label-row .field-label,
.post-signature-settings .field-row > .field-label {
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--color-text);
}

.post-signature-settings .field.field--compact,
.post-signature-settings select.field.field--compact {
  width: 100%;
  height: 32px;
  min-height: 32px;
  padding: 0 6px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--text-label);
  box-sizing: border-box;
}

.post-signature-settings select.field.field--compact {
  padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234c4b53'%3E%3Cpath d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  background-size: 20px 20px;
  appearance: none;
}

.intro-switch--with-helper .intro-switch__copy {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.intro-switch__helper {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #6b6a76;
}

.post-signature-settings__email-panel {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 16px;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  background: #fafbfc;
  box-sizing: border-box;
}

.post-signature-settings__email-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--color-text);
}

.post-signature-settings__email-subtitle {
  margin: 0 0 8px;
  padding: 0 2px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-text);
}

.post-signature-settings__editor {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.post-signature-settings__editor-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
}

.post-signature-settings__editor-toolbar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.post-signature-settings__editor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 3px;
  background: transparent;
  font-family: inherit;
  font-size: 15px;
  line-height: 15px;
  color: #4c4b53;
  cursor: default;
}

.post-signature-settings__editor-btn--italic {
  font-style: italic;
  font-weight: 500;
}

.post-signature-settings__editor-btn--underline span {
  text-decoration: underline;
}

.post-signature-settings__editor-btn--combo svg {
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.post-signature-settings__editor-btn--table {
  width: 18px;
}

.post-signature-settings__editor-table-icon {
  position: relative;
  display: block;
  width: 14px;
  height: 13px;
  border: 1px solid #4c4b53;
  border-radius: 2px;
}

.post-signature-settings__editor-table-icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: #4c4b53;
}

.post-signature-settings__editor-divider {
  height: 1px;
  background: #e6e6e6;
}

.post-signature-settings__editor-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
}

.post-signature-settings__editor-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 16px;
  color: #1e1e1e;
}

.post-signature-settings__editor-paragraph {
  margin: 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 16px;
  color: #1e1e1e;
}

.post-signature-settings__chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 10px;
  border: 1px solid #dcdcde;
  border-radius: 16px;
  background: #f8f8f8;
  font-size: 10px;
  font-weight: 400;
  line-height: 16px;
  color: #0a090b;
  white-space: nowrap;
}

.system-selection-settings {
  gap: 14px;
}

.system-selection-settings__intro {
  margin: 0;
}

.payments-cashflow-settings {
  gap: 22px;
}

.payments-cashflow-settings__intro {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: #0a090b;
}

.payments-cashflow-settings__link {
  margin-left: 2px;
  vertical-align: -2px;
}

.payments-cashflow-settings__switches {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.checkout-preview__system-details {
  border: 1px solid var(--checkout-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--checkout-surface);
}

.checkout-preview__system-details-title {
  margin: 0;
  padding: 16px;
  border-bottom: 1px solid var(--checkout-border);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

.checkout-preview__system-details-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.checkout-preview__system-details-lines {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.checkout-preview__system-details-lines li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.checkout-preview__system-details-name {
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--checkout-text);
}

.checkout-preview__system-details-sub {
  font-size: 12px;
  line-height: 16px;
  color: var(--checkout-text-muted);
}

.checkout-preview__system-details-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}

.checkout-preview__system-details-table th,
.checkout-preview__system-details-table td {
  padding: 8px 0;
  vertical-align: top;
  text-align: left;
}

.checkout-preview__system-details-table th {
  font-weight: 500;
  color: var(--checkout-text-muted);
}

.checkout-preview__system-details-table td {
  text-align: right;
  font-weight: 600;
  color: var(--checkout-text);
}

.checkout-preview__system-details-table--emphasis th,
.checkout-preview__system-details-table--emphasis td {
  font-weight: 600;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__scroll,
#main-view-your-brand .checkout-preview__scroll
{
  position: relative;
  z-index: 0;
  padding: 12px;
  gap: 12px;
}

#main-view-checkout-experience .checkout-preview.is-celebration-backdrop::after,
#main-view-your-brand .checkout-preview.is-celebration-backdrop::after
{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 53px;
  bottom: 0;
  z-index: 1;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  pointer-events: none;
  transition: backdrop-filter 0.65s ease, -webkit-backdrop-filter 0.65s ease;
}

#main-view-checkout-experience .phone--checkout-project-overview .checkout-preview.is-celebration-backdrop::after,
#main-view-your-brand .phone--checkout-project-overview .checkout-preview.is-celebration-backdrop::after
{
  bottom: 52px;
}

#main-view-checkout-experience .checkout-preview.is-celebration-backdrop-unblurring::after,
#main-view-your-brand .checkout-preview.is-celebration-backdrop-unblurring::after
{
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: backdrop-filter 1.05s ease, -webkit-backdrop-filter 1.05s ease;
}

#main-view-checkout-experience .checkout-preview__electrified-stack,
#main-view-your-brand .checkout-preview__electrified-stack,
#main-view-checkout-experience .checkout-preview__sign-contract-stack,
#main-view-your-brand .checkout-preview__sign-contract-stack,
#main-view-checkout-experience .checkout-preview__project-overview-stack,
#main-view-your-brand .checkout-preview__project-overview-stack
{
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__sign-contract-stack[hidden],
#main-view-your-brand .checkout-preview__sign-contract-stack[hidden],
#main-view-checkout-experience .checkout-preview__electrified-stack[hidden],
#main-view-your-brand .checkout-preview__electrified-stack[hidden],
#main-view-checkout-experience .checkout-preview__project-overview-stack[hidden],
#main-view-your-brand .checkout-preview__project-overview-stack[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__system-select,
#main-view-your-brand .checkout-preview__system-select
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 16px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
  font-family: inherit;
  color: var(--checkout-text);
  text-align: left;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__expand-chevron,
#main-view-your-brand .checkout-preview__expand-chevron
{
  display: inline-flex;
  flex-shrink: 0;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__expand-chevron svg,
#main-view-your-brand .checkout-preview__expand-chevron svg
{
  display: block;
  width: 20px;
  height: 20px;
}

#main-view-checkout-experience .checkout-preview__system-select[hidden],
#main-view-your-brand .checkout-preview__system-select[hidden],
#main-view-checkout-experience .checkout-preview__system-details-card[hidden],
#main-view-your-brand .checkout-preview__system-details-card[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__system-select-copy,
#main-view-your-brand .checkout-preview__system-select-copy
{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

#main-view-checkout-experience .checkout-preview__system-select-title,
#main-view-your-brand .checkout-preview__system-select-title
{
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__system-select-sub,
#main-view-your-brand .checkout-preview__system-select-sub
{
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__system-details-card,
#main-view-your-brand .checkout-preview__system-details-card
{
  border: 1px solid #ececed;
  border-radius: 8px;
  background: #f8f8f8;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__system-details-card--sign .checkout-preview__system-details-card-body,
#main-view-your-brand .checkout-preview__system-details-card--sign .checkout-preview__system-details-card-body
{
  padding-bottom: 0;
}

#main-view-checkout-experience .checkout-preview__system-details-card--sign .checkout-preview__system-pricing,
#main-view-your-brand .checkout-preview__system-details-card--sign .checkout-preview__system-pricing
{
  margin-top: 16px;
}

#main-view-checkout-experience .checkout-preview__system-pricing,
#main-view-your-brand .checkout-preview__system-pricing
{
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__system-pricing-row,
#main-view-your-brand .checkout-preview__system-pricing-row
{
  display: grid;
  grid-template-columns: 156px 1fr;
  align-items: center;
  min-height: 52px;
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
}

#main-view-checkout-experience .checkout-preview__system-pricing-row:last-child,
#main-view-your-brand .checkout-preview__system-pricing-row:last-child
{
  border-bottom: none;
}

#main-view-checkout-experience .checkout-preview__system-pricing-row--emphasis,
#main-view-your-brand .checkout-preview__system-pricing-row--emphasis
{
  background: #eff0f2;
}

#main-view-checkout-experience .checkout-preview__system-pricing-label,
#main-view-your-brand .checkout-preview__system-pricing-label,
#main-view-checkout-experience .checkout-preview__system-pricing-value,
#main-view-your-brand .checkout-preview__system-pricing-value
{
  padding: 16px;
  font-size: 14px;
  line-height: 20px;
  color: #4c4b53;
}

#main-view-checkout-experience .checkout-preview__system-pricing-label,
#main-view-your-brand .checkout-preview__system-pricing-label
{
  border-right: 1px solid #e6e6e6;
  font-weight: 400;
}

#main-view-checkout-experience .checkout-preview__system-pricing-value,
#main-view-your-brand .checkout-preview__system-pricing-value
{
  text-align: right;
  font-weight: 400;
}

#main-view-checkout-experience .checkout-preview__system-pricing-row--emphasis .checkout-preview__system-pricing-label,
#main-view-your-brand .checkout-preview__system-pricing-row--emphasis .checkout-preview__system-pricing-label,
#main-view-checkout-experience .checkout-preview__system-pricing-row--emphasis .checkout-preview__system-pricing-value,
#main-view-your-brand .checkout-preview__system-pricing-row--emphasis .checkout-preview__system-pricing-value
{
  font-weight: 600;
}

#main-view-checkout-experience .checkout-preview__terms-card,
#main-view-your-brand .checkout-preview__terms-card
{
  border: 1px solid #ececed;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__terms-card-inner,
#main-view-your-brand .checkout-preview__terms-card-inner
{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  padding: 16px;
}

#main-view-checkout-experience .checkout-preview__terms-copy-block,
#main-view-your-brand .checkout-preview__terms-copy-block
{
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__terms-head,
#main-view-your-brand .checkout-preview__terms-head
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__terms-title,
#main-view-your-brand .checkout-preview__terms-title
{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #1d1c20;
}

#main-view-checkout-experience .checkout-preview__terms-date,
#main-view-your-brand .checkout-preview__terms-date
{
  font-size: 10px;
  line-height: 16px;
  color: #1d1c20;
  white-space: nowrap;
}

#main-view-checkout-experience .checkout-preview__terms-body,
#main-view-your-brand .checkout-preview__terms-body
{
  max-height: 154px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__terms-body p,
#main-view-your-brand .checkout-preview__terms-body p
{
  margin: 0 0 12px;
}

#main-view-checkout-experience .checkout-preview__terms-body p:last-child,
#main-view-your-brand .checkout-preview__terms-body p:last-child
{
  margin-bottom: 0;
}

#main-view-checkout-experience .checkout-preview__terms-expand,
#main-view-your-brand .checkout-preview__terms-expand
{
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #4c4b53;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__terms-checks,
#main-view-your-brand .checkout-preview__terms-checks
{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__sign-check,
#main-view-your-brand .checkout-preview__sign-check
{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__sign-check-input,
#main-view-your-brand .checkout-preview__sign-check-input
{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#main-view-checkout-experience .checkout-preview__sign-check-box,
#main-view-your-brand .checkout-preview__sign-check-box
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border-radius: 2px;
  background: #4272dd;
  color: #fff;
}

#main-view-checkout-experience .checkout-preview__sign-check-copy,
#main-view-your-brand .checkout-preview__sign-check-copy
{
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

#main-view-checkout-experience .checkout-preview__sign-check-label,
#main-view-your-brand .checkout-preview__sign-check-label
{
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #0a090b;
  white-space: pre-wrap;
}

#main-view-checkout-experience .checkout-preview__sign-check-help,
#main-view-your-brand .checkout-preview__sign-check-help
{
  font-size: 12px;
  line-height: 16px;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__sign-form,
#main-view-your-brand .checkout-preview__sign-form
{
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__sign-form-fields,
#main-view-your-brand .checkout-preview__sign-form-fields
{
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__sign-form-fields[hidden],
#main-view-your-brand .checkout-preview__sign-form-fields[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__sign-field,
#main-view-your-brand .checkout-preview__sign-field
{
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__sign-field-label,
#main-view-your-brand .checkout-preview__sign-field-label
{
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #0a090b;
}

#main-view-checkout-experience .checkout-preview__sign-field-input,
#main-view-your-brand .checkout-preview__sign-field-input
{
  width: 100%;
  height: 32px;
  padding: 0 6px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
  font-family: inherit;
  font-size: 12px;
  line-height: 16px;
  color: #0a090b;
  box-sizing: border-box;
}

#main-view-checkout-experience .checkout-preview__signature-pad,
#main-view-your-brand .checkout-preview__signature-pad
{
  position: relative;
  min-height: 164px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
}

#main-view-checkout-experience .checkout-preview__signature-mark,
#main-view-your-brand .checkout-preview__signature-mark
{
  position: absolute;
  left: 44px;
  top: 25px;
  width: 217px;
  max-width: calc(100% - 88px);
  height: auto;
  pointer-events: none;
}

#main-view-checkout-experience .checkout-preview__signature-clear,
#main-view-your-brand .checkout-preview__signature-clear
{
  position: absolute;
  top: 10px;
  right: 10px;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #4c4b53;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__signature-hint,
#main-view-your-brand .checkout-preview__signature-hint
{
  margin: 0;
  padding-top: 2px;
  font-size: 10px;
  line-height: 16px;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__sign-actions,
#main-view-your-brand .checkout-preview__sign-actions
{
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  padding-top: 8px;
}

#main-view-checkout-experience .checkout-preview__sign-btn,
#main-view-your-brand .checkout-preview__sign-btn
{
  min-height: 36px;
  padding: 0 20px;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__sign-btn--secondary,
#main-view-your-brand .checkout-preview__sign-btn--secondary
{
  border: 1px solid #e6e6e6;
  background: #fff;
  color: #4c4b53;
}

#main-view-checkout-experience .checkout-preview__sign-btn--primary,
#main-view-your-brand .checkout-preview__sign-btn--primary
{
  border: none;
  background: var(--checkout-primary);
  color: #fff;
}

#main-view-checkout-experience .checkout-preview__nav-lock,
#main-view-your-brand .checkout-preview__nav-lock
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__nav-lock[hidden],
#main-view-your-brand .checkout-preview__nav-lock[hidden],
#main-view-checkout-experience .checkout-preview__nav-preview[hidden],
#main-view-your-brand .checkout-preview__nav-preview[hidden],
#main-view-checkout-experience .checkout-preview__nav-brand[hidden],
#main-view-your-brand .checkout-preview__nav-brand[hidden]
{
  display: none;
}

#main-view-checkout-experience .phone--checkout-project-overview .checkout-preview__scroll,
#main-view-your-brand .phone--checkout-project-overview .checkout-preview__scroll
{
  padding: 10px 14px;
  gap: 10px;
}

#main-view-checkout-experience .phone--checkout:has(.checkout-preview__celebration:not([hidden])) .checkout-preview,
#main-view-your-brand .phone--checkout:has(.checkout-preview__celebration:not([hidden])) .checkout-preview,
#main-view-checkout-experience .phone--checkout:has(.checkout-preview__celebration-toast:not([hidden])) .checkout-preview,
#main-view-your-brand .phone--checkout:has(.checkout-preview__celebration-toast:not([hidden])) .checkout-preview
{
  overflow: visible;
}

#main-view-checkout-experience .checkout-preview__celebration-toast,
#main-view-your-brand .checkout-preview__celebration-toast
{
  position: absolute;
  top: 53px;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  justify-content: center;
  padding: 22px 16px 0;
  box-sizing: border-box;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

#main-view-checkout-experience .checkout-preview__celebration-toast.is-visible,
#main-view-your-brand .checkout-preview__celebration-toast.is-visible
{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#main-view-checkout-experience .checkout-preview__celebration-toast[hidden],
#main-view-your-brand .checkout-preview__celebration-toast[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__celebration-toast-panel,
#main-view-your-brand .checkout-preview__celebration-toast-panel
{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: max-content;
  max-width: 100%;
  padding: 12px 12px 12px 14px;
  box-sizing: border-box;
  border: 1px solid #8f8f94;
  border-radius: 8px;
  background: #0a090b;
}

#main-view-checkout-experience .checkout-preview__celebration-toast-text,
#main-view-your-brand .checkout-preview__celebration-toast-text
{
  margin: 0;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.12px;
  text-align: left;
  color: #fff;
}

#main-view-checkout-experience .checkout-preview__celebration-toast-close,
#main-view-your-brand .checkout-preview__celebration-toast-close
{
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

#main-view-checkout-experience .checkout-preview__celebration-toast-close:hover,
#main-view-your-brand .checkout-preview__celebration-toast-close:hover
{
  background: rgba(255, 255, 255, 0.12);
}

#main-view-checkout-experience .checkout-preview__celebration-toast-close:focus-visible,
#main-view-your-brand .checkout-preview__celebration-toast-close:focus-visible
{
  outline: 2px solid #fff;
  outline-offset: 2px;
}

#main-view-checkout-experience .checkout-preview__celebration,
#main-view-your-brand .checkout-preview__celebration
{
  position: absolute;
  left: 0;
  right: 0;
  top: 53px;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  transform: translateZ(0);
  transition: opacity 0.65s ease;
}

#main-view-checkout-experience .phone--checkout-project-overview .checkout-preview__celebration,
#main-view-your-brand .phone--checkout-project-overview .checkout-preview__celebration
{
  bottom: 52px;
}

#main-view-checkout-experience .checkout-preview__celebration[hidden],
#main-view-your-brand .checkout-preview__celebration[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__celebration.is-fading,
#main-view-your-brand .checkout-preview__celebration.is-fading
{
  opacity: 0;
}

#main-view-checkout-experience .checkout-preview__celebration-player,
#main-view-your-brand .checkout-preview__celebration-player
{
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__celebration-player svg,
#main-view-your-brand .checkout-preview__celebration-player svg
{
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100%;
}

#main-view-checkout-experience .phone--checkout-project-overview .checkout-preview__project-overview-stack,
#main-view-your-brand .phone--checkout-project-overview .checkout-preview__project-overview-stack
{
  gap: 10px;
}

#main-view-checkout-experience .checkout-preview__smp-house,
#main-view-your-brand .checkout-preview__smp-house
{
  position: relative;
  width: 100%;
  height: 168px;
  border: 1px solid #c9c9cc;
  border-radius: 6px;
  background: #f7f8fc;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__smp-house-viewport,
#main-view-your-brand .checkout-preview__smp-house-viewport
{
  position: absolute;
  inset: 0;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__smp-house-img,
#main-view-your-brand .checkout-preview__smp-house-img
{
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
}

#main-view-checkout-experience .checkout-preview__smp-house-img--diagram,
#main-view-your-brand .checkout-preview__smp-house-img--diagram
{
  width: 280px;
  height: 280px;
  left: 50%;
  top: 50%;
  transform: translate(-58%, -52%);
  object-fit: cover;
}

#main-view-checkout-experience .checkout-preview__smp-house-img--satellite,
#main-view-your-brand .checkout-preview__smp-house-img--satellite
{
  width: 115%;
  height: auto;
  min-height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

#main-view-checkout-experience .checkout-preview__smp-house-img[hidden],
#main-view-your-brand .checkout-preview__smp-house-img[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__smp-switch,
#main-view-your-brand .checkout-preview__smp-switch
{
  position: absolute;
  top: 7px;
  right: 8px;
  z-index: 1;
  display: inline-flex;
  cursor: pointer;
  margin: 0;
}

#main-view-checkout-experience .checkout-preview__smp-switch-input:focus-visible + .checkout-preview__smp-switch-track,
#main-view-your-brand .checkout-preview__smp-switch-input:focus-visible + .checkout-preview__smp-switch-track
{
  outline: 2px solid var(--checkout-primary);
  outline-offset: 2px;
}

#main-view-checkout-experience .checkout-preview__smp-switch-track,
#main-view-your-brand .checkout-preview__smp-switch-track
{
  display: flex;
  align-items: center;
  width: 54px;
  height: 28px;
  padding: 2px;
  border-radius: 1000px;
  background: #dcdcde;
  box-sizing: border-box;
  transition: background 0.15s ease;
}

#main-view-checkout-experience .checkout-preview__smp-switch-input:checked + .checkout-preview__smp-switch-track,
#main-view-your-brand .checkout-preview__smp-switch-input:checked + .checkout-preview__smp-switch-track
{
  justify-content: flex-end;
  background: #4272dd;
}

#main-view-checkout-experience .checkout-preview__smp-switch-handle,
#main-view-your-brand .checkout-preview__smp-switch-handle
{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.15s ease;
}

#main-view-checkout-experience .checkout-preview__smp-switch-handle img,
#main-view-your-brand .checkout-preview__smp-switch-handle img
{
  display: block;
  width: 18px;
  height: 18px;
}

#main-view-checkout-experience .checkout-preview__project-card,
#main-view-your-brand .checkout-preview__project-card
{
  border: 1px solid #c9c9cc;
  border-radius: 10px;
  background: #fff;
  padding: 14px;
}

#main-view-checkout-experience .checkout-preview__project-card-main,
#main-view-your-brand .checkout-preview__project-card-main
{
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

#main-view-checkout-experience .checkout-preview__project-card-copy,
#main-view-your-brand .checkout-preview__project-card-copy
{
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

#main-view-checkout-experience .checkout-preview__project-card-eyebrow,
#main-view-your-brand .checkout-preview__project-card-eyebrow
{
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.13px;
  color: #4c4b53;
  text-transform: uppercase;
}

#main-view-checkout-experience .checkout-preview__project-card-title,
#main-view-your-brand .checkout-preview__project-card-title
{
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.17px;
  color: var(--checkout-primary);
}

#main-view-checkout-experience .checkout-preview__project-card-address,
#main-view-your-brand .checkout-preview__project-card-address
{
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  color: #4c4b53;
}

#main-view-checkout-experience .checkout-preview__project-card-meta,
#main-view-your-brand .checkout-preview__project-card-meta
{
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
  min-width: 0;
}

#main-view-checkout-experience .checkout-preview__project-card-meta-label,
#main-view-your-brand .checkout-preview__project-card-meta-label
{
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.13px;
  color: #4c4b53;
}

#main-view-checkout-experience .checkout-preview__project-card-meta-value,
#main-view-your-brand .checkout-preview__project-card-meta-value
{
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.13px;
  color: #0a090b;
}

#main-view-checkout-experience .checkout-preview__project-card-more,
#main-view-your-brand .checkout-preview__project-card-more
{
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  color: var(--checkout-project-highlight);
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__project-card-more svg,
#main-view-your-brand .checkout-preview__project-card-more svg
{
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

#main-view-checkout-experience .checkout-preview__project-sections,
#main-view-your-brand .checkout-preview__project-sections
{
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__project-section,
#main-view-your-brand .checkout-preview__project-section
{
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: default;
  text-align: left;
}

#main-view-checkout-experience .checkout-preview__project-section-inner,
#main-view-your-brand .checkout-preview__project-section-inner
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #f1f1f1;
  border-radius: 4px;
}

#main-view-checkout-experience .checkout-preview__project-section-label,
#main-view-your-brand .checkout-preview__project-section-label
{
  padding-left: 2px;
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
  text-transform: uppercase;
}

#main-view-checkout-experience .checkout-preview__project-section--todo .checkout-preview__project-section-label,
#main-view-your-brand .checkout-preview__project-section--todo .checkout-preview__project-section-label
{
  color: var(--checkout-primary);
  font-weight: 700;
}

#main-view-checkout-experience .checkout-preview__project-section-tail,
#main-view-your-brand .checkout-preview__project-section-tail
{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#main-view-checkout-experience .checkout-preview__project-section-count,
#main-view-your-brand .checkout-preview__project-section-count
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  min-height: 18px;
  padding: 1px 5px;
  border-radius: 3px;
  background: #e6e6e6;
  font-size: 11px;
  font-weight: 600;
  line-height: 14px;
  color: #0a090b;
}

#main-view-checkout-experience .checkout-preview__project-section-count--todo,
#main-view-your-brand .checkout-preview__project-section-count--todo
{
  background: var(--checkout-project-highlight-surface);
  color: var(--checkout-project-highlight-text);
}

#main-view-checkout-experience .checkout-preview__project-section-chevron,
#main-view-your-brand .checkout-preview__project-section-chevron
{
  display: inline-flex;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__project-section-chevron svg,
#main-view-your-brand .checkout-preview__project-section-chevron svg
{
  display: block;
  width: 18px;
  height: 18px;
}

#main-view-checkout-experience .checkout-preview__project-footer,
#main-view-your-brand .checkout-preview__project-footer
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-shrink: 0;
  min-height: 44px;
  padding: 10px 12px;
  background: var(--checkout-primary);
  color: #fff;
}

#main-view-checkout-experience .checkout-preview__project-footer[hidden],
#main-view-your-brand .checkout-preview__project-footer[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__project-footer-copy,
#main-view-your-brand .checkout-preview__project-footer-copy
{
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: -0.11px;
  white-space: nowrap;
}

#main-view-checkout-experience .checkout-preview__project-footer-contact,
#main-view-your-brand .checkout-preview__project-footer-contact
{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

#main-view-checkout-experience .checkout-preview__project-footer-link,
#main-view-your-brand .checkout-preview__project-footer-link
{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-weight: 500;
  line-height: 13px;
  color: #fff;
  white-space: nowrap;
}

#main-view-checkout-experience .checkout-preview__project-footer-link svg,
#main-view-your-brand .checkout-preview__project-footer-link svg
{
  display: block;
  flex-shrink: 0;
}

#main-view-checkout-experience .checkout-preview__system-details-card-head,
#main-view-your-brand .checkout-preview__system-details-card-head
{
  padding: 16px;
  border-bottom: 1px solid #ececed;
}

#main-view-checkout-experience .checkout-preview__system-details-card-title,
#main-view-your-brand .checkout-preview__system-details-card-title
{
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__system-details-card-body,
#main-view-your-brand .checkout-preview__system-details-card-body
{
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}

#main-view-checkout-experience .checkout-preview__system-details-lines,
#main-view-your-brand .checkout-preview__system-details-lines
{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#main-view-checkout-experience .checkout-preview__system-details-lines li,
#main-view-your-brand .checkout-preview__system-details-lines li
{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#main-view-checkout-experience .checkout-preview__system-details-name,
#main-view-your-brand .checkout-preview__system-details-name
{
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #1d1c20;
}

#main-view-checkout-experience .checkout-preview__system-details-sub,
#main-view-your-brand .checkout-preview__system-details-sub
{
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__savings-banner[hidden],
#main-view-your-brand .checkout-preview__savings-banner[hidden],
#main-view-checkout-experience .checkout-preview__product-carousel[hidden],
#main-view-your-brand .checkout-preview__product-carousel[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__marketplace--finance-card[hidden],
#main-view-your-brand .checkout-preview__marketplace--finance-card[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__savings-banner,
#main-view-your-brand .checkout-preview__savings-banner
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
  border: 1px solid #91ddad;
  border-radius: 4px;
  background: #ebfbf1;
}

#main-view-checkout-experience .checkout-preview__savings-banner-text,
#main-view-your-brand .checkout-preview__savings-banner-text
{
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: #016626;
}

#main-view-checkout-experience .checkout-preview__savings-banner svg,
#main-view-your-brand .checkout-preview__savings-banner svg
{
  flex-shrink: 0;
  color: #016626;
}

#main-view-checkout-experience .checkout-preview__product-carousel,
#main-view-your-brand .checkout-preview__product-carousel
{
  margin: 0 -16px;
  padding: 0 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#main-view-checkout-experience .checkout-preview__product-carousel-track,
#main-view-your-brand .checkout-preview__product-carousel-track
{
  display: flex;
  gap: 12px;
  width: max-content;
  padding-bottom: 2px;
}

#main-view-checkout-experience .checkout-preview__product-card,
#main-view-your-brand .checkout-preview__product-card
{
  flex-shrink: 0;
  width: 124px;
  border: 1px solid #dcdcde;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__product-card-image,
#main-view-your-brand .checkout-preview__product-card-image
{
  height: 80px;
  background:
    linear-gradient(45deg, #ececed 25%, transparent 25%),
    linear-gradient(-45deg, #ececed 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #ececed 75%),
    linear-gradient(-45deg, transparent 75%, #ececed 75%);
  background-size: 12px 12px;
  background-position:
    0 0,
    0 6px,
    6px -6px,
    -6px 0;
  background-color: #f8f8f8;
}

#main-view-checkout-experience .checkout-preview__product-card-body,
#main-view-your-brand .checkout-preview__product-card-body
{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
}

#main-view-checkout-experience .checkout-preview__product-card-logo,
#main-view-your-brand .checkout-preview__product-card-logo
{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 9px;
  border-radius: 2px;
  background: #f8f8f8;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #0a090b;
}

#main-view-checkout-experience .checkout-preview__product-card-title,
#main-view-your-brand .checkout-preview__product-card-title
{
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__product-card-sub,
#main-view-your-brand .checkout-preview__product-card-sub
{
  margin: 0;
  font-size: 10px;
  line-height: 12px;
  color: #4c4b53;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__product-card-btn,
#main-view-your-brand .checkout-preview__product-card-btn
{
  width: 100%;
  min-height: 26px;
  padding: 4px 7px;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  background: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  line-height: 15px;
  color: #4c4b53;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__payment-summary,
#main-view-your-brand .checkout-preview__payment-summary
{
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  background: #f8f8f8;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__payment-summary-head,
#main-view-your-brand .checkout-preview__payment-summary-head
{
  padding: 16px;
  border-bottom: 1px solid #e6e6e6;
}

#main-view-checkout-experience .checkout-preview__payment-summary-title,
#main-view-your-brand .checkout-preview__payment-summary-title
{
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__payment-summary-body,
#main-view-your-brand .checkout-preview__payment-summary-body
{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
}

#main-view-checkout-experience .checkout-preview__payment-method-select,
#main-view-your-brand .checkout-preview__payment-method-select
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #e6f6fb;
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--checkout-text);
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__payment-method-select--finance,
#main-view-your-brand .checkout-preview__payment-method-select--finance
{
  background: #f8f8f8;
  color: #adacb0;
  cursor: not-allowed;
}

#main-view-checkout-experience .phone--checkout[data-checkout-enabled="true"] .checkout-preview__payment-method-select--finance,
#main-view-your-brand .phone--checkout[data-checkout-enabled="true"] .checkout-preview__payment-method-select--finance
{
  display: none;
}

#main-view-checkout-experience .phone--checkout[data-checkout-enabled="false"] .checkout-preview__payment-method-select--cash,
#main-view-your-brand .phone--checkout[data-checkout-enabled="false"] .checkout-preview__payment-method-select--cash
{
  display: none;
}

#main-view-checkout-experience .phone--checkout[data-checkout-enabled="false"] .checkout-preview__payment-method-select--finance,
#main-view-your-brand .phone--checkout[data-checkout-enabled="false"] .checkout-preview__payment-method-select--finance
{
  display: flex;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown,
#main-view-your-brand .checkout-preview__pay-breakdown
{
  border: 1px solid #ececed;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-head,
#main-view-your-brand .checkout-preview__pay-breakdown-head
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  border-bottom: 1px solid #ececed;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-title,
#main-view-your-brand .checkout-preview__pay-breakdown-title
{
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.16px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-body,
#main-view-your-brand .checkout-preview__pay-breakdown-body
{
  display: flex;
  flex-direction: column;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-section,
#main-view-your-brand .checkout-preview__pay-breakdown-section
{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #ececed;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-grid,
#main-view-your-brand .checkout-preview__pay-breakdown-grid
{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #c9c9cc;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-labels,
#main-view-your-brand .checkout-preview__pay-breakdown-labels,
#main-view-checkout-experience .checkout-preview__pay-breakdown-values,
#main-view-your-brand .checkout-preview__pay-breakdown-values
{
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 14px;
  line-height: 20px;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-labels,
#main-view-your-brand .checkout-preview__pay-breakdown-labels
{
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-values,
#main-view-your-brand .checkout-preview__pay-breakdown-values
{
  align-items: flex-end;
  min-width: 120px;
  font-weight: 400;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-muted,
#main-view-your-brand .checkout-preview__pay-breakdown-muted
{
  color: #adacb0;
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-total,
#main-view-your-brand .checkout-preview__pay-breakdown-total,
#main-view-checkout-experience .checkout-preview__pay-breakdown-due,
#main-view-your-brand .checkout-preview__pay-breakdown-due
{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__pay-breakdown-due,
#main-view-your-brand .checkout-preview__pay-breakdown-due
{
  padding: 16px;
}

#main-view-checkout-experience .checkout-preview__trust-badges,
#main-view-your-brand .checkout-preview__trust-badges
{
  display: flex;
  gap: 4px;
  padding: 16px 10px;
  border: 1px solid #ececed;
  border-radius: 8px;
  background: #fff;
}

#main-view-checkout-experience .checkout-preview__trust-badge,
#main-view-your-brand .checkout-preview__trust-badge
{
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: #6b6a76;
  text-align: center;
}

#main-view-checkout-experience .checkout-preview__trust-badge svg,
#main-view-your-brand .checkout-preview__trust-badge svg,
#main-view-checkout-experience .checkout-preview__trust-badge img,
#main-view-your-brand .checkout-preview__trust-badge img
{
  flex-shrink: 0;
}

#main-view-checkout-experience .checkout-preview__next--full,
#main-view-your-brand .checkout-preview__next--full
{
  align-self: stretch;
  width: 100%;
  min-height: 40px;
}

#main-view-checkout-experience .checkout-preview__marketplace--finance-card,
#main-view-your-brand .checkout-preview__marketplace--finance-card
{
  gap: 12px;
}

#main-view-checkout-experience .checkout-preview__marketplace-head,
#main-view-your-brand .checkout-preview__marketplace-head
{
  display: flex;
  align-items: center;
  gap: 8px;
}

#main-view-checkout-experience .checkout-preview__marketplace-head .checkout-preview__marketplace-title,
#main-view-your-brand .checkout-preview__marketplace-head .checkout-preview__marketplace-title
{
  margin: 0;
}

#main-view-checkout-experience .checkout-preview__marketplace-duration,
#main-view-your-brand .checkout-preview__marketplace-duration
{
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  font-size: 12px;
  line-height: 18px;
  color: #4d4d4d;
}

#main-view-checkout-experience .checkout-preview__marketplace-duration svg,
#main-view-your-brand .checkout-preview__marketplace-duration svg
{
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #4d4d4d;
}

#main-view-checkout-experience .checkout-preview__marketplace-copy,
#main-view-your-brand .checkout-preview__marketplace-copy
{
  margin: 0;
  font-size: 12px;
  line-height: 18px;
  color: #4d4d4d;
}

#main-view-checkout-experience .checkout-preview__marketplace--finance-card .checkout-preview__marketplace-btn,
#main-view-your-brand .checkout-preview__marketplace--finance-card .checkout-preview__marketplace-btn
{
  font-size: 14px;
  line-height: 20px;
  color: #0a090b;
}

#main-view-checkout-experience .phone--checkout[data-theme="dark"],
#main-view-your-brand .phone--checkout[data-theme="dark"]
{
  --checkout-bg: #0a090b;
  --checkout-surface: #1d1c20;
  --checkout-border: #3a3940;
  --checkout-text: #ffffff;
  --checkout-text-muted: #adacb0;
  --checkout-text-faint: #6b6a76;
}

.checkout-preview__payment-head {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--checkout-text);
}

.checkout-preview__payment-card {
  border: 1px solid var(--checkout-border);
  border-radius: 8px;
  background: #f8f8f8;
  overflow: hidden;
}

.checkout-preview__payment-card-head {
  padding: 16px;
  border-bottom: 1px solid var(--checkout-border);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--checkout-text);
}

.checkout-preview__payment-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.checkout-preview__payment-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--checkout-border);
  border-radius: 4px;
  background: var(--checkout-surface);
}

.checkout-preview__payment-option.is-selected {
  border-color: var(--checkout-brand-blue);
  box-shadow: inset 0 0 0 1px var(--checkout-brand-blue);
}

.checkout-preview__payment-option input {
  flex-shrink: 0;
}

.checkout-preview__payment-option-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--checkout-text);
}

.checkout-preview__payment-due {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 0 0;
  border-top: 1px solid var(--checkout-border);
  font-size: 14px;
  line-height: 20px;
  color: var(--checkout-text);
}

.checkout-preview__payment-due strong {
  font-weight: 600;
}

.checkout-preview__contract-copy {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--checkout-text-muted);
}

.checkout-preview__contract-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 16px;
  padding: 10px 16px;
  border: none;
  border-radius: 4px;
  background: var(--checkout-primary);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #fff;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__payment-stack,
#main-view-your-brand .checkout-preview__payment-stack
{
  display: block;
}

#main-view-checkout-experience .checkout-preview__payment-stack[hidden],
#main-view-your-brand .checkout-preview__payment-stack[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__payment-body,
#main-view-your-brand .checkout-preview__payment-body
{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding-top: 8px;
}

#main-view-checkout-experience .checkout-preview__pay-now-btn,
#main-view-your-brand .checkout-preview__pay-now-btn
{
  width: 100%;
  min-height: 44px;
  padding: 10px 16px;
  border: none;
  border-radius: 4px;
  background: var(--checkout-primary);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #fff;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__pay-now-btn:disabled,
#main-view-your-brand .checkout-preview__pay-now-btn:disabled
{
  opacity: 0.45;
}

#main-view-checkout-experience .phone--checkout-payment .checkout-preview__scroll,
#main-view-your-brand .phone--checkout-payment .checkout-preview__scroll
{
  padding: 24px 20px 16px;
  gap: 0;
}

#main-view-checkout-experience .checkout-preview__stepper--payment,
#main-view-your-brand .checkout-preview__stepper--payment
{
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step
{
  min-height: 88px;
  gap: 8px;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step-copy,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step-copy
{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-label,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-label
{
  color: #4c4b53;
  font-weight: 500;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-active .checkout-preview__step-label,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-active .checkout-preview__step-label
{
  color: #1751d0;
  font-weight: 500;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-dot,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-dot
{
  background: #1751d0;
  color: #fff;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-rail::before,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-rail::before,
#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-rail::after,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-complete .checkout-preview__step-rail::after,
#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step.is-active .checkout-preview__step-rail::before,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step.is-active .checkout-preview__step-rail::before
{
  background: #1751d0;
}

#main-view-checkout-experience .checkout-preview__step-badge--success,
#main-view-your-brand .checkout-preview__step-badge--success
{
  background: #e1faea;
  color: #016626;
}

#main-view-checkout-experience .checkout-preview__step-badge--warning,
#main-view-your-brand .checkout-preview__step-badge--warning
{
  background: #fdf4f2;
  color: #b84e1c;
}

#main-view-checkout-experience .checkout-preview__stepper--payment .checkout-preview__step-badge,
#main-view-your-brand .checkout-preview__stepper--payment .checkout-preview__step-badge
{
  height: 20px;
  padding: 0 4px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

#main-view-checkout-experience .checkout-preview__summary--payment,
#main-view-your-brand .checkout-preview__summary--payment
{
  width: 100%;
  border-color: #ececed;
  border-radius: 8px;
  background: #fff;
}

#main-view-checkout-experience .checkout-preview__summary--payment .checkout-preview__summary-chevron,
#main-view-your-brand .checkout-preview__summary--payment .checkout-preview__summary-chevron
{
  color: #6b6a76;
}

#main-view-checkout-experience .checkout-preview__pay-methods,
#main-view-your-brand .checkout-preview__pay-methods
{
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__pay-methods-intro,
#main-view-your-brand .checkout-preview__pay-methods-intro
{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 6px;
}

#main-view-checkout-experience .checkout-preview__pay-methods-title,
#main-view-your-brand .checkout-preview__pay-methods-title
{
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.2px;
  color: #0a0d13;
}

#main-view-checkout-experience .checkout-preview__pay-methods-copy,
#main-view-your-brand .checkout-preview__pay-methods-copy
{
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: #0a0d13;
}

#main-view-checkout-experience .checkout-preview__pay-methods-card,
#main-view-your-brand .checkout-preview__pay-methods-card
{
  border: 1px solid #ececed;
  border-radius: 12px;
  background: #fff;
  padding: 24px 12px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#main-view-checkout-experience .checkout-preview__pay-express,
#main-view-your-brand .checkout-preview__pay-express
{
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

#main-view-checkout-experience .checkout-preview__pay-express[hidden],
#main-view-your-brand .checkout-preview__pay-express[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__pay-express-label,
#main-view-your-brand .checkout-preview__pay-express-label
{
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #c9c9cc;
  text-align: center;
}

#main-view-checkout-experience .checkout-preview__pay-express-buttons,
#main-view-your-brand .checkout-preview__pay-express-buttons
{
  display: flex;
  gap: 12px;
  width: 100%;
}

#main-view-checkout-experience .checkout-preview__pay-express-btn,
#main-view-your-brand .checkout-preview__pay-express-btn
{
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 36px;
  padding: 0 12px;
  border: none;
  border-radius: 6px;
  background: #0a090b;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: #fff;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__pay-express-btn--paypal,
#main-view-your-brand .checkout-preview__pay-express-btn--paypal
{
  background: #fff;
  border: 1px solid #e6e6e6;
}

#main-view-checkout-experience .checkout-preview__pay-express-btn--paypal img,
#main-view-your-brand .checkout-preview__pay-express-btn--paypal img
{
  display: block;
  width: auto;
  height: 19px;
  max-width: 100%;
  object-fit: contain;
}

#main-view-checkout-experience .checkout-preview__pay-divider,
#main-view-your-brand .checkout-preview__pay-divider
{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 22px;
  color: #c9c9cc;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

#main-view-checkout-experience .checkout-preview__pay-divider[hidden],
#main-view-your-brand .checkout-preview__pay-divider[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__pay-divider span:first-child,
#main-view-your-brand .checkout-preview__pay-divider span:first-child,
#main-view-checkout-experience .checkout-preview__pay-divider span:last-child,
#main-view-your-brand .checkout-preview__pay-divider span:last-child
{
  flex: 1;
  height: 1px;
  background: #ececed;
}

#main-view-checkout-experience .checkout-preview__pay-options,
#main-view-your-brand .checkout-preview__pay-options
{
  display: flex;
  flex-direction: column;
}

#main-view-checkout-experience .checkout-preview__pay-option,
#main-view-your-brand .checkout-preview__pay-option
{
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 57px;
  padding: 8px;
  border-top: 1px solid #dcdcde;
  cursor: default;
}

#main-view-checkout-experience .checkout-preview__pay-option--cards,
#main-view-your-brand .checkout-preview__pay-option--cards
{
  background: #fff;
}

#main-view-checkout-experience .checkout-preview__pay-option[hidden],
#main-view-your-brand .checkout-preview__pay-option[hidden]
{
  display: none;
}

#main-view-checkout-experience .checkout-preview__pay-option input,
#main-view-your-brand .checkout-preview__pay-option input
{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#main-view-checkout-experience .checkout-preview__pay-option-radio,
#main-view-your-brand .checkout-preview__pay-option-radio
{
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1.5px solid #adacb0;
  border-radius: 50%;
}

#main-view-checkout-experience .checkout-preview__pay-option-label,
#main-view-your-brand .checkout-preview__pay-option-label
{
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--checkout-text);
}

#main-view-checkout-experience .checkout-preview__pay-option-cards,
#main-view-your-brand .checkout-preview__pay-option-cards
{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

#main-view-checkout-experience .checkout-preview__pay-option-cards img,
#main-view-your-brand .checkout-preview__pay-option-cards img
{
  display: block;
  width: 38px;
  height: 24px;
  object-fit: contain;
}

#main-view-checkout-experience .checkout-preview__pay-option-more,
#main-view-your-brand .checkout-preview__pay-option-more
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 24px;
  padding: 0 6px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #ececed;
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  color: #4c4b53;
}
