@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/peydaWeb-extralight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/peydaWeb-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Peyda";
  src: url("../fonts/peyda/PeydaWeb-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* نبض | باسلام — panel chrome.
 *
 * assets/css/nabz-admin.css is the WordPress plugin's stylesheet, copied
 * verbatim, and it owns every component (.ss-card, .ss-stat, .ss-tab, .ss-table,
 * .ss-switch, .ss-badge …). It assumes it is running inside wp-admin though, so
 * this file supplies only what a standalone page needs: the page background,
 * the top bar, and the signed-out screen. Nothing here re-styles a component
 * the plugin already defines — the two products must not drift.
 * ------------------------------------------------------------------ */

.ss-tab__label--short {
    display: none;
}

:root {
  /* Mirrors the plugin's palette so the chrome outside .nabz-wrap matches. */
  --nbz-bg: #f4fbf7;
  --nbz-surface: #ffffff;
  --nbz-border: #dcefe6;
  --nbz-text: #0a0a0a;
  --nbz-text-2: #52525b;
  --nbz-text-3: #71717a;
  --nbz-accent: #059669;
  --nbz-accent-hover: #047857;
  --nbz-accent-soft: #e9fbf2;
  --nbz-accent-border: #bdebd2;
  --nbz-accent-ring: rgba(5, 150, 105, .13);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: var(--nbz-bg);
  color: var(--nbz-text);
  font-family: "Peyda", "IRANSans", "Tahoma", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  direction: rtl;
  -webkit-font-smoothing: antialiased;
}

/* ---------- top bar ---------- */
.nbz-topbar {
  background: var(--nbz-surface);
  border-bottom: 1px solid var(--nbz-border);
  position: sticky;
  top: 0;
  z-index: 40;
}

.nbz-topbar__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.nbz-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--nbz-text);
  font-weight: 700;
  font-size: 17px;
}

.nbz-brand img {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

.nbz-brand__sep {
  color: var(--nbz-border);
  font-weight: 400;
}

.nbz-brand__sub {
  color: var(--nbz-text-2);
  font-weight: 600;
}

.nbz-topbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  color: var(--nbz-text-2);
}

.nbz-topbar__actions a {
  color: var(--nbz-text-2);
  text-decoration: none;
}
.nbz-topbar__actions a:hover {
  color: var(--nbz-text);
}

/* ---------- signed-out screen ---------- */
.nbz-center {
  min-height: calc(100vh - 64px);
  display: grid;
  place-items: center;
  padding: 32px 20px;
}

.nbz-signin {
  width: 100%;
  max-width: 460px;
  background: var(--nbz-surface);
  border: 1px solid var(--nbz-border);
  border-radius: 22px;
  padding: 40px 32px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.05);
}

.nbz-signin__mark {
  width: 56px;
  height: 56px;
  border-radius: 16px;
}

.nbz-signin h1 {
  font-size: 21px;
  font-weight: 700;
  margin: 18px 0 8px;
}

.nbz-signin p {
  color: var(--nbz-text-2);
  margin: 0 0 24px;
  font-size: 14px;
}

.nbz-signin .ss-field {
  text-align: right;
}

/* ---------- small helpers the plugin doesn't ship ---------- */
.nbz-muted {
  color: var(--nbz-text-3);
}

.nbz-empty {
  text-align: center;
  color: var(--nbz-text-3);
  padding: 40px 16px;
  font-size: 14px;
}

.nbz-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.nbz-spacer {
  height: 20px;
}

.nbz-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.nbz-scroll {
  overflow-x: auto;
}

/* .nbz-header-actions is defined by the plugin stylesheet as a right-aligned
   column and is deliberately left alone. Screens here keep the header to one
   or two actions and put the rest in the card toolbars, which is what the
   plugin does too. */
.nbz-header-actions .button {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .nbz-topbar__inner {
    height: auto;
    padding: 12px 16px;
  }
  .nbz-brand {
    font-size: 15px;
  }
}

/* ---------- logout button ---------- */
.nbz-topbar__actions .button#btn-logout {
  color: #dc2626;
  background: #fff1f2;
  border: 1px solid #ffe4e6;
  border-radius: 10px;
  padding: 7px 16px;
  font-family: "Peyda", "IRANSans", "Tahoma", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 200ms cubic-bezier(.4, 0, .2, 1);
}
.nbz-topbar__actions .button#btn-logout:hover {
  color: #b91c1c;
  background: #ffe4e6;
  border-color: #fecdd3;
}
.nbz-topbar__actions .button#btn-logout .nbz-icon {
  width: 15px;
  height: 15px;
}

/* ---------- RFM segment cards ---------- */
.nbz-seg-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(154px, 1fr));
  gap: 12px;
  max-width: 100%;
  padding-bottom: 4px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.nbz-seg {
  min-width: 0;
  border: 1px solid var(--nbz-border);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(17, 24, 39, .035);
  cursor: pointer;
  text-align: right;
  transition: border-color 200ms cubic-bezier(.4, 0, .2, 1),
    box-shadow 200ms cubic-bezier(.4, 0, .2, 1), transform 200ms;
}
.nbz-seg:hover {
  border-color: var(--nbz-accent-border);
  box-shadow: 0 16px 36px rgba(17, 24, 39, .06);
  transform: translateY(-1px);
}
.nbz-seg.is-active {
  border-color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  box-shadow: 0 0 0 2px rgba(5, 150, 105, .12) inset, 0 14px 34px rgba(5, 150, 105, .1);
}
.nbz-seg.is-active .nbz-seg__label .nbz-icon {
  color: #fff;
  background: var(--nbz-accent);
  border-color: var(--nbz-accent);
}
.nbz-seg.is-disabled,
.nbz-seg.is-disabled:hover {
  border-color: #e5eee9;
  background: #f7faf8;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}
.nbz-seg.is-disabled .nbz-seg__label,
.nbz-seg.is-disabled .nbz-seg__count,
.nbz-seg.is-disabled .nbz-seg__meta { color: var(--nbz-text-3); }
.nbz-seg.is-disabled .nbz-seg__label .nbz-icon {
  color: #9bb4a7;
  background: #eef5f1;
  border-color: #dce9e1;
}
.nbz-seg__label {
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--nbz-text);
}
.nbz-seg__label .nbz-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  padding: 6px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 12px;
  box-sizing: border-box;
}
.nbz-seg__count {
  color: var(--nbz-text);
  font-size: 28px;
  font-weight: 800;
  margin-top: 14px;
  line-height: 1.2;
}
.nbz-seg__meta {
  color: var(--nbz-text-3);
  margin-top: 8px;
  font-size: 12.5px;
  font-weight: 600;
}

/* ---------- product cells ---------- */
.nbz-prod {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
}
.nbz-prod__img {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--nbz-border);
  background: #f4f4f5;
  flex: 0 0 auto;
}
.nbz-prod__img--empty {
  display: grid;
  place-items: center;
  color: var(--nbz-text-3);
}
.nbz-prod__title {
  font-weight: 600;
  line-height: 1.5;
}
.nbz-prod__sub {
  color: var(--nbz-text-3);
  font-size: 12px;
}

/* "view on Basalam" eye */
.nbz-eye {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  border: 1px solid var(--nbz-border);
  color: var(--nbz-text-2);
  background: var(--nbz-surface);
  transition: background 200ms, color 200ms;
}
.nbz-eye:hover {
  background: var(--nbz-accent);
  border-color: var(--nbz-accent);
  color: #fff;
}
.nbz-eye .nbz-icon {
  width: 16px;
  height: 16px;
}

/* ---------- toolbar (search + sort + export) ---------- */
.nbz-toolbar {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.nbz-toolbar .ss-field {
  margin: 0;
  min-width: 160px;
}
.nbz-toolbar .ss-field--grow {
  flex: 1 1 220px;
}

/* ---------- compact customer search + filter drawer ---------- */
.nbz-customer-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
}

.nbz-customer-search {
  position: relative;
  display: block;
  min-width: 0;
}

.nbz-customer-search .nbz-icon {
  position: absolute;
  z-index: 1;
  inset-inline-start: 13px;
  top: 50%;
  width: 18px;
  height: 18px;
  color: var(--nbz-text-3);
  transform: translateY(-50%);
  pointer-events: none;
}

.nabz-wrap .nbz-customer-search input {
  width: 100%;
  max-width: none;
  padding-inline-start: 40px !important;
}

.nbz-filter-trigger {
  position: relative;
  gap: 7px;
  white-space: nowrap;
}

.nbz-filter-trigger.is-active {
  color: var(--nbz-accent) !important;
  background: var(--nbz-accent-soft) !important;
  border-color: var(--nbz-accent-border) !important;
}

.nbz-filter-count {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  color: #fff;
  background: var(--nbz-accent);
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

body.nbz-customer-filter-open {
  overflow: hidden;
}

.nbz-customer-filter[hidden] {
  display: none;
}

.nbz-customer-filter {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  justify-content: flex-start;
  direction: rtl;
}

.nbz-customer-filter__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none !important;
  padding: 0;
  background: rgba(15, 23, 42, .35);
  border: 0;
  border-radius: 0;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.nbz-customer-filter__panel {
  position: relative;
  z-index: 1;
  width: min(390px, calc(100% - 20px));
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-inline-end: 1px solid var(--nbz-border);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
}

.nbz-customer-filter__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  border-bottom: 1px solid var(--nbz-border);
}

.nbz-customer-filter__head h3,
.nbz-customer-filter__head p {
  margin: 0;
}

.nbz-customer-filter__head h3 {
  color: var(--nbz-text);
  font-size: 17px;
}

.nbz-customer-filter__head p {
  margin-top: 4px;
  color: var(--nbz-text-3);
  font-size: 11px;
}

.nbz-customer-filter__close {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  padding: 0;
  color: var(--nbz-text-2);
  background: #f8fafc;
  border: 1px solid var(--nbz-border);
  border-radius: 11px;
  cursor: pointer;
}

.nbz-customer-filter__close .nbz-icon {
  width: 18px;
  height: 18px;
}

.nbz-customer-filter__body {
  flex: 1;
  display: grid;
  align-content: start;
  gap: 14px;
  overflow-y: auto;
  padding: 22px;
}

.nbz-customer-filter__body .ss-field {
  margin: 0;
}

.nbz-customer-filter__footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 16px 22px calc(16px + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid var(--nbz-border);
}

.nbz-customer-filter__footer .button {
  width: 100%;
  justify-content: center;
}

/* sortable table headers */
th.nbz-sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
th.nbz-sortable:hover {
  color: var(--nbz-text);
}
th.nbz-sortable .nbz-sort-arrow {
  opacity: .55;
  font-size: 11px;
}

/* ---------- standalone refresh inspired by app.hamsalam.ir ---------- */
:root {
  --nbz-bg: #f4fbf7;
  --nbz-surface: #ffffff;
  --nbz-border: #dcefe6;
  --nbz-text: #111827;
  --nbz-text-2: #4b5563;
  --nbz-text-3: #7b8494;
  --nbz-accent: #059669;
  --nbz-accent-hover: #047857;
  --nbz-accent-soft: #e9fbf2;
  --nbz-accent-border: #bdebd2;
  --nbz-accent-ring: rgba(5, 150, 105, .13);
}

body {
  background: var(--nbz-bg);
  color: var(--nbz-text);
}

.nbz-topbar {
  background: transparent;
  border-bottom: 0;
  padding: 12px 18px 0;
}

.nbz-topbar__inner {
  max-width: 1204px;
  height: 58px;
  padding: 0 18px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(188, 231, 209, .9);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(17, 24, 39, .06);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
}

.nbz-brand {
  gap: 9px;
  font-size: 16px;
}

.nbz-brand img {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(18, 184, 134, .18);
}

.nbz-brand__sep {
  color: #c7e6d5;
}

.nbz-topbar__actions {
  gap: 10px;
}

.nbz-guide-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 13px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 13px;
  font-family: "Peyda", "IRANSans", "Tahoma", system-ui, -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.nbz-guide-button:hover,
.nbz-guide-button:focus-visible {
  color: var(--nbz-accent-hover);
  background: #d7f7e6;
  border-color: #91d9b2;
  outline: none;
  box-shadow: 0 0 0 3px var(--nbz-accent-ring);
  transform: translateY(-1px);
}

.nbz-guide-button .nbz-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.nbz-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  color: var(--nbz-text);
  background: #f4fbf7;
  border: 1px solid var(--nbz-border);
  border-radius: 13px;
  font-weight: 600;
}

.nbz-user-chip .nbz-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: var(--nbz-accent);
}

/* The chip is a flex container, where text-overflow does nothing — the name
 * needs to be its own block for the ellipsis to appear. */
.nbz-user-chip__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nbz-topbar__actions .button#btn-logout {
  min-height: 36px;
  padding: 0 13px;
  font-family: "Peyda", "IRANSans", "Tahoma", system-ui, -apple-system, sans-serif;
  color: #dc2626;
  background: #fff1f2;
  border-color: #ffe4e6;
  border-radius: 13px;
  box-shadow: none;
}

.nbz-topbar__actions .button#btn-logout:hover {
  color: #b91c1c;
  background: #ffe4e6;
  border-color: #fecdd3;
}

.nabz-wrap {
  --ss-bg: #f4fbf7;
  --ss-surface: #ffffff;
  --ss-surface-2: #f6fbf8;
  --ss-border: #dcefe6;
  --ss-border-2: #c7e6d5;
  --ss-text: #111827;
  --ss-text-2: #4b5563;
  --ss-text-3: #7b8494;
  --ss-accent: var(--nbz-accent);
  --ss-accent-fg: #ffffff;
  --ss-success: #059669;
  --ss-danger: #dc2626;
  --ss-warning: #d97706;
  --ss-radius-sm: 12px;
  --ss-radius: 16px;
  --ss-radius-lg: 20px;
  --ss-radius-xl: 26px;
  --ss-shadow-sm: 0 10px 28px rgba(17, 24, 39, .045);
  --ss-shadow: 0 16px 38px rgba(17, 24, 39, .07);
  --ss-shadow-lg: 0 24px 60px rgba(17, 24, 39, .09);
  max-width: 1240px;
  margin: 18px auto 56px !important;
  padding: 0 18px 48px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nabz-wrap .ss-header {
  color: var(--ss-text);
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--ss-border);
  border-radius: var(--ss-radius-xl);
  box-shadow: var(--ss-shadow-sm);
  padding: 26px 30px;
  margin-bottom: 16px;
}

.nabz-wrap .ss-header::before {
  display: none;
}

.nabz-wrap .ss-header__title {
  color: var(--ss-text) !important;
  font-size: 22px;
  gap: 12px;
}

.nabz-wrap .ss-header__title > .nbz-icon {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-radius: 15px;
  box-sizing: border-box;
}

.nabz-wrap .ss-header__subtitle {
  color: var(--ss-text-3);
  margin-top: 5px;
  font-size: 13px;
}

.nabz-wrap .nbz-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.nabz-wrap .nbz-header-actions--dashboard {
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
}

.nabz-wrap .nbz-header-actions--dashboard .button {
  flex: 0 0 auto;
}

.nabz-wrap .ss-card {
  background: rgba(255, 255, 255, .96);
  border-color: var(--ss-border);
  border-radius: var(--ss-radius-lg);
  box-shadow: var(--ss-shadow-sm);
  margin-bottom: 18px;
}

.nabz-wrap .ss-card:hover {
  box-shadow: var(--ss-shadow);
}

.nabz-wrap .ss-card__header {
  padding: 18px 22px;
  background: transparent;
  border-bottom-color: var(--ss-border);
}

.nabz-wrap .ss-card__title {
  font-size: 15px !important;
}

.nabz-wrap .ss-card__title > .nbz-icon {
  width: 32px;
  height: 32px;
  padding: 7px;
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-radius: 12px;
  box-sizing: border-box;
}

.nabz-wrap .ss-card__body {
  padding: 22px;
}

.nabz-wrap .ss-stats {
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.nabz-wrap .ss-stat {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-color: var(--ss-border);
  border-radius: 20px;
  box-shadow: var(--ss-shadow-sm);
}

.nabz-wrap .ss-stat:hover {
  transform: none;
  box-shadow: var(--ss-shadow);
}

.nabz-wrap .ss-stat__content {
  min-width: 0;
}

.nabz-wrap .ss-stat__label {
  margin-bottom: 8px;
  color: var(--ss-text-3);
  font-size: 12px;
}

.nabz-wrap .ss-stat__value {
  color: var(--ss-text);
  font-size: 25px;
  /* The value is a flex row inside a fixed-height tile. Without these it cannot
   * shrink below its content, so a long amount ("۳۷۸٬۰۰۰ تومان") was clipped
   * mid-word at the edge of the card. */
  min-width: 0;
  flex-wrap: wrap;
}

/* Money needs the amount and its unit to stay together, so it carries a
 * non-breaking space — which means the pair has to be free to drop onto its own
 * line, and to size down, rather than overflow the tile. */
.nabz-wrap .nbz-stat-money {
  font-size: 19px;
  line-height: 1.35;
  min-width: 0;
  overflow-wrap: anywhere;
}

.nabz-wrap .nbz-stat-action {
  margin-top: 12px;
}

.nabz-wrap .nbz-stat-action .button {
  min-height: 36px;
  padding: 6px 12px;
  font-size: 12px;
}

.nabz-wrap .nbz-stat-action .nbz-icon {
  width: 18px;
  height: 18px;
}

.nabz-wrap .ss-stat__icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-radius: 18px;
}

.nabz-wrap .ss-stat__icon .nbz-icon {
  width: 23px;
  height: 23px;
}

.nabz-wrap .ss-stat--success .ss-stat__value,
.nabz-wrap .ss-stat--success .ss-stat__icon {
  color: var(--ss-success);
}

.nabz-wrap .ss-stat--success .ss-stat__icon {
  background: #ecfdf5;
}

.nabz-wrap .ss-stat--warning .ss-stat__value,
.nabz-wrap .ss-stat--warning .ss-stat__icon {
  color: var(--ss-warning);
}

.nabz-wrap .ss-stat--warning .ss-stat__icon {
  background: #fff7ed;
}

.nabz-wrap .ss-stat--danger .ss-stat__value,
.nabz-wrap .ss-stat--danger .ss-stat__icon {
  color: var(--ss-danger);
}

.nabz-wrap .ss-stat--danger .ss-stat__icon {
  background: #fef2f2;
}

.nabz-wrap .nbz-tabs-card {
  position: sticky;
  top: 84px;
  z-index: 30;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
}

.nabz-wrap .nbz-tabs-card .ss-card__body {
  padding: 8px 10px;
}

.nabz-wrap .ss-tabs {
  flex-wrap: nowrap;
  gap: 7px;
  margin: 0;
  overflow-x: auto;
  border-bottom: 0;
  scrollbar-width: none;
}

.nabz-wrap .ss-tabs::-webkit-scrollbar {
  display: none;
}

.nabz-wrap .ss-tab {
  flex: 0 0 auto;
  min-height: 44px;
  margin-bottom: 0;
  padding: 10px 13px;
  color: var(--ss-text-2);
  border: 1px solid transparent;
  border-radius: 14px;
}

.nabz-wrap .ss-tab:hover {
  color: var(--ss-text);
  background: var(--ss-surface-2);
}

.nabz-wrap .ss-tab.is-active {
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-color: var(--nbz-accent-border);
}

.nabz-wrap .button,
.nabz-wrap .button-primary,
.nabz-wrap .button-secondary {
  min-height: 42px;
  padding: 10px 16px !important;
  border-radius: 14px !important;
}

.nabz-wrap .button-primary {
  background: var(--ss-accent) !important;
  border-color: var(--ss-accent) !important;
}

.nabz-wrap .button-primary:hover {
  background: var(--nbz-accent-hover) !important;
  border-color: var(--nbz-accent-hover) !important;
  box-shadow: 0 10px 22px rgba(5, 150, 105, .22) !important;
}

.nabz-wrap .nbz-row-actions .button {
  min-height: 36px;
  padding: 8px 12px !important;
}

.nabz-wrap input[type=text],
.nabz-wrap input[type=tel],
.nabz-wrap input[type=url],
.nabz-wrap input[type=number],
.nabz-wrap input[type=email],
.nabz-wrap input[type=password],
.nabz-wrap input[type=search],
.nabz-wrap select,
.nabz-wrap textarea {
  width: 100%;
  max-width: 480px;
  min-height: 44px;
  padding: 10px 14px !important;
  font-size: 14px !important;
  line-height: 1.5;
  border-color: var(--ss-border-2) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.nabz-wrap input:focus,
.nabz-wrap select:focus,
.nabz-wrap textarea:focus {
  border-color: var(--ss-accent) !important;
  box-shadow: 0 0 0 4px var(--nbz-accent-ring) !important;
}

.nabz-wrap .ss-field__label {
  color: var(--ss-text-2);
}

.nabz-wrap table.ss-table {
  border-color: var(--ss-border);
  border-radius: 18px;
}

.nabz-wrap table.ss-table thead th {
  background: #f8fafc;
  color: #667085;
}

.nabz-wrap table.ss-table tbody td,
.nabz-wrap table.ss-table tbody th {
  border-bottom-color: var(--ss-border);
}

.nabz-wrap table.ss-table tbody tr:hover td,
.nabz-wrap table.ss-table tbody tr:hover th {
  background: #f4fbf7;
}

.nbz-customers-table .nbz-col-rfm-segment,
.nbz-customers-table .nbz-col-rfm-score {
  width: 1%;
  padding-inline: 8px !important;
  white-space: nowrap;
}

.nbz-customers-table td.nbz-col-rfm-segment {
  max-width: 150px;
}

.nbz-customers-table td.nbz-col-rfm-score {
  min-width: 132px;
}

.nabz-wrap .ss-badge {
  border-radius: 999px;
  padding: 5px 10px;
}

.nabz-wrap .ss-badge--dark {
  color: #1f2937;
  background: #f3f4f6;
  border-color: #e5e7eb;
}

/* The plugin stylesheet ends with a bare `.notice { display: none }`. Inside
   wp-admin that hides WordPress's own notices, which is what it is for; here
   there is no wp-admin, and the same rule was swallowing ours — the flash
   messages, the reconnect banner, the segment preview. Notices are ours again
   inside the panel. */
.nabz-wrap .notice {
  display: block;
  padding: 14px 18px !important;
  margin: 0 0 16px !important;
  border: 1px solid var(--ss-border) !important;
  border-right: 4px solid var(--ss-accent) !important;
  border-left: 1px solid var(--ss-border) !important;
  border-radius: 16px;
  box-shadow: var(--ss-shadow-sm);
}

/* Optional transport access and a stale sync snapshot should not compete
 * visually with a broken Basalam connection. Keep the message discoverable,
 * but make the main dashboard feel calm when customer data is still usable. */
.nabz-wrap .notice.nbz-notice--quiet {
  margin-bottom: 12px !important;
  padding: 10px 14px !important;
  border-right-width: 3px !important;
  background: #fffbeb;
  box-shadow: none;
}

.nabz-wrap .notice.nbz-notice--quiet p {
  color: #854d0e;
  font-size: 12px;
  line-height: 1.8;
}

.nabz-wrap .notice.nbz-notice--quiet strong {
  color: #713f12;
}

.nbz-center {
  min-height: calc(100svh - 88px);
  padding: 54px 20px;
}

.nbz-signin {
  max-width: 460px;
  padding: 34px 32px;
  border-color: var(--nbz-border);
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(17, 24, 39, .1);
}

.nbz-signin__mark {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(18, 184, 134, .22);
}

.nbz-signin h1 {
  margin-top: 20px;
  font-size: 22px;
}

.nbz-signin p {
  color: var(--nbz-text-2);
  line-height: 1.9;
}

.nbz-signin__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 22px;
}

.nbz-signin__steps span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 8px;
  color: var(--nbz-text-2);
  background: #f8fafc;
  border: 1px solid var(--nbz-border);
  border-radius: 14px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.nbz-signin__steps .nbz-icon {
  width: 16px;
  height: 16px;
  color: var(--nbz-accent);
}

.nbz-signin .ss-field input {
  width: 100%;
  max-width: none;
  text-align: right;
}

.nbz-rfm-head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--nbz-accent);
}

.nbz-rfm-help {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 999px;
  cursor: pointer;
}

.nbz-rfm-help:hover,
.nbz-rfm-help:focus-visible {
  color: #fff;
  background: var(--nbz-accent);
  border-color: var(--nbz-accent);
  outline: none;
}

.nbz-rfm-help .nbz-icon {
  width: 15px;
  height: 15px;
}

.nbz-rfm-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 7px 11px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
  white-space: nowrap;
}

.nbz-rfm-badge .nbz-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: var(--nbz-accent);
}

.nbz-rfm-badge span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.nbz-order-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 180px;
  padding: 7px 11px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}

.nbz-order-status .nbz-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.nbz-order-status span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.nbz-rfm-score {
  display: inline-flex;
  align-items: center;
  direction: ltr;
  overflow: hidden;
  padding: 3px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 14px;
  white-space: nowrap;
  vertical-align: middle;
}

.nbz-rfm-score__part {
  min-width: 38px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 8px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1;
}

.nbz-rfm-score__part + .nbz-rfm-score__part {
  border-left: 1px solid rgba(5, 150, 105, .18);
  border-radius: 0;
}

.nbz-rfm-score__label {
  color: var(--nbz-accent);
  font-weight: 800;
}

.nbz-rfm-score__value {
  color: var(--nbz-accent);
  font-size: 14px;
  font-weight: 900;
}

.nbz-product-insights {
  align-items: start;
  gap: 12px;
  margin-bottom: 12px;
}

.nbz-product-insights > .ss-card {
  margin: 0;
}

.nbz-product-insights .nbz-collapse__summary {
  min-height: 60px;
  gap: 10px;
  padding: 10px 14px;
}

.nbz-product-insights .nbz-collapse__heading {
  gap: 2px;
}

.nbz-product-insights .nbz-collapse__title {
  gap: 7px;
  font-size: 14px;
}

.nbz-product-insights .nbz-collapse__title .nbz-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  padding: 5px;
  border-radius: 9px;
}

.nbz-product-insights .nbz-collapse__desc {
  font-size: 11px;
}

.nbz-product-insights .nbz-collapse__count {
  padding: 4px 8px;
  font-size: 11px;
}

.nbz-collapse {
  align-self: start;
  overflow: hidden;
}

.nbz-collapse__summary {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.nbz-collapse__summary::-webkit-details-marker {
  display: none;
}

.nbz-collapse__heading {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
}

.nbz-collapse__title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ss-text);
  font-size: 15px;
  font-weight: 800;
}

.nbz-collapse__title .nbz-icon {
  width: 32px;
  height: 32px;
  padding: 7px;
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-radius: 12px;
  box-sizing: border-box;
}

.nbz-collapse__desc {
  color: var(--ss-text-3);
  font-size: 12px;
  font-weight: 500;
}

.nbz-collapse__count {
  flex: 0 0 auto;
  padding: 6px 10px;
  color: var(--ss-text-2);
  background: #f8fafc;
  border: 1px solid var(--ss-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.nbz-collapse__chevron {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-right: 2px solid #94a3b8;
  border-bottom: 2px solid #94a3b8;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 180ms ease;
}

.nbz-collapse[open] .nbz-collapse__chevron {
  transform: translateY(2px) rotate(-135deg);
}

.nbz-collapse__body {
  padding: 0 22px 22px;
}

.nbz-collapse__body .nbz-scroll {
  margin-top: 2px;
}

.nbz-insight-more {
  display: flex;
  justify-content: center;
  padding-top: 14px;
}

.nbz-insight-show-all {
  font-size: 13px;
}

.nbz-seg-match {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.nbz-seg-match__option {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  color: var(--ss-text-2);
  background: #fff;
  border: 1px solid var(--ss-border-2);
  border-radius: 15px;
  cursor: pointer;
  font-family: inherit;
  text-align: right;
}

.nbz-seg-match__option strong {
  color: var(--ss-text);
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0;
  white-space: nowrap;
}

.nbz-seg-match__option span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ss-text-3);
  font-size: 12px;
  line-height: 1.6;
}

.nbz-seg-match__option span::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  background: currentColor;
  border-radius: 999px;
  opacity: .55;
}

.nbz-seg-match__option.is-active {
  color: var(--ss-accent);
  background: var(--nbz-accent-soft);
  border-color: var(--nbz-accent-border);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, .08);
}

.nbz-seg-match__option.is-active strong,
.nbz-seg-match__option.is-active span {
  color: var(--ss-accent);
}

.nbz-seg-pickers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
  direction: rtl;
}

.nbz-seg-pickers .ss-field {
  margin-bottom: 0;
}

.nbz-seg-pickers__product,
.nbz-seg-pickers__category {
  min-width: 0;
}

.nbz-picker-field {
  padding: 12px;
  background: #f8fafc;
  border: 1px solid var(--ss-border);
  border-radius: 16px;
}

.nbz-picker-field__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.nbz-picker-open {
  flex: 1 1 auto;
  justify-content: center;
}

.nbz-picker-count {
  flex: 0 0 auto;
  padding: 6px 10px;
  color: var(--ss-text-2);
  background: #fff;
  border: 1px solid var(--ss-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.nbz-picker-empty {
  margin: 12px 0 0;
  color: var(--ss-text-3);
  font-size: 12px;
}

.nbz-selected-facets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.nbz-selected-facet {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  color: var(--ss-text);
  background: #fff;
  border: 1px solid var(--ss-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.nbz-selected-facet span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nbz-selected-facet small {
  color: var(--ss-text-3);
  font-size: 11px;
  font-weight: 700;
}

.nbz-selected-facet button {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: #94a3b8;
  background: #f8fafc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.nbz-selected-facet button:hover {
  color: var(--ss-danger);
}

.nbz-selected-facet .nbz-icon {
  width: 15px;
  height: 15px;
}

body.nbz-seg-modal-open {
  overflow: hidden;
}

body.nbz-seg-modal-open .nbz-topbar,
body.nbz-seg-modal-open .nabz-wrap {
  filter: blur(3px);
}

.nbz-picker-modal {
  --ss-accent: #059669;
  --nbz-accent-hover: #047857;
  --nbz-accent-border: #bdebd2;
  --nbz-accent-ring: rgba(5, 150, 105, .13);
  --ss-text: #111827;
  --ss-text-2: #4b5563;
  --ss-text-3: #7b8494;
  --ss-border: #dcefe6;
  --ss-border-2: #c7e6d5;
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 18px;
  direction: rtl;
}

.nbz-picker-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .34);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.nbz-picker-modal__box {
  position: relative;
  width: min(560px, 100%);
  max-height: min(790px, calc(100svh - 36px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255, 255, 255, .98);
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .26);
  font-family: "Peyda", "IRANSans", "Tahoma", system-ui, sans-serif;
}

.nbz-picker-modal__head,
.nbz-picker-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
}

.nbz-picker-modal__head {
  border-bottom: 1px solid var(--ss-border);
}

.nbz-picker-modal__head h3 {
  margin: 0;
  color: var(--ss-text);
  font-size: 17px;
}

.nbz-picker-modal__head p {
  margin: 4px 0 0;
  color: var(--ss-text-3);
  font-size: 12px;
}

.nbz-picker-modal__close {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  padding: 0;
  color: var(--ss-text-2);
  background: #f8fafc;
  border: 1px solid var(--ss-border);
  border-radius: 14px;
  cursor: pointer;
}

.nbz-picker-modal__close .nbz-icon {
  width: 18px;
  height: 18px;
}

.nbz-picker-modal__search {
  position: relative;
  padding: 16px 20px 10px;
}

.nbz-picker-modal__search .nbz-icon {
  position: absolute;
  top: 29px;
  right: 34px;
  width: 18px;
  height: 18px;
  color: var(--ss-text-3);
}

.nbz-picker-modal__search input {
  width: 100%;
  min-height: 48px;
  padding: 12px 42px 12px 14px;
  color: var(--ss-text);
  background: #f8fafc;
  border: 1px solid var(--ss-border-2);
  border-radius: 16px;
  font-family: inherit;
  font-size: 14px;
  outline: none;
}

.nbz-picker-modal__search input:focus {
  border-color: var(--ss-accent);
  box-shadow: 0 0 0 4px var(--nbz-accent-ring);
}

.nbz-picker-modal__list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 6px 20px 8px;
}

.nbz-picker-result {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 9px;
  padding: 10px 12px;
  color: var(--ss-text);
  background: #fff;
  border: 1px solid var(--ss-border);
  border-radius: 16px;
  cursor: pointer;
  font-family: inherit;
  text-align: right;
}

.nbz-picker-result:hover,
.nbz-picker-result.is-selected {
  border-color: var(--nbz-accent-border);
  background: #f4fbf7;
}

.nbz-picker-result:focus-visible {
  border-color: var(--ss-accent);
  outline: none;
  box-shadow: 0 0 0 4px var(--nbz-accent-ring);
}

.nbz-picker-result__check {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  color: #fff;
  background: #fff;
  border: 1px solid var(--ss-border-2);
  border-radius: 10px;
}

.nbz-picker-result.is-selected .nbz-picker-result__check {
  background: var(--ss-accent);
  border-color: var(--ss-accent);
}

.nbz-picker-result__check .nbz-icon {
  width: 16px;
  height: 16px;
}

.nbz-facet-media {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  overflow: hidden;
  color: var(--ss-text-3);
  background: #f8fafc;
  border: 1px solid var(--ss-border);
  border-radius: 14px;
}

.nbz-facet-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nbz-facet-media .nbz-icon {
  width: 20px;
  height: 20px;
}

.nbz-facet-media--chip {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
  border-radius: 9px;
}

.nbz-facet-media--chip .nbz-icon {
  width: 14px;
  height: 14px;
}

.nbz-picker-result__body {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
}

.nbz-picker-result__body strong {
  overflow: hidden;
  color: var(--ss-text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.7;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nbz-picker-result__body small {
  color: var(--ss-text-3);
  font-size: 11px;
  font-weight: 700;
}

.nbz-facet-eye {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 12px;
}

.nbz-picker-modal__more {
  flex: 0 0 auto;
  padding: 0 20px 12px;
  text-align: center;
}

.nbz-picker-modal__more:empty {
  display: none;
}

.nbz-picker-show-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  color: var(--ss-accent);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.8;
}

.nbz-picker-show-all::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.nbz-picker-show-all:hover,
.nbz-picker-show-all:focus-visible {
  color: var(--nbz-accent-hover);
  outline: none;
  text-decoration: none;
}

.nbz-picker-modal__footer {
  border-top: 1px solid var(--ss-border);
}

.nbz-picker-modal__footer > span {
  color: var(--ss-text-2);
  font-size: 13px;
  font-weight: 800;
}

.nbz-picker-modal__footer > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nbz-picker-modal .button,
.nbz-picker-modal .button-primary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 14px;
  color: var(--ss-text);
  background: #fff;
  border: 1px solid var(--ss-border-2);
  border-radius: 14px;
  box-shadow: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.nbz-picker-modal .button:hover {
  color: var(--ss-accent);
  border-color: var(--nbz-accent-border);
  background: #f4fbf7;
}

.nbz-picker-modal .button-primary {
  color: #fff;
  background: var(--ss-accent);
  border-color: var(--ss-accent);
}

.nbz-picker-modal .button-primary:hover {
  color: #fff;
  background: var(--nbz-accent-hover);
  border-color: var(--nbz-accent-hover);
}

.nbz-segment-name-modal__box {
  width: min(480px, 100%);
}

.nbz-segment-name-modal__body {
  padding: 18px 20px 0;
}

.nbz-segment-name-modal__body label {
  display: block;
  margin-bottom: 8px;
  color: var(--ss-text-2);
  font-size: 13px;
  font-weight: 800;
}

.nbz-segment-name-modal__body input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  color: var(--ss-text);
  background: #fff;
  border: 1px solid var(--ss-border-2);
  border-radius: 16px;
  font-family: inherit;
  font-size: 14px;
  outline: none;
}

.nbz-segment-name-modal__body input:focus {
  border-color: var(--ss-accent);
  box-shadow: 0 0 0 4px var(--nbz-accent-ring);
}

.nbz-segment-name-modal__hint {
  margin: 8px 0 0;
  color: var(--ss-text-3);
  font-size: 12px;
  line-height: 1.8;
}

.nbz-segment-name-modal__error {
  margin: 10px 0 0;
  color: var(--ss-danger, #dc2626);
  font-size: 12px;
  font-weight: 800;
}

.nbz-segment-name-modal__body .nbz-picker-modal__footer {
  margin: 18px -20px 0;
}

.nbz-rfm-help-modal__box {
  width: min(560px, 100%);
}

.nbz-rfm-help-modal__body {
  padding: 18px 20px 2px;
  color: var(--ss-text-2);
  font-size: 13px;
  line-height: 1.9;
}

.nbz-rfm-help-modal__body p {
  margin: 0 0 12px;
}

.nbz-rfm-help-grid {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}

.nbz-rfm-help-grid div {
  padding: 12px 14px;
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 16px;
}

.nbz-rfm-help-grid strong {
  display: block;
  margin-bottom: 4px;
  color: var(--nbz-accent);
  font-size: 13px;
  font-weight: 900;
}

.nbz-rfm-help-grid span {
  display: block;
  color: var(--ss-text-2);
}

.nbz-seg-number-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nbz-seg-number-grid .ss-field {
  margin-bottom: 18px;
}

.nabz-wrap .nbz-seg-number-grid input[type=number] {
  max-width: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 86px;
  }

  .nbz-picker-modal {
    padding: 10px;
  }

  .nbz-picker-modal__box {
    max-height: calc(100svh - 20px);
    border-radius: 22px;
  }

  .nbz-picker-modal__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .nbz-picker-modal__footer > div {
    width: 100%;
  }

  .nbz-picker-modal__footer .button {
    flex: 1 1 0;
  }

  .nbz-seg-pickers {
    grid-template-columns: 1fr;
  }

  .nbz-topbar {
    padding: 8px 10px 0;
  }

  .nbz-topbar__inner {
    min-height: 58px;
    height: auto;
    padding: 10px 12px;
    border-radius: 18px;
  }

  .nbz-brand {
    font-size: 15px;
  }

  .nbz-topbar__actions {
    gap: 8px;
  }

  .nbz-user-chip {
    max-width: 160px;
    min-width: 0;
  }

  .nabz-wrap {
    margin-top: 12px !important;
    padding-inline: 10px !important;
  }

  .nabz-wrap .ss-header {
    padding: 20px;
    border-radius: 22px;
  }

  .nabz-wrap .ss-header__title {
    font-size: 19px;
  }

  .nabz-wrap .nbz-header-actions--dashboard {
    width: 100%;
    justify-content: stretch;
  }

  .nabz-wrap .nbz-header-actions--dashboard .button {
    flex: 1 1 0;
    justify-content: center;
    padding-inline: 12px !important;
  }

  .nabz-wrap .ss-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .nabz-wrap .ss-stat {
    min-height: 112px;
    align-items: center;
    flex-direction: row;
    padding: 15px;
  }

  .nabz-wrap .ss-stat__icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border-radius: 16px;
  }

  .nabz-wrap .ss-card__body {
    padding: 18px;
  }

  .nabz-wrap .nbz-tabs-card {
    position: fixed;
    inset-inline: 10px;
    top: auto;
    bottom: 10px;
    z-index: 70;
    margin: 0;
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(17, 24, 39, .14);
  }

  .nabz-wrap .nbz-tabs-card .ss-card__body {
    padding: 8px !important;
  }

  .nabz-wrap .ss-tab {
    min-width: 86px;
    min-height: 58px;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    padding: 8px 10px;
    font-size: 11px;
  }

  .nabz-wrap .ss-tab .nbz-icon {
    width: 19px;
    height: 19px;
  }

  .nbz-center {
    padding: 28px 10px;
  }

  .nbz-signin {
    padding: 28px 20px;
    border-radius: 24px;
  }
}

@media (max-width: 430px) {
  .nbz-brand__sub,
  .nbz-brand__sep {
    display: none;
  }

  .nbz-signin__steps {
    grid-template-columns: 1fr;
  }

  .nbz-seg-match {
    grid-template-columns: 1fr;
  }

  .nbz-seg-number-grid {
    grid-template-columns: 1fr;
  }

}

/* ---------- free-plan limits and premium campaign gate ---------- */
.nbz-free-sync-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #d9e4df;
  border-radius: 9px;
  background: #f6f9f7;
  color: #52635b;
  font-size: 12px;
  font-weight: 700;
}

.nbz-premium-feature {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid var(--nbz-border, #dfe7e3);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(21, 50, 37, 0.12);
  isolation: isolate;
}

.nbz-premium-feature__preview {
  position: absolute;
  inset: 0;
  max-height: 720px;
  overflow: hidden;
  padding: 22px;
  filter: blur(3px);
  opacity: 0.28;
  pointer-events: none;
  user-select: none;
}

.nbz-premium-feature__lock {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(900px, calc(100% - 32px));
  margin: 32px auto;
  align-items: center;
  flex-direction: column;
  padding: 32px;
  border: 1px solid #dce8e2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(17, 46, 33, 0.18);
  text-align: center;
}

.nbz-premium-feature__icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 16px;
  background: #eaf8f2;
  color: #07865f;
}

.nbz-premium-feature__icon .nbz-icon { width: 28px; height: 28px; }
.nbz-premium-feature__lock h2 { margin: 14px 0 8px; font-size: 22px; }
.nbz-premium-feature__lock p { max-width: 340px; margin: 0 0 16px; color: #617069; line-height: 1.9; }
.nbz-premium-feature__price { display: flex; align-items: baseline; gap: 7px; margin-bottom: 18px; }
.nbz-premium-feature__price strong { color: #087657; font-size: 25px; }
.nbz-premium-feature__price span { color: #68766f; font-size: 12px; }
.nbz-premium-feature__price del { color: #9aa79f; font-size: 13px; text-decoration-thickness: 1px; }
.nbz-premium-feature__lock .button { min-width: 210px; justify-content: center; }
.nbz-premium-feature__lock small { margin-top: 14px; color: #7a8781; line-height: 1.8; }

.nbz-license-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: 100%; margin-top: 6px; }
.nbz-license-plan { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 22px 16px; text-align: right; border: 1px solid #dce8e2; border-radius: 14px; background: #fff; }
.nbz-license-plan--featured { border: 2px solid #087657; background: #f2faf6; }
.nbz-license-plan__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; min-height: 32px; }
.nbz-license-plan__heading h3 { margin: 0; font-size: 17px; }
.nbz-license-plan__original { min-height: 20px; color: #68766f; font-size: 12px; }
.nbz-license-plan__price { display: flex; align-items: baseline; gap: 6px; }
.nbz-license-plan__price strong { color: #087657; font-size: clamp(20px, 2.4vw, 26px); }
.nbz-license-plan__price span { font-size: 12px; color: #68766f; }
.nbz-license-plan__discount { font-size: 12px; color: #087657; }
.nbz-license-plan__gift { min-height: 38px; font-size: 12px; line-height: 1.8; color: #617069; }
.nbz-license-plan .button { width: 100%; min-width: 0; margin-top: auto; }
.nbz-premium-feature__lock .nbz-license-plans__note { max-width: none; margin: 18px 0 0; font-size: 12px; }

@media (max-width: 680px) {
  .nbz-license-plans { grid-template-columns: 1fr; }
  .nbz-premium-feature__lock { margin: 16px auto; }
  .nbz-license-plan__price strong { font-size: 26px; }
}

@media (max-width: 640px) {
  .nbz-premium-feature { min-height: 570px; }
  .nbz-premium-feature__lock { padding: 24px 18px; }
}

@media (max-width: 360px) {
  .nabz-wrap .ss-stats {
    grid-template-columns: 1fr;
  }
}

/* ---------- saved segments: readable rules + edit state ---------- */

.nbz-col-rules {
  min-width: 240px;
}

/* The rules column is greedy; without this the two row buttons stack on top of
   each other in the sliver of width it leaves behind. */
.nabz-wrap tr .nbz-row-actions {
  flex-wrap: nowrap;
  white-space: nowrap;
}

.nbz-rulechips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* Key in muted ink, value in body ink: the pair reads as "دسته‌بندی‌ها: عینک
   ایمنی" without spending a colon or a second line on it. */
.nbz-rulechip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 10px;
  background: var(--ss-surface-2, #f6fbf8);
  border: 1px solid var(--ss-border);
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.6;
}

.nbz-rulechip__key {
  color: var(--ss-text-3);
}

.nbz-rulechip__val {
  overflow: hidden;
  color: var(--ss-text);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The row whose rule is loaded in the builder above. */
.nabz-wrap tr.nbz-row-editing > td {
  background: var(--nbz-accent-soft, #e9fbf2);
}

.nabz-wrap tr.nbz-row-editing > td:first-child {
  box-shadow: inset -3px 0 0 var(--ss-accent);
}

/* ---------- customer report (خلاصه گزارش) ----------
   A wide sibling of the picker modal. It reuses .ss-card / .ss-stat / .ss-table
   through the `nabz-wrap` class on its body, so the report looks like the page
   it was opened from; only the pieces the panel did not have yet — the hero
   figure, the charts, the ranked lists — are defined here.

   Charts are single-series small multiples, so every mark wears one hue: the
   panel accent. Nothing in here encodes meaning by colour alone. */

.nbz-report-modal__box {
  width: min(1120px, 100%);
  max-height: min(940px, calc(100svh - 36px));
}

.nbz-report-modal__body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 20px 24px;
  background: var(--nbz-bg);
}

/* The body carries `nabz-wrap` for its component styles; the wrapper's page
   geometry — and the blur the open modal puts on the page behind it — must not
   come along for the ride. */
body.nbz-seg-modal-open .nbz-report-modal .nabz-wrap {
  filter: none;
}

.nbz-report-modal .nbz-report-modal__body.nabz-wrap {
  margin: 0;
  max-width: none;
}

.nbz-report-modal__body > .ss-card,
.nbz-report-modal__body > .nbz-collapse,
.nbz-report-modal__body > .ss-grid-2 {
  margin-bottom: 14px;
}

/* ── hero figure + averages ── */
.nbz-hero {
  display: grid;
  grid-template-columns: minmax(290px, 1.05fr) 1.75fr;
  gap: 14px;
  align-items: stretch;
  margin-bottom: 14px;
}

.nbz-hero__main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 18px 20px;
  background: linear-gradient(140deg, #eafaf2 0%, #ffffff 78%);
  border: 1px solid var(--nbz-accent-border);
  border-radius: var(--ss-radius-lg, 16px);
}

.nbz-hero__label {
  color: var(--ss-text-2);
  font-size: 12px;
}

/* Proportional figures on purpose: tabular-nums pads every digit to the width
   of a zero, which reads as loose spacing at display size. */
.nbz-hero__value {
  color: var(--ss-text);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.nbz-hero__sub {
  color: var(--ss-text-3);
  font-size: 12px;
}

.nbz-hero__side {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.nbz-hero__cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px;
  background: var(--ss-surface, #fff);
  border: 1px solid var(--ss-border);
  border-radius: var(--ss-radius-lg, 16px);
}

.nbz-hero__cell span {
  color: var(--ss-text-3);
  font-size: 12px;
}

.nbz-hero__cell strong {
  color: var(--ss-text);
  font-size: 17px;
  font-weight: 700;
}

/* Six tiles: a fixed three-up beats auto-fit, which leaves an orphan on the
   second row at this width. */
.nbz-report-modal .nbz-report-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}

.nbz-report-modal .nbz-report-stats .ss-stat__value {
  display: block;
}

.nbz-stat-sub {
  display: block;
  margin-top: 2px;
  color: var(--ss-text-3);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

/* ── the one filter row, above everything it scopes ── */
.nbz-report-filters {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 2px 12px;
}

.nbz-report-filters__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ss-text-2);
  font-size: 12px;
}

.nbz-report-filters__label .nbz-icon {
  width: 15px;
  height: 15px;
}

.nbz-report-filters__busy {
  color: var(--ss-text-3);
  font-size: 12px;
}

.nbz-range {
  display: inline-flex;
  padding: 3px;
  background: var(--ss-surface, #fff);
  border: 1px solid var(--ss-border);
  border-radius: 999px;
}

.nbz-range__btn {
  padding: 6px 14px;
  color: var(--ss-text-2);
  font-size: 12px;
  font-family: inherit;
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

.nbz-range__btn:hover {
  color: var(--ss-text);
  background: var(--nbz-accent-soft, #e9fbf2);
}

.nbz-range__btn.is-active {
  color: #fff;
  background: var(--ss-accent);
}

/* Refetch keeps the frame: the previous render stays put at reduced opacity
   instead of collapsing into a skeleton. */
.nbz-report-charts.is-loading {
  opacity: .5;
  transition: opacity 160ms ease;
}

/* ── line charts ── */
.nbz-chart {
  position: relative;
}

.nbz-chart__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.nbz-chart__grid {
  stroke: var(--ss-border);
  stroke-width: 1;
}

.nbz-chart__area {
  fill: #059669;
  fill-opacity: .1;
}

.nbz-chart__line {
  fill: none;
  stroke: #059669;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

/* The 2px surface ring keeps a marker legible where it sits on the line. */
.nbz-chart__dot {
  fill: #059669;
  stroke: #fff;
  stroke-width: 2;
}

.nbz-chart__dot--peak {
  fill-opacity: .55;
}

.nbz-chart__tick,
.nbz-chart__xlabel {
  fill: var(--ss-text-3);
  font-size: 11px;
}

.nbz-chart__endlabel {
  fill: var(--ss-text);
  font-size: 12px;
  font-weight: 700;
}

.nbz-chart__cross {
  stroke: var(--ss-border-2);
  stroke-width: 1;
}

.nbz-chart__hover {
  fill: #059669;
  stroke: #fff;
  stroke-width: 2;
}

.nbz-chart__hit {
  fill: transparent;
  cursor: crosshair;
}

/* The UA stylesheet's `[hidden]` rule does not reach SVG elements, so the
   resting crosshair would otherwise sit visible at x=0. */
.nbz-chart__cross[hidden],
.nbz-chart__hover[hidden] {
  display: none;
}

.nbz-chart-tip {
  position: absolute;
  transform: translate(-50%, calc(-100% - 14px));
  min-width: 96px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid var(--ss-border);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .14);
  pointer-events: none;
  text-align: center;
}

.nbz-chart-tip[hidden] {
  display: none;
}

.nbz-chart-tip strong {
  display: block;
  color: var(--ss-text);
  font-size: 14px;
  font-weight: 700;
}

.nbz-chart-tip span {
  display: block;
  margin-top: 2px;
  color: var(--ss-text-3);
  font-size: 11px;
}

/* A short stroke of the series colour, not a filled box: at tooltip density a
   swatch is data-weight ink doing a label's job. */
.nbz-chart-tip__key {
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto 6px;
  background: #059669;
  border-radius: 2px;
}

/* ── ranked horizontal bars (cities, RFM mix) ── */
.nbz-rbars {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.nbz-rbar {
  display: grid;
  grid-template-columns: 108px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 2px 0;
  border-radius: 10px;
}

.nbz-rbar:hover,
.nbz-rbar:focus-visible {
  background: var(--nbz-accent-soft, #e9fbf2);
  outline: none;
}

.nbz-rbar__name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  color: var(--ss-text);
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nbz-rbar__name .nbz-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  color: var(--ss-text-3);
}

.nbz-rbar__track {
  height: 20px;
  background: var(--ss-surface-2, #f6fbf8);
  border-radius: 6px;
}

/* Square where it leaves the baseline (inline-start, i.e. the right edge in
   RTL), rounded at the data end. */
.nbz-rbar__fill {
  display: block;
  height: 100%;
  background: #059669;
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-start-end-radius: 4px;
  border-end-end-radius: 4px;
}

.nbz-rbar__val {
  min-width: 120px;
  text-align: start;
}

.nbz-rbar__val strong {
  display: block;
  color: var(--ss-text);
  font-size: 13px;
  font-weight: 700;
}

.nbz-rbar__val span {
  display: block;
  color: var(--ss-text-3);
  font-size: 11px;
}

/* ── top-three lists ── */
.nbz-toplist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nbz-toplist__row {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: var(--ss-surface-2, #f6fbf8);
  border: 1px solid var(--ss-border);
  border-radius: 14px;
}

.nbz-toplist__rank {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--ss-accent);
  font-size: 13px;
  font-weight: 700;
  background: var(--nbz-accent-soft, #e9fbf2);
  border: 1px solid var(--nbz-accent-border, #bdebd2);
  border-radius: 50%;
}

.nbz-toplist__who {
  overflow: hidden;
}

.nbz-toplist__who strong {
  display: block;
  overflow: hidden;
  color: var(--ss-text);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nbz-toplist__who span,
.nbz-toplist__metric span {
  display: block;
  color: var(--ss-text-3);
  font-size: 11px;
}

.nbz-toplist__metric {
  text-align: start;
}

.nbz-toplist__metric strong {
  display: block;
  color: var(--ss-text);
  font-size: 13px;
  font-weight: 700;
}

.nbz-report-modal .nbz-row-muted td {
  color: var(--ss-text-3);
}

@media (max-width: 900px) {
  .nbz-hero {
    grid-template-columns: 1fr;
  }

  .nbz-hero__side {
    grid-template-columns: 1fr;
  }

  .nbz-rbar {
    grid-template-columns: 92px 1fr;
    row-gap: 4px;
  }

  .nbz-rbar__val {
    grid-column: 2;
    min-width: 0;
  }

  .nbz-report-filters {
    flex-wrap: wrap;
  }

  .nbz-report-modal .nbz-report-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .nbz-report-modal .nbz-report-stats {
    grid-template-columns: 1fr;
  }
}

/* Merchants print this one and take it into a meeting: drop the page behind
   the modal and let the report flow over as many sheets as it needs. */
@media print {
  body.nbz-seg-modal-open > *:not(.nbz-report-modal) {
    display: none !important;
  }

  .nbz-report-modal {
    position: static;
    display: block;
    padding: 0;
  }

  .nbz-report-modal__backdrop,
  .nbz-report-modal .nbz-picker-modal__close,
  .nbz-report-modal .nbz-picker-modal__footer,
  .nbz-report-modal .nbz-report-filters {
    display: none !important;
  }

  .nbz-report-modal__box {
    width: 100%;
    max-height: none;
    border: 0;
    box-shadow: none;
  }

  .nbz-report-modal__body {
    overflow: visible;
    max-height: none;
    padding: 0;
    background: #fff;
  }

  .nbz-report-modal .ss-card,
  .nbz-report-modal .nbz-collapse {
    break-inside: avoid;
  }

  .nbz-report-modal .nbz-collapse__body {
    display: block !important;
  }
}

/* ---------- links ----------
   wp-admin underlines every anchor and the plugin stylesheet inherits that;
   outside WordPress there is nothing to inherit from, and an underline on the
   export buttons (which are anchors so the browser handles the download) reads
   as a broken button. Underlines are off everywhere, including on hover. */
a,
a:hover,
a:focus,
a:active,
a:visited,
.nabz-wrap a,
.nabz-wrap a:hover,
.nabz-wrap a:focus {
  text-decoration: none;
}

/* ---------- durable operations ---------- */
.nbz-operations {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
}

.nbz-operation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-inline-start: 4px solid #3b82f6;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .04);
}

.nbz-operation--success { border-inline-start-color: #059669; }
.nbz-operation--danger { border-inline-start-color: #dc2626; }
.nbz-operation--warning { border-inline-start-color: #d97706; }

.nbz-operation__main {
  flex: 1 1 auto;
  min-width: 0;
}

.nbz-operation__title,
.nbz-operation__actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.nbz-operation__title {
  flex-wrap: wrap;
}

.nbz-operation p {
  margin: 3px 0 5px;
  color: var(--nbz-text-2);
  font-size: 12px;
}

.nbz-operation small {
  color: var(--nbz-text-3);
  font-size: 11px;
}

.nbz-progress__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: min(440px, 100%);
  margin-top: 7px;
}

.nbz-progress__percent {
  color: var(--nbz-accent);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.nbz-progress {
  width: min(440px, 100%);
  height: 9px;
  overflow: hidden;
  margin-top: 5px;
  background: #e5e7eb;
  border-radius: 999px;
}

.nbz-progress span {
  display: block;
  min-width: 0;
  height: 100%;
  background: var(--nbz-accent);
  border-radius: inherit;
  animation: nbz-progress-advance 600ms cubic-bezier(.4, 0, .2, 1);
}

@keyframes nbz-progress-advance {
  from { width: var(--nbz-progress-from); }
  to { width: var(--nbz-progress-to); }
}

.nbz-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  animation: nbz-spin .7s linear infinite;
}

@keyframes nbz-spin { to { transform: rotate(1turn); } }

/* ---------- persistent notification stack ---------- */
.nbz-toast-region {
  position: fixed;
  z-index: 100000;
  inset-block-start: calc(76px + env(safe-area-inset-top));
  right: 18px;
  display: grid;
  gap: 10px;
  width: min(390px, calc(100vw - 36px));
  max-height: calc(100vh - 94px);
  max-height: calc(100dvh - 94px - env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  pointer-events: none;
}

.nbz-app-toast {
  --nbz-toast-color: #2563eb;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: start;
  gap: 11px;
  padding: 14px;
  color: var(--nbz-text);
  background: rgba(255, 255, 255, .98);
  border: 1px solid #e5e7eb;
  border: 1px solid color-mix(in srgb, var(--nbz-toast-color) 25%, #e5e7eb);
  border-radius: 15px;
  box-shadow: 0 16px 45px rgba(15, 23, 42, .16);
  pointer-events: auto;
}

.nbz-app-toast--success { --nbz-toast-color: #059669; }
.nbz-app-toast--error { --nbz-toast-color: #dc2626; }
.nbz-app-toast--warning { --nbz-toast-color: #d97706; }

.nbz-app-toast__mark {
  width: 9px;
  height: 9px;
  margin-top: 6px;
  background: var(--nbz-toast-color);
  border-radius: 999px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--nbz-toast-color) 14%, transparent);
}

.nbz-app-toast__body {
  min-width: 0;
}

.nbz-app-toast__body strong,
.nbz-app-toast__body p {
  display: block;
  margin: 0;
}

.nbz-app-toast__body strong {
  color: var(--nbz-toast-color);
  font-size: 12px;
}

.nbz-app-toast__body p {
  margin-top: 3px;
  color: var(--nbz-text-2);
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.nbz-app-toast__close,
.nbz-app-toast__action {
  border: 0;
  font: inherit;
  cursor: pointer;
}

.nbz-app-toast__close {
  width: 28px;
  height: 28px;
  margin: -6px -3px 0 0;
  padding: 0;
  color: var(--nbz-text-3);
  background: transparent;
  border-radius: 9px;
  font-size: 20px;
  line-height: 1;
}

.nbz-app-toast__close:hover,
.nbz-app-toast__close:focus-visible {
  color: var(--nbz-text);
  background: #f1f5f9;
  outline: none;
}

.nbz-app-toast__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 9px;
  padding: 6px 10px;
  color: #fff;
  background: var(--nbz-toast-color);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.nbz-app-toast__action:hover,
.nbz-app-toast__action:focus,
.nbz-app-toast__action:visited {
  color: #fff;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .nbz-progress span { animation: none; }
  .nbz-guide-button { transition: none; transform: none; }
}

/* ---------- sign-in + pagination ---------- */
.nbz-connect {
  width: 100%;
  justify-content: center;
}

.nbz-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  color: var(--nbz-text-3);
  font-size: 12px;
}

.nbz-pagination > div {
  display: flex;
  gap: 8px;
}

.nbz-empty strong,
.nbz-empty span {
  display: block;
}

.nbz-empty strong {
  margin-bottom: 5px;
  color: var(--nbz-text-2);
}

/* ---------- one-screen campaign flow ---------- */
.nbz-campaign-mode {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.nbz-campaign-mode button {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 62px;
  padding: 12px 15px;
  color: var(--nbz-text-2);
  text-align: start;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 16px;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
  font: inherit;
  cursor: pointer;
}

.nbz-campaign-mode button:hover {
  border-color: var(--nbz-accent-border);
}

.nbz-campaign-mode button.is-active {
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border-color: var(--nbz-accent);
  box-shadow: 0 5px 18px rgba(5, 150, 105, .10);
}

.nbz-campaign-mode .nbz-icon {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
}

.nbz-campaign-mode button > span,
.nbz-campaign-mode strong,
.nbz-campaign-mode small {
  display: block;
  min-width: 0;
}

.nbz-campaign-mode strong { font-size: 14px; }
.nbz-campaign-mode small { margin-top: 3px; color: var(--nbz-text-3); font-size: 11px; }

.nbz-inline-segment {
  margin-top: 14px;
  padding: 13px;
  background: #f8fafc;
  border: 1px solid var(--nbz-border);
  border-radius: 16px;
}

.nbz-inline-segment__body {
  margin-top: 14px;
  padding-top: 16px;
  border-top: 1px solid var(--nbz-border);
}

.nbz-inline-segment__body h4 {
  margin: 0 0 14px;
  color: var(--nbz-text);
  font-size: 14px;
}

.nbz-inline-segment__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}

.nbz-selected-segment {
  margin-top: 10px;
  padding: 12px;
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 14px;
}

.nbz-selected-segment > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.nbz-selected-segment > div:first-child span {
  color: var(--nbz-text-3);
  font-size: 11px;
}

.nbz-selected-segment .nbz-rulechips { margin-top: 0; }
.nbz-segment-required { margin: 9px 2px 0; }

.nbz-flow-step {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 0;
  border-bottom: 1px solid var(--nbz-border);
}

.nbz-flow-step:first-child { padding-top: 0; }
.nbz-flow-step:last-child { padding-bottom: 0; border-bottom: 0; }

.nbz-flow-step__number {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--nbz-accent);
  border-radius: 12px;
  font-weight: 800;
}

.nbz-flow-step__content {
  min-width: 0;
}

.nbz-flow-step h3 {
  margin: 3px 0 2px;
  color: var(--nbz-text);
  font-size: 15px;
}

.nbz-flow-step h3 + p {
  margin: 0 0 14px;
  color: var(--nbz-text-3);
  font-size: 12px;
}

.nbz-send-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 420px;
  margin: 12px 0 18px;
}

.nbz-send-choice button {
  min-height: 44px;
  color: var(--nbz-text-2);
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 13px;
  font: inherit;
  cursor: pointer;
}

.nbz-send-choice button.is-active {
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border-color: var(--nbz-accent);
  font-weight: 700;
}

.nbz-campaign-preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
  padding: 14px;
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 16px;
}

.nbz-campaign-preview > div {
  padding: 9px;
  background: rgba(255, 255, 255, .72);
  border-radius: 11px;
}

.nbz-campaign-preview span,
.nbz-campaign-preview strong {
  display: block;
}

.nbz-campaign-preview span { color: var(--nbz-text-3); font-size: 11px; }
.nbz-campaign-preview strong { margin-top: 3px; font-size: 14px; }
.nbz-campaign-preview p { grid-column: 1 / -1; margin: 4px 2px 0; font-size: 12px; }
.nbz-cost-ok { color: #047857; }
.nbz-cost-warning { color: #b45309; }

.nbz-campaign-preview--empty {
  display: block;
  color: var(--nbz-text-3);
  background: #f8fafc;
  border-color: var(--nbz-border);
  font-size: 12px;
}

.nbz-audience-preview-result {
  scroll-margin-top: 88px;
  outline: none;
}

.nbz-campaign-preview--audience {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nbz-target-audience {
  margin-top: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 16px;
}

.nbz-target-audience__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.nbz-target-audience__head h4 {
  margin: 0;
  color: var(--nbz-text);
  font-size: 14px;
}

.nbz-target-audience__head span {
  color: var(--nbz-text-3);
  font-size: 11px;
}

.nbz-target-audience .nbz-scroll {
  max-height: 380px;
  border: 1px solid #edf2f7;
  border-radius: 12px;
  overflow: auto;
}

/* ---------- category-first campaign intelligence ---------- */
.nbz-smart-analysis {
  position: relative;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  min-height: 330px;
  padding: 38px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(16, 185, 129, .14), transparent 34%),
    linear-gradient(145deg, #fff 0%, #f5fffb 100%) !important;
  border-color: #bdebd9 !important;
}

.nbz-smart-analysis.is-reranking {
  min-height: 240px;
  padding-block: 28px !important;
}

.nbz-smart-analysis::after {
  position: absolute;
  width: 260px;
  height: 260px;
  inset-inline-end: -120px;
  inset-block-end: -150px;
  background: rgba(16, 185, 129, .07);
  border-radius: 50%;
  content: "";
}

.nbz-smart-analysis__orb {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  background: linear-gradient(145deg, #059669, #34d399);
  border-radius: 34px;
  box-shadow: 0 22px 45px rgba(5, 150, 105, .23);
  transform: rotate(8deg);
}

.nbz-smart-analysis__orb::before {
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 0 0 9px rgba(255, 255, 255, .2);
  content: "";
  animation: nbz-analysis-pulse 1.65s ease-in-out infinite;
}

.nbz-smart-analysis__orb span {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  opacity: .8;
}

.nbz-smart-analysis__orb span:nth-child(1) { top: 18px; left: 24px; }
.nbz-smart-analysis__orb span:nth-child(2) { right: 18px; bottom: 28px; animation-delay: .25s; }
.nbz-smart-analysis__orb span:nth-child(3) { right: 25px; top: 20px; animation-delay: .5s; }

@keyframes nbz-analysis-pulse {
  0%, 100% { transform: scale(.88); opacity: .8; }
  50% { transform: scale(1.08); opacity: 1; }
}

.nbz-smart-analysis h2 {
  margin: 13px 0 6px;
  color: var(--nbz-text);
  font-size: clamp(20px, 2.4vw, 28px);
}

.nbz-smart-analysis p { margin: 0; color: var(--nbz-text-3); }

.nbz-analysis-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  counter-reset: analysis;
  list-style: none;
}

.nbz-analysis-steps li {
  position: relative;
  min-height: 76px;
  padding: 13px 42px 13px 12px;
  color: var(--nbz-text-2);
  background: rgba(255, 255, 255, .82);
  border: 1px solid #d9f2e8;
  border-radius: 14px;
  font-size: 11.5px;
  line-height: 1.7;
  counter-increment: analysis;
}

.nbz-analysis-steps li::before {
  position: absolute;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  top: 13px;
  right: 11px;
  color: #047857;
  background: #d1fae5;
  border-radius: 8px;
  content: counter(analysis, persian);
  font-weight: 800;
}

.nbz-business-profile { padding: 0 !important; overflow: hidden; }

.nbz-business-profile__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding: 27px 28px 22px;
  background: linear-gradient(135deg, #f0fdf8, #fff);
  border-bottom: 1px solid #dcf4e9;
}

.nbz-business-profile__head h2 { margin: 10px 0 5px; color: var(--nbz-text); font-size: 22px; }
.nbz-business-profile__head p { max-width: 710px; margin: 0; color: var(--nbz-text-3); font-size: 12.5px; line-height: 1.8; }

.nbz-profile-suggestion {
  flex: 0 0 190px;
  padding: 13px 15px;
  color: #065f46;
  background: #fff;
  border: 1px solid #a7e7d1;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(5, 150, 105, .08);
}

.nbz-profile-suggestion span,
.nbz-profile-suggestion strong,
.nbz-profile-suggestion small { display: block; }
.nbz-profile-suggestion span, .nbz-profile-suggestion small { font-size: 10px; }
.nbz-profile-suggestion strong { margin: 4px 0; font-size: 14px; }

.nbz-category-mix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 16px 28px 0;
}

.nbz-category-mix > span { grid-column: 1 / -1; color: var(--nbz-text-3); font-size: 10px; font-weight: 700; }
.nbz-category-mix > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 8px; align-items: center; padding: 9px 10px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 11px; }
.nbz-category-mix b { overflow: hidden; color: var(--nbz-text-2); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.nbz-category-mix small { color: #047857; font-size: 9px; }
.nbz-category-mix i { grid-column: 1 / -1; display: block; height: 4px; overflow: hidden; background: #e2e8f0; border-radius: 99px; }
.nbz-category-mix i::after { display: block; width: min(100%, var(--mix)); height: 100%; background: linear-gradient(90deg, #34d399, #059669); border-radius: inherit; content: ""; }

.nbz-category-search { position: relative; display: block; margin: 18px 28px 0; }
.nbz-category-search .nbz-icon { position: absolute; top: 50%; right: 13px; width: 17px; height: 17px; color: var(--nbz-text-3); transform: translateY(-50%); pointer-events: none; }
.nbz-category-search input { width: 100%; min-height: 43px; padding-right: 40px !important; background: #fbfdfc !important; }

.nbz-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 24px 28px;
}

.nbz-category-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 67px;
  padding: 10px 12px;
  color: var(--nbz-text-2);
  text-align: start;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 15px;
  cursor: pointer;
  font: inherit;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.nbz-category-choice:hover { border-color: #83d9bc; transform: translateY(-1px); }
.nbz-category-choice.is-active { color: #047857; background: #ecfdf5; border-color: #10b981; box-shadow: 0 7px 18px rgba(5, 150, 105, .1); }
.nbz-category-choice__emoji { display: grid; place-items: center; flex: 0 0 39px; height: 39px; background: #f7faf9; border-radius: 12px; font-size: 20px; }
.nbz-category-choice strong, .nbz-category-choice small { display: block; }
.nbz-category-choice strong { font-size: 12px; line-height: 1.55; }
.nbz-category-choice small { margin-top: 2px; color: #059669; font-size: 9px; }

.nbz-subcategory-panel { margin: 0 28px 24px; padding: 17px; background: #f8fafc; border: 1px solid var(--nbz-border); border-radius: 16px; }
.nbz-subcategory-panel > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.nbz-subcategory-panel > div:first-child span { color: var(--nbz-text-3); font-size: 11px; }
.nbz-subcategory-list { display: flex; flex-wrap: wrap; gap: 7px; }
.nbz-subcategory-list button { display: inline-flex; align-items: center; gap: 5px; min-height: 37px; padding: 7px 11px; color: var(--nbz-text-2); background: #fff; border: 1px solid var(--nbz-border); border-radius: 11px; cursor: pointer; font: inherit; font-size: 11px; }
.nbz-subcategory-list button.is-active { color: #047857; background: #ecfdf5; border-color: #34d399; font-weight: 700; }
.nbz-subcategory-list .nbz-icon { width: 15px; height: 15px; }

.nbz-business-profile__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 28px; background: #fbfdfc; border-top: 1px solid var(--nbz-border); }
.nbz-business-profile__footer > span { color: var(--nbz-text-3); font-size: 10.5px; }
.nbz-business-profile__footer a { color: var(--nbz-accent); }

/* The profile question also belongs in the smart-plan recovery dialog. */
.nbz-business-profile-modal {
  position: fixed;
  inset: 0;
  width: min(480px, calc(100% - 28px));
  max-height: calc(100svh - 28px);
  margin: auto;
  padding: 28px;
  overflow-y: auto;
  color: var(--nbz-text);
  background: var(--nbz-surface);
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 24px;
  direction: rtl;
}
.nbz-business-profile-modal:not([open]) { display: none; }
.nbz-business-profile-modal::backdrop { background: rgba(15, 23, 42, .34); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.nbz-business-profile-modal form { margin: 0; }
.nbz-profile-modal__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 19px; }
.nbz-profile-modal__mark { display: grid; place-items: center; width: 48px; height: 48px; color: var(--nbz-accent); background: var(--nbz-accent-soft); border-radius: 14px; }
.nbz-profile-modal__mark .nbz-icon { width: 24px; height: 24px; }
.nbz-profile-modal__top .nbz-picker-modal__close { width: 44px; height: 44px; flex-basis: 44px; }
.nbz-business-profile-modal h2 { margin: 0 0 9px; font-size: 21px; line-height: 1.65; }
#nbz-profile-modal-description { margin: 0 0 24px; color: var(--nbz-text-2); font-size: 14px; line-height: 1.95; }
.nbz-profile-modal__label, .nbz-profile-modal__subgroups legend { display: block; margin-bottom: 8px; padding: 0; font-size: 14px; font-weight: 500; }
.nbz-business-profile-modal select { width: 100%; min-height: 50px; padding: 10px 14px; color: var(--nbz-text); background: #f8fafc; border: 1px solid #c7e6d5; border-radius: 16px; font: inherit; font-size: 16px; }
.nbz-business-profile-modal select:invalid { color: var(--nbz-text-2); }
.nbz-profile-modal__hint { margin: 8px 0 0; color: var(--nbz-text-2); font-size: 12px; line-height: 1.9; }
.nbz-profile-modal__subgroups { min-width: 0; margin: 24px 0 0; padding: 0; border: 0; }
.nbz-profile-modal__subgroups .nbz-profile-modal__hint { margin: 0 0 12px; }
.nbz-profile-modal__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.nbz-profile-modal__choices label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 9px 12px; color: var(--nbz-text-2); background: var(--nbz-surface); border: 1px solid #c7e6d5; border-radius: 12px; cursor: pointer; font-size: 13px; line-height: 1.7; }
.nbz-profile-modal__choices label:has(input:checked) { color: var(--nbz-accent-hover); background: var(--nbz-accent-soft); border-color: var(--nbz-accent); }
.nbz-profile-modal__choices input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; accent-color: var(--nbz-accent); }
.nbz-profile-modal__error { margin: 16px 0 0; color: #dc2626; font-size: 13px; line-height: 1.8; }
.nbz-profile-modal__actions { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.nbz-profile-modal__actions .button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 18px; color: var(--nbz-text); background: var(--nbz-surface); border: 1px solid #c7e6d5; border-radius: 14px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.nbz-profile-modal__actions .button-primary { flex: 1; color: #fff; background: var(--nbz-accent); border-color: var(--nbz-accent); }
.nbz-profile-modal__actions .button-primary:hover { color: #fff; background: var(--nbz-accent-hover); border-color: var(--nbz-accent-hover); }
.nbz-profile-modal__actions .button .nbz-icon { width: 18px; height: 18px; }
.nbz-profile-modal__actions .button:disabled { opacity: .42; cursor: not-allowed; }
.nbz-business-profile-modal :is(button, select, input):focus-visible { outline: 2px solid var(--nbz-accent); outline-offset: 3px; }
@media (max-width: 480px) {
  .nbz-business-profile-modal { padding: 22px 18px; border-radius: 18px; }
  .nbz-business-profile-modal h2 { font-size: 19px; }
  .nbz-profile-modal__actions { gap: 6px; }
  .nbz-profile-modal__actions .button { padding-inline: 12px; }
}

.nbz-goal-chooser {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.7fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 14px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .035);
}

.nbz-goal-chooser h2 { margin: 7px 0 3px; color: var(--nbz-text); font-size: 16px; }
.nbz-goal-chooser p { margin: 0; color: var(--nbz-text-3); font-size: 10.5px; }
.nbz-goal-chooser > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.nbz-goal-chooser button { min-height: 34px; padding: 6px 11px; color: var(--nbz-text-2); background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 10px; }
.nbz-goal-chooser button:hover { border-color: #6ee7b7; }
.nbz-goal-chooser button.is-active { color: #fff; background: #047857; border-color: #047857; font-weight: 700; }
.nbz-goal-chooser.is-loading button { cursor: wait; }
.nbz-goal-chooser button:disabled { opacity: .7; }

.nbz-opportunity-settings,
.nbz-more-opportunities { margin-bottom: 14px !important; padding: 0 !important; overflow: hidden; }
.nbz-opportunity-settings > summary,
.nbz-more-opportunities > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; }
.nbz-opportunity-settings > summary::-webkit-details-marker,
.nbz-more-opportunities > summary::-webkit-details-marker { display: none; }
.nbz-opportunity-settings > summary > span:first-child,
.nbz-more-opportunities > summary > span:first-child { display: flex; align-items: center; gap: 8px; }
.nbz-opportunity-settings > summary .nbz-icon { width: 18px; height: 18px; color: #047857; }
.nbz-opportunity-settings[open] .nbz-collapse__chevron,
.nbz-more-opportunities[open] .nbz-collapse__chevron { transform: rotate(45deg); }
.nbz-opportunity-settings > div { padding: 17px 18px 18px; border-top: 1px solid var(--nbz-border); }
.nbz-more-opportunities > summary strong,
.nbz-more-opportunities > summary small { display: block; }
.nbz-more-opportunities > summary small { margin-top: 2px; color: var(--nbz-text-3); font-size: 9.5px; }
.nbz-more-opportunities > .nbz-recommendation-list { margin: 0; padding: 0 18px 18px; }

.nbz-preference-goals { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.nbz-preference-goals legend { color: var(--nbz-text-2); font-size: 11px; font-weight: 800; }
.nbz-preference-goals > p { margin: 3px 0 9px; color: var(--nbz-text-3); font-size: 9.5px; }
.nbz-preference-goals > div { display: flex; flex-wrap: wrap; gap: 6px; }
.nbz-preference-goal { position: relative; cursor: pointer; }
.nbz-preference-goal input { position: absolute; opacity: 0; pointer-events: none; }
.nbz-preference-goal span { display: block; padding: 6px 10px; color: var(--nbz-text-2); background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; font-size: 9.5px; }
.nbz-preference-goal input:focus-visible + span { outline: 2px solid #34d399; outline-offset: 2px; }
.nbz-preference-goal.is-active span { color: #065f46; background: #ecfdf5; border-color: #6ee7b7; font-weight: 700; }

.nbz-market-signal { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-bottom: 14px !important; padding: 18px !important; }
.nbz-market-signal.is-connected { border-color: #a7e7d1; background: linear-gradient(135deg, #fff, #f0fdf8); }
.nbz-market-signal.is-disconnected { border-color: #fde68a; background: linear-gradient(135deg, #fff, #fffbeb); }
.nbz-market-signal h3 { margin: 7px 0 3px; color: var(--nbz-text); font-size: 15px; }
.nbz-market-signal p { margin: 0; color: var(--nbz-text-3); font-size: 10.5px; }
.nbz-market-signal__value { min-width: 180px; padding: 11px 13px; background: rgba(255, 255, 255, .82); border: 1px solid rgba(148, 163, 184, .25); border-radius: 13px; }
.nbz-market-signal__value strong,
.nbz-market-signal__value span,
.nbz-market-signal__value small { display: block; }
.nbz-market-signal__value strong { color: #065f46; font-size: 17px; }
.nbz-market-signal__value span { margin-top: 3px; color: var(--nbz-text-2); font-size: 10px; }
.nbz-market-signal__value small { margin-top: 2px; color: var(--nbz-text-3); font-size: 9px; }
.nbz-market-signal footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(148, 163, 184, .2); color: var(--nbz-text-3); font-size: 9.5px; }
.nbz-market-signal footer a { color: #047857; font-weight: 700; }

.nbz-smart-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 22px 24px;
  color: #064e3b;
  background: linear-gradient(125deg, #ecfdf5, #f8fffc 70%);
  border: 1px solid #a7e7d1;
  border-radius: 18px;
}

.nbz-smart-hero h2 { margin: 8px 0 3px; font-size: 20px; }
.nbz-smart-hero p { margin: 0; color: #47776a; font-size: 11.5px; }

.nbz-autopilot { margin-bottom: 16px !important; padding: 0 !important; overflow: hidden; border-color: #86d9bd !important; box-shadow: 0 12px 34px rgba(5, 150, 105, .09) !important; }
.nbz-autopilot > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 23px 24px; color: #064e3b; background: linear-gradient(125deg, #ecfdf5, #fff 72%); border-bottom: 1px solid #d1fae5; }
.nbz-autopilot > header h2 { margin: 8px 0 4px; color: #064e3b; font-size: 21px; }
.nbz-autopilot > header p { max-width: 750px; margin: 0; color: #47776a; font-size: 11.5px; line-height: 1.85; }
.nbz-autopilot__mark { display: grid; flex: 0 0 auto; width: 58px; height: 58px; place-items: center; color: #fff; background: linear-gradient(135deg, #059669, #047857); border-radius: 18px; box-shadow: 0 9px 22px rgba(5, 150, 105, .24); }
.nbz-autopilot__mark .nbz-icon { width: 27px; height: 27px; }
.nbz-autopilot-question { padding: 20px 24px; }
.nbz-autopilot-question > strong, .nbz-autopilot-question > span { display: block; }
.nbz-autopilot-question > strong { color: var(--nbz-text); font-size: 15px; }
.nbz-autopilot-question > span { margin-top: 2px; color: var(--nbz-text-3); font-size: 9.5px; }
.nbz-autopilot-question > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.nbz-autopilot-question button { min-width: 0; padding: 12px; text-align: right; color: var(--nbz-text-2); background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 13px; cursor: pointer; font: inherit; }
.nbz-autopilot-question button:hover { border-color: #6ee7b7; }
.nbz-autopilot-question button.is-active { color: #065f46; background: #ecfdf5; border-color: #34d399; box-shadow: inset 0 0 0 1px #34d399; }
.nbz-autopilot-question b, .nbz-autopilot-question small { display: block; }
.nbz-autopilot-question b { font-size: 11px; }
.nbz-autopilot-question small { margin-top: 4px; color: var(--nbz-text-3); font-size: 8.5px; line-height: 1.55; }
.nbz-autopilot > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 24px; background: #f8fffc; border-top: 1px solid #e2f7ef; }
.nbz-autopilot > footer > div, .nbz-autopilot > footer > div > span { display: flex; align-items: center; gap: 8px; color: #47776a; font-size: 9.5px; }
.nbz-autopilot > footer > div > span { display: block; }
.nbz-autopilot > footer b { color: #065f46; }
.nbz-autopilot--loading { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; min-height: 170px; padding: 25px !important; }
.nbz-autopilot--loading h2 { margin: 8px 0 4px; color: #064e3b; }
.nbz-autopilot--loading p { margin: 0; color: #47776a; }
.nbz-autopilot--plan > .nbz-cost-ok { margin: 12px 24px 0; padding: 10px 12px; background: #ecfdf5; border-radius: 11px; font-size: 10px; }
.nbz-autopilot-topup { margin: 12px 24px 0; padding: 12px 14px; color: #854d0e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; }
.nbz-autopilot-topup strong, .nbz-autopilot-topup small { display: block; }
.nbz-autopilot-topup p { margin: 4px 0; font-size: 13px; font-weight: 800; }
.nbz-autopilot-topup small { font-size: 9px; }
.nbz-autopilot-campaigns { display: grid; gap: 9px; padding: 14px 24px; }
.nbz-autopilot-campaign { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(360px, 1.35fr); gap: 14px; align-items: center; padding: 14px; border: 1px solid #e2e8f0; border-radius: 14px; }
.nbz-autopilot-campaign h4 { margin: 7px 0 3px; color: var(--nbz-text); font-size: 13px; }
.nbz-autopilot-campaign p { margin: 0; color: var(--nbz-text-3); font-size: 9.5px; line-height: 1.7; }
.nbz-autopilot-campaign dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 0; }
.nbz-autopilot-campaign dl > div { min-width: 0; padding: 8px; background: #f8fafc; border-radius: 9px; }
.nbz-autopilot-campaign dt { color: var(--nbz-text-3); font-size: 8px; }
.nbz-autopilot-campaign dd { overflow-wrap: anywhere; margin: 3px 0 0; color: var(--nbz-text-2); font-size: 9.5px; font-weight: 700; }
.nbz-autopilot-rules { margin: 0 24px 16px; border: 1px solid #e2e8f0; border-radius: 12px; }
.nbz-autopilot-rules summary { padding: 10px 12px; color: var(--nbz-text-2); cursor: pointer; font-size: 10px; font-weight: 700; }
.nbz-autopilot-rules ul { margin: 0; padding: 10px 30px 13px 12px; border-top: 1px solid #edf2f7; color: var(--nbz-text-3); font-size: 9.5px; line-height: 1.9; }
.nbz-autopilot-consent { display: flex; flex: 1 1 420px; align-items: flex-start; gap: 9px; color: var(--nbz-text-2); font-size: 10px; line-height: 1.7; cursor: pointer; }
.nbz-autopilot-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: #059669; }
.nbz-autopilot-start-note { display: flex !important; flex: 1 1 420px; align-items: flex-start !important; flex-direction: column; gap: 2px !important; line-height: 1.7; }
.nbz-autopilot-start-note strong { color: #065f46; font-size: 10px; }
.nbz-autopilot-start-note span { color: #47776a; font-size: 9px; }
.nbz-autopilot-next { color: #47776a; font-size: 10px; }
.nbz-autopilot-advanced { margin-bottom: 16px !important; padding: 0 !important; overflow: hidden; }
.nbz-autopilot-advanced > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; }
.nbz-autopilot-advanced > summary::-webkit-details-marker { display: none; }
.nbz-autopilot-advanced > summary > span:first-child { display: flex; align-items: center; gap: 9px; }
.nbz-autopilot-advanced > summary strong, .nbz-autopilot-advanced > summary small { display: block; }
.nbz-autopilot-advanced > summary strong { color: var(--nbz-text-2); font-size: 11px; }
.nbz-autopilot-advanced > summary small { margin-top: 2px; color: var(--nbz-text-3); font-size: 9px; }
.nbz-autopilot-advanced > summary .nbz-icon { width: 18px; height: 18px; color: var(--nbz-accent); }
.nbz-autopilot-advanced[open] > summary .nbz-collapse__chevron { transform: rotate(45deg); }
.nbz-autopilot-advanced > div { padding: 15px; background: #f8fafc; border-top: 1px solid var(--nbz-border); }
.nbz-autopilot-advanced > div > :last-child { margin-bottom: 0 !important; }

.nbz-recommendation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-bottom: 14px; }
.nbz-recommendation-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--nbz-border); border-radius: 18px; box-shadow: 0 5px 18px rgba(15, 23, 42, .045); }
.nbz-recommendation-card.is-featured { border-color: #60d4ae; box-shadow: 0 9px 28px rgba(5, 150, 105, .1); }
.nbz-recommendation-card.is-unavailable { background: #fafafa; border-style: dashed; box-shadow: none; }
.nbz-recommendation-card.is-unavailable > *:not(header) { opacity: .66; }
.nbz-recommendation-card header > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nbz-opportunity-score { color: #047857; font-size: 10px; }
.nbz-opportunity-score b { font-size: 16px; }
.nbz-recommendation-card h3 { margin: 11px 0 5px; color: var(--nbz-text); font-size: 17px; }
.nbz-recommendation-card header p { min-height: 43px; margin: 0; color: var(--nbz-text-3); font-size: 11.5px; line-height: 1.85; }
.nbz-opportunity-unavailable { display: flex; align-items: flex-start; gap: 7px; margin-top: 9px; padding: 9px 10px; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; font-size: 9.5px; line-height: 1.6; }
.nbz-opportunity-unavailable .nbz-icon { flex: 0 0 auto; width: 15px; height: 15px; }

.nbz-recommendation-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 16px 0 12px; }
.nbz-recommendation-metrics > div { padding: 10px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 12px; }
.nbz-recommendation-metrics span, .nbz-recommendation-metrics strong, .nbz-recommendation-metrics small { display: block; }
.nbz-recommendation-metrics span { color: var(--nbz-text-3); font-size: 9.5px; }
.nbz-recommendation-metrics strong { margin-top: 3px; color: var(--nbz-text-2); font-size: 13px; }
.nbz-recommendation-metrics small { margin-top: 2px; color: #047857; font-size: 8.5px; }

.nbz-recommendation-context { display: grid; gap: 6px; padding: 11px; background: #fffcf4; border: 1px solid #f5e8bc; border-radius: 13px; }
.nbz-recommendation-context > div { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 7px; color: #705b23; font-size: 10.5px; line-height: 1.65; }
.nbz-recommendation-context .nbz-icon { width: 16px; height: 16px; margin-top: 2px; }
.nbz-recommendation-context b { display: block; color: #4e411e; }
.nbz-recommendation-rule { margin-top: 11px; }
.nbz-opportunity-why { margin-top: 10px; border: 1px solid #edf2f7; border-radius: 12px; }
.nbz-opportunity-why summary { padding: 9px 11px; color: #475569; cursor: pointer; font-size: 9.5px; font-weight: 700; }
.nbz-opportunity-why > div { padding: 0 11px 10px; border-top: 1px solid #edf2f7; }
.nbz-opportunity-why p { margin: 8px 0 0; color: var(--nbz-text-3); font-size: 9.5px; line-height: 1.65; }
.nbz-opportunity-why b { color: var(--nbz-text-2); }
.nbz-opportunity-why ul { margin: 8px 0 0; padding-right: 17px; color: var(--nbz-text-3); font-size: 9px; line-height: 1.8; }
.nbz-recommendation-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }
.nbz-recommendation-card footer > span { max-width: 58%; color: var(--nbz-text-3); font-size: 9px; line-height: 1.55; }

.nbz-smart-method { margin-bottom: 16px !important; padding: 0 !important; }
.nbz-smart-method summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 19px; cursor: pointer; list-style: none; }
.nbz-smart-method summary::-webkit-details-marker { display: none; }
.nbz-smart-method summary > span:first-child { display: flex; align-items: center; gap: 8px; }
.nbz-smart-method summary .nbz-icon { width: 18px; height: 18px; color: var(--nbz-accent); }
.nbz-smart-method[open] .nbz-collapse__chevron { transform: rotate(45deg); }
.nbz-smart-method > div { padding: 0 19px 18px; border-top: 1px solid var(--nbz-border); }
.nbz-smart-method p { color: var(--nbz-text-3); font-size: 11px; line-height: 1.8; }
.nbz-smart-method ul { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.nbz-smart-method li { padding: 10px 12px; background: #f8fafc; border-radius: 11px; }
.nbz-smart-method li a, .nbz-smart-method li span { display: block; }
.nbz-smart-method li a { color: #047857; font-size: 11px; font-weight: 700; }
.nbz-smart-method li span { margin-top: 3px; color: var(--nbz-text-3); font-size: 9.5px; }

.nbz-applied-recommendation { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; padding: 13px 15px; color: #065f46; background: #ecfdf5; border: 1px solid #a7e7d1; border-radius: 15px; }
.nbz-applied-recommendation > div { display: flex; align-items: center; gap: 9px; }
.nbz-applied-recommendation .nbz-icon { flex: 0 0 auto; width: 19px; height: 19px; }
.nbz-applied-recommendation strong, .nbz-applied-recommendation span { display: block; }
.nbz-applied-recommendation span { font-size: 10.5px; }

.nbz-smart-timing-note { display: flex; align-items: flex-start; gap: 9px; margin: 10px 0 16px; padding: 11px 13px; color: #065f46; background: #ecfdf5; border: 1px solid #a7e7d1; border-radius: 13px; font-size: 10.5px; }
.nbz-smart-timing-note--warning { color: #854d0e; background: #fffbeb; border-color: #fde68a; }
.nbz-smart-timing-note .nbz-icon { flex: 0 0 auto; width: 17px; height: 17px; }
.nbz-smart-timing-note strong, .nbz-smart-timing-note span { display: block; }

.nbz-guardrail-fields { margin-top: 15px; padding: 15px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; }
.nbz-guardrail-fields h4 { margin: 0 0 11px; color: var(--nbz-text-2); font-size: 12px; }
.nbz-guardrail-fields .ss-grid-2 { margin-top: 10px; }

.nbz-error-state { border-color: #fecaca !important; background: #fffafa !important; }
.nbz-error-state strong,
.nbz-error-state span { display: block; }
.nbz-error-state strong { color: #991b1b; }
.nbz-error-state span { margin: 5px 0 12px; color: #7f1d1d; }

.nbz-preview-prediction { margin-top: 10px; padding: 12px 14px; color: #155e75; background: #ecfeff; border: 1px solid #a5f3fc; border-radius: 14px; }
.nbz-preview-prediction > div { display: flex; align-items: center; gap: 8px; }
.nbz-preview-prediction .nbz-icon { flex: 0 0 auto; width: 18px; height: 18px; }
.nbz-preview-prediction strong, .nbz-preview-prediction span { display: block; }
.nbz-preview-prediction span, .nbz-preview-prediction small { font-size: 10.5px; }
.nbz-preview-prediction small { display: block; margin-top: 7px; color: #527985; }

.nbz-result-cell strong, .nbz-result-cell small { display: block; white-space: nowrap; }
.nbz-result-cell strong { color: #047857; font-size: 12px; }
.nbz-result-cell .ss-badge { margin: 3px 0; }
.nbz-result-cell small, .nbz-result-pending { color: var(--nbz-text-3); font-size: 9.5px; }

.nbz-results-modal .nbz-picker-modal__box { max-width: 960px; }
.nbz-results-modal__body { padding: 20px; overflow-y: auto; }
.nbz-results-hero { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.nbz-results-hero > div { padding: 13px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 13px; }
.nbz-results-hero span, .nbz-results-hero strong { display: block; }
.nbz-results-hero span { color: var(--nbz-text-3); font-size: 10px; }
.nbz-results-hero strong { margin-top: 4px; color: var(--nbz-text); font-size: 15px; }
.nbz-results-comparison { display: flex; align-items: center; gap: 22px; margin-top: 13px; padding: 13px 15px; background: #ecfdf5; border: 1px solid #a7e7d1; border-radius: 13px; }
.nbz-results-comparison > div { min-width: 130px; }
.nbz-results-comparison span, .nbz-results-comparison strong { display: block; }
.nbz-results-comparison span { color: #47776a; font-size: 9.5px; }
.nbz-results-comparison strong { margin-top: 2px; color: #065f46; }
.nbz-results-note { display: flex; gap: 9px; margin: 13px 0 18px; padding: 12px; color: #475569; background: #f8fafc; border-radius: 12px; }
.nbz-results-note .nbz-icon { flex: 0 0 auto; width: 18px; height: 18px; color: #0284c7; }
.nbz-results-note p { margin: 0; font-size: 10.5px; line-height: 1.8; }
.nbz-results-note strong { display: block; color: var(--nbz-text-2); }
.nbz-results-modal__body > h4 { margin: 0 0 9px; }
.nbz-experiment-results { margin: 14px 0 18px; padding: 15px; background: linear-gradient(135deg, #f0fdf8, #fff); border: 1px solid #a7e7d1; border-radius: 15px; }
.nbz-experiment-results > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.nbz-experiment-results h4 { margin: 5px 0 0; color: #065f46; font-size: 14px; }
.nbz-experiment-results > p { margin: 11px 0 0; color: #47776a; font-size: 9.5px; line-height: 1.75; }
.nbz-results-hero small { display: block; margin-top: 2px; color: var(--nbz-text-3); font-size: 8.5px; }

/* ---------- compact responsive layout ---------- */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }

  .nbz-topbar,
  .nbz-topbar__inner,
  .nabz-wrap {
    width: 100%;
    max-width: 100%;
  }

  .nabz-wrap {
    overflow-x: hidden;
    overflow-x: clip;
  }

  .nabz-wrap > *,
  .nabz-wrap .ss-card,
  .nabz-wrap .ss-card__body,
  .nabz-wrap .nbz-flow-step,
  .nabz-wrap .nbz-flow-step__content,
  .nabz-wrap .nbz-inline-segment,
  .nabz-wrap .nbz-inline-segment__body {
    min-width: 0;
    max-width: 100%;
  }

  /* The shared WordPress stylesheet gives `.ss-grid-2` a 280px minimum per
     column. Inside the nested segment builder there can be less than 280px
     available on a small phone, which makes the whole page pan sideways. */
  .nabz-wrap .ss-grid-2,
  .nabz-wrap .nbz-seg-pickers,
  .nabz-wrap .nbz-seg-number-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .nabz-wrap input,
  .nabz-wrap select,
  .nabz-wrap textarea,
  .nabz-wrap button {
    min-width: 0;
    max-width: 100%;
  }

  .nabz-wrap select,
  .nabz-wrap textarea,
  .nabz-wrap input:not([type="checkbox"]):not([type="radio"]) {
    width: 100%;
  }

  body {
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  .nbz-topbar {
    padding-top: calc(8px + env(safe-area-inset-top));
  }

  .nabz-wrap .ss-header {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .nabz-wrap .nbz-header-actions--dashboard {
    flex-wrap: wrap;
  }

  .nabz-wrap .nbz-header-actions--dashboard .button {
    min-width: 0;
  }

  .nabz-wrap .nbz-tabs-card {
    inset-inline: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
  }

  .nabz-wrap .ss-tabs {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    width: 100%;
    gap: 2px;
    overflow: visible;
  }

  /* All seven product tabs stay in one calm, tappable row. Fewer columns wrap
   * the last item and double the fixed bar's height, hiding the card below it. */

  /* Bottom tab bar: icon over label. Hiding the labels left six abstract
   * glyphs (tag, box, list, save…) with nothing to tell them apart — the one
   * place on mobile where a caption is not optional. */
  .nabz-wrap .ss-tab {
    min-width: 0;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 6px 1px 5px;
  }

  .nabz-wrap .ss-tab__label {
    display: none;
  }

  .nabz-wrap .ss-tab__label--short {
    display: block;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nabz-wrap {
    padding-bottom: calc(94px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .nabz-wrap .nbz-spacer {
    height: 8px;
  }

  .nbz-operation {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .nbz-operation__actions .button {
    flex: 1;
    justify-content: center;
  }

  .nbz-toast-region {
    inset-block-start: calc(64px + env(safe-area-inset-top));
    right: 10px;
    left: 10px;
    width: auto;
  }

  .nbz-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .nbz-pagination > div,
  .nbz-pagination .button {
    flex: 1;
  }

  .nbz-pagination .button {
    justify-content: center;
  }

  .nbz-campaign-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nbz-campaign-mode {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .nbz-campaign-mode button {
    min-height: 72px;
    gap: 7px;
    padding: 9px 10px;
  }

  .nbz-campaign-mode .nbz-icon {
    width: 18px;
    height: 18px;
  }

  .nbz-campaign-mode strong {
    font-size: 12px;
  }

  .nbz-campaign-mode small {
    font-size: 9.5px;
    line-height: 1.5;
  }

  .nbz-inline-segment__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .nbz-inline-segment__actions .button {
    justify-content: center;
    width: 100%;
  }

  .nbz-target-audience__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .nbz-target-audience .nbz-scroll {
    max-height: none;
    border: 0;
    overflow: visible;
  }

  .nbz-scroll {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  .nabz-wrap table {
    max-width: 100%;
  }

  .nabz-wrap table:not(.nbz-mobile-cards) {
    width: 100%;
    table-layout: fixed;
  }

  .nabz-wrap table:not(.nbz-mobile-cards) th,
  .nabz-wrap table:not(.nbz-mobile-cards) td {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .nabz-wrap table.nbz-mobile-cards,
  .nabz-wrap table.nbz-mobile-cards tbody,
  .nabz-wrap table.nbz-mobile-cards tr,
  .nabz-wrap table.nbz-mobile-cards td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .nabz-wrap table.nbz-mobile-cards thead {
    display: none;
  }

  .nabz-wrap table.nbz-mobile-cards tr {
    overflow: hidden;
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid var(--nbz-border);
    border-radius: 15px;
  }

  .nabz-wrap table.nbz-mobile-cards td {
    display: grid;
    grid-template-columns: minmax(88px, 35%) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px 12px !important;
    border-bottom: 1px solid #edf4f0;
    text-align: start;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .nabz-wrap table.nbz-mobile-cards td:last-child { border-bottom: 0; }

  .nabz-wrap table.nbz-mobile-cards td::before {
    content: attr(data-label);
    color: var(--nbz-text-3);
    font-size: 11px;
    font-weight: 600;
  }

  .nabz-wrap table.nbz-mobile-cards .nbz-prod {
    min-width: 0;
  }

  .nabz-wrap table.nbz-mobile-cards .nbz-row-actions {
    flex-wrap: wrap;
    white-space: normal;
  }

  /* Seven RFM groups stay visible at once in three compact rows. */
  .nbz-seg-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding: 0;
    overflow: visible;
  }

  .nbz-seg {
    min-height: 98px;
    padding: 9px 8px;
    border-radius: 13px;
  }

  .nbz-seg__label {
    gap: 5px;
    font-size: 10.5px;
    line-height: 1.35;
  }

  .nbz-seg__label .nbz-icon {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
    padding: 4px;
    border-radius: 8px;
  }

  .nbz-seg__count {
    margin-top: 7px;
    font-size: 20px;
  }

  .nbz-seg__meta {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.45;
  }

  .nbz-customer-toolbar {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 6px;
  }

  .nbz-customer-toolbar .button {
    width: 42px;
    min-height: 42px;
    justify-content: center;
    padding: 0 !important;
  }

  .nbz-customer-toolbar .nbz-export-label {
    display: none;
  }

  .nbz-customer-toolbar .button .nbz-icon {
    width: 18px;
    height: 18px;
  }

  .nbz-filter-count {
    position: absolute;
    top: -5px;
    inset-inline-end: -5px;
    min-width: 18px;
    height: 18px;
    font-size: 9px;
  }

  .nbz-customer-filter {
    align-items: flex-end;
  }

  .nbz-customer-filter__panel {
    width: 100%;
    height: auto;
    max-height: min(88svh, 720px);
    border: 0;
    border-radius: 22px 22px 0 0;
  }

  .nbz-customer-filter__head,
  .nbz-customer-filter__body {
    padding: 17px;
  }

  .nbz-customer-filter__footer {
    padding-inline: 17px;
  }

  .nbz-products-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 7px;
  }

  .nbz-products-toolbar .ss-field--grow {
    grid-column: 1 / -1;
  }

  .nbz-toolbar.nbz-products-toolbar .ss-field,
  .nbz-toolbar.nbz-products-toolbar .button {
    width: auto;
  }

  .nbz-products-toolbar .button {
    min-width: 84px;
  }

  /* Purpose-built cards replace the generic one-label-per-line stack. */
  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table tr,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table tr,
  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table tr {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 8px;
    width: auto;
    padding: 9px;
    border-radius: 14px;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table td,
  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table td {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
    width: auto;
    padding: 7px !important;
    border: 0;
    font-size: 11.5px;
    line-height: 1.5;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td::before,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table td::before,
  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table td::before {
    font-size: 9.5px;
    line-height: 1.2;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td:first-child,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table td:first-child,
  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table td:nth-child(5) {
    grid-column: 1 / -1;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td:first-child,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table td:first-child {
    padding-bottom: 9px !important;
    border-bottom: 1px solid #edf4f0;
    font-size: 13px;
    font-weight: 800;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td:first-child::before,
  .nabz-wrap table.nbz-mobile-cards.nbz-products-table td:first-child::before {
    display: none;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td:nth-child(3),
  .nabz-wrap table.nbz-mobile-cards.nbz-customers-table td:nth-child(7) {
    grid-column: 1 / -1;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-products-table .nbz-prod {
    min-width: 0;
    gap: 8px;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-products-table .nbz-prod__img {
    width: 38px;
    height: 38px;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table td:nth-child(5) {
    padding-block: 9px !important;
    border-block: 1px solid #edf4f0;
  }

  .nabz-wrap table.nbz-mobile-cards.nbz-messages-table td:nth-child(5):not(:focus) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .nabz-wrap table.nbz-mobile-cards td[data-label="قیمت"],
  .nabz-wrap table.nbz-mobile-cards td[data-label="فروش"],
  .nabz-wrap table.nbz-mobile-cards td[data-label="مجموع"],
  .nabz-wrap table.nbz-mobile-cards td[data-label="هزینه"] {
    white-space: nowrap;
  }

  .nabz-toolbar,
  .nabz-toolbar .ss-field,
  .nabz-toolbar .button {
    width: 100%;
  }

  .nabz-toolbar .button {
    justify-content: center;
  }

  .nbz-campaign-mode button:first-child { grid-column: 1 / -1; min-height: 60px; }
  .nbz-smart-analysis { grid-template-columns: 1fr; min-height: 0; padding: 24px 20px !important; }
  .nbz-smart-analysis__orb { width: 72px; height: 72px; border-radius: 23px; }
  .nbz-smart-analysis__orb::before { width: 27px; height: 27px; border-radius: 9px; }
  .nbz-analysis-steps { grid-template-columns: 1fr; }
  .nbz-analysis-steps li { min-height: 56px; }
  .nbz-business-profile__head, .nbz-business-profile__footer, .nbz-smart-hero, .nbz-autopilot > header, .nbz-autopilot > footer { align-items: stretch; flex-direction: column; }
  .nbz-business-profile__head { padding: 21px 18px; }
  .nbz-profile-suggestion { flex-basis: auto; }
  .nbz-category-mix { grid-template-columns: 1fr; padding: 14px 18px 0; }
  .nbz-category-search { margin: 14px 18px 0; }
  .nbz-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px; gap: 7px; }
  .nbz-category-choice { min-height: 61px; padding: 8px; }
  .nbz-category-choice__emoji { flex-basis: 34px; height: 34px; font-size: 17px; }
  .nbz-category-choice strong { font-size: 10.5px; }
  .nbz-subcategory-panel { margin: 0 18px 18px; }
  .nbz-subcategory-panel > div:first-child { flex-direction: column; }
  .nbz-business-profile__footer { padding: 15px 18px; }
  .nbz-business-profile__footer .button { justify-content: center; width: 100%; }
  .nbz-smart-hero { padding: 18px; }
  .nbz-smart-hero .button { justify-content: center; width: 100%; }
  .nbz-autopilot-question, .nbz-autopilot > header, .nbz-autopilot > footer { padding-inline: 17px; }
  .nbz-autopilot-question > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nbz-autopilot-campaigns { padding-inline: 17px; }
  .nbz-autopilot-campaign { grid-template-columns: 1fr; }
  .nbz-autopilot-campaign dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nbz-autopilot-rules, .nbz-autopilot--plan > .nbz-cost-ok, .nbz-autopilot-topup { margin-inline: 17px; }
  .nbz-autopilot > footer .button { justify-content: center; width: 100%; }
  .nbz-autopilot--loading { grid-template-columns: 1fr; padding: 20px !important; }
  .nbz-goal-chooser { grid-template-columns: 1fr; padding: 16px; }
  .nbz-goal-chooser > div:last-child { justify-content: flex-start; }
  .nbz-market-signal { grid-template-columns: 1fr; padding: 16px !important; }
  .nbz-market-signal__value { min-width: 0; }
  .nbz-market-signal footer { align-items: stretch; flex-direction: column; }
  .nbz-market-signal footer .button,
  .nbz-opportunity-settings .button { justify-content: center; width: 100%; }
  .nbz-more-opportunities > .nbz-recommendation-list { padding-inline: 12px; }
  .nbz-recommendation-list { grid-template-columns: 1fr; }
  .nbz-recommendation-card { padding: 16px; }
  .nbz-recommendation-card footer, .nbz-applied-recommendation { align-items: stretch; flex-direction: column; }
  .nbz-recommendation-card footer > span { max-width: none; }
  .nbz-recommendation-card footer .button, .nbz-applied-recommendation .button { justify-content: center; width: 100%; }
  .nbz-results-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nbz-results-comparison { align-items: stretch; flex-direction: column; gap: 9px; }
  .nbz-experiment-results > header { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .nbz-topbar__inner {
    gap: 7px;
    padding-inline: 10px;
  }

  .nbz-topbar__actions { gap: 5px; min-width: 0; }
  .nbz-guide-button { width: 38px; padding: 0; font-size: 0; }
  .nbz-guide-button .nbz-icon { width: 17px; height: 17px; flex-basis: 17px; }
  .nbz-user-chip { max-width: 92px; padding-inline: 8px; }
  .nbz-topbar__actions .button#btn-logout { width: 38px; padding: 0 !important; justify-content: center; font-size: 0; }
  .nbz-topbar__actions .button#btn-logout .nbz-icon { width: 17px; height: 17px; }

  .nabz-wrap .ss-header { padding: 17px; }
  .nabz-wrap .nbz-header-actions--dashboard .button { flex-basis: 100%; }

  .nbz-flow-step {
    grid-template-columns: 1fr;
  }

  .nbz-flow-step__number {
    width: 30px;
    height: 30px;
  }

  .nbz-campaign-preview {
    grid-template-columns: 1fr;
  }

  .nbz-campaign-preview--audience {
    grid-template-columns: 1fr;
  }

  .nbz-send-choice {
    grid-template-columns: 1fr;
  }

  .nbz-recommendation-metrics,
  .nbz-results-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  /* Two columns give the segment name and its value enough breathing room on
   * narrow phones; the three-column layout remains for larger mobile screens. */
  .nbz-seg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .nbz-seg {
    min-height: 88px;
    padding: 7px 9px;
  }

  .nbz-seg__label {
    gap: 6px;
    font-size: 11.5px;
  }

  .nbz-seg__label .nbz-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    padding: 4px;
  }

  .nbz-seg__count {
    margin-top: 6px;
    font-size: 21px;
  }

  .nbz-seg__meta {
    font-size: 9.5px;
  }
}

/* ============== ورود توسعهٔ محلی ============== */
/* Deliberately plain and labelled: this shortcut only exists on a development
 * instance, and it should never read as a normal way in. */
.nbz-devlogin {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--ss-border, #e4e4e7);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}

.nbz-devlogin__tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2px;
  color: #a16207;
  background: #fefce8;
  border: 1px solid #fde68a;
  border-radius: 999px;
  padding: 2px 10px;
}

.nbz-devlogin__btn {
  width: 100%;
  justify-content: center;
}

/* ── messenger picker ─────────────────────────────────────────────────────
   Vendors pick a platform by its mark, not from a dropdown: the logo is what
   they recognise, and the differences between the flows (a code, an account
   password, a pair code typed into another app) matter enough that the
   explanation is one click away rather than buried in support. */
.msgr-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.msgr-summary > div {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 18px;
  box-shadow: var(--ss-shadow-sm);
}

.msgr-summary span {
  color: var(--nbz-text-3);
  font-size: 11px;
}

.msgr-summary strong {
  overflow-wrap: anywhere;
  color: var(--nbz-text);
  font-size: 18px;
}

.msgr-wizard-lead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
}

.msgr-wizard-lead > span {
  flex: 0 0 auto;
  padding: 5px 10px;
  color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  border: 1px solid var(--nbz-accent-border);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.msgr-wizard-lead p {
  margin: 0;
  color: var(--nbz-text-2);
  font-size: 13px;
}

.msgr-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.msgr-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  min-height: 154px;
  padding: 16px 10px 13px;
  border: 1px solid var(--nbz-border);
  border-radius: var(--ss-radius-lg, 12px);
  background: var(--nbz-surface);
  color: var(--nbz-text);
  font: inherit;
  cursor: pointer;
  text-align: center;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}

.msgr-tile:hover {
  border-color: var(--nbz-accent-border);
  transform: translateY(-1px);
  box-shadow: var(--ss-shadow-sm, 0 1px 3px rgba(0, 0, 0, .07));
}

.msgr-tile:focus-visible {
  outline: 2px solid var(--nbz-accent);
  outline-offset: 2px;
}

.msgr-tile.is-on {
  border-color: var(--nbz-accent);
  background: var(--nbz-accent-soft);
  box-shadow: 0 0 0 3px var(--nbz-accent-ring);
}

.msgr-tile__name {
  font-weight: 700;
  font-size: 14px;
}

.msgr-tile__meta {
  font-size: 11px;
  color: var(--nbz-text-3);
}

.msgr-tile__action {
  margin-top: auto;
  color: var(--nbz-accent);
  font-size: 10px;
  font-weight: 800;
}

.msgr-tile__tooltip {
  position: absolute;
  z-index: 20;
  inset-inline: 8px;
  bottom: calc(100% + 9px);
  padding: 8px 10px;
  color: #fff;
  background: #17211c;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.7;
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .15s, transform .15s;
}

.msgr-tile__tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  inset-inline-start: 50%;
  border: 5px solid transparent;
  border-top-color: #17211c;
  transform: translateX(50%);
}

.msgr-tile:hover .msgr-tile__tooltip,
.msgr-tile:focus-visible .msgr-tile__tooltip {
  opacity: 1;
  transform: translateY(0);
}

.msgr-mark-shell {
  width: calc(var(--msgr-mark-size) + 18px);
  height: calc(var(--msgr-mark-size) + 18px);
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--msgr-brand);
  background: #fff;
  border: 1px solid var(--nbz-border);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .07);
}

.msgr-mark {
  display: block;
  flex: none;
  color: inherit;
}

.msgr-mark--image {
  object-fit: contain;
  border-radius: 6px;
}

.msgr-info {
  border: 1px solid var(--nbz-accent-border);
  background: var(--nbz-accent-soft);
  border-radius: var(--ss-radius-lg, 12px);
  padding: 18px;
  margin-bottom: 18px;
}

.msgr-info__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 15px;
}

.msgr-info__lead {
  margin: 0 0 10px;
  color: var(--nbz-text);
  line-height: 1.85;
}

.msgr-info__row {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--nbz-text-2);
  line-height: 1.9;
}

.msgr-info__row b {
  color: var(--nbz-text);
}

.msgr-step__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.msgr-account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.msgr-account {
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: 16px;
  background: linear-gradient(145deg, #fff, #fbfefc);
  border: 1px solid var(--nbz-border);
  border-radius: 18px;
}

.msgr-account--sms {
  border-color: color-mix(in srgb, var(--nbz-accent) 35%, var(--nbz-border));
}

.msgr-account__sms-mark {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 10px;
  background: var(--nbz-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
}

.msgr-account__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.msgr-account__head {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.msgr-account__identity {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.msgr-account__identity > div {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.msgr-account__identity strong {
  color: var(--nbz-text);
  font-size: 14px;
}

.msgr-account__identity small,
.msgr-account__phone {
  color: var(--nbz-text-3);
  font-size: 11px;
}

.msgr-account__phone {
  width: fit-content;
  direction: ltr;
  unicode-bidi: plaintext;
}

.msgr-account__status {
  margin-inline-start: auto;
}

.msgr-account__usage {
  display: grid;
  gap: 8px;
}

.msgr-account__usage > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--nbz-text-3);
  font-size: 11px;
}

.msgr-account__usage b {
  color: var(--nbz-text-2);
}

.msgr-account__track {
  height: 7px;
  overflow: hidden;
  background: #edf4f0;
  border-radius: 999px;
}

.msgr-account__track i {
  height: 100%;
  display: block;
  background: linear-gradient(90deg, var(--nbz-accent), #34d399);
  border-radius: inherit;
}

.msgr-account__unlink {
  width: fit-content;
  min-height: 34px !important;
  margin-inline-start: auto;
  padding: 7px 11px !important;
  color: #b91c1c !important;
  background: #fff7f7 !important;
  border-color: #fecaca !important;
}

.msgr-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  color: var(--nbz-text-3);
  background: #f8fcfa;
  border: 1px dashed var(--nbz-accent-border);
  border-radius: 16px;
}

.msgr-empty .nbz-icon {
  width: 30px;
  height: 30px;
  color: var(--nbz-accent);
}

.msgr-empty div {
  display: grid;
  gap: 3px;
}

.msgr-empty b { color: var(--nbz-text); }
.msgr-empty span { font-size: 12px; }

.msgr-step__phone {
  margin-inline-start: auto;
  font-size: 12px;
  color: var(--nbz-text-3);
  direction: ltr;
  unicode-bidi: plaintext;
}

/* The pair code is read off this screen and typed into another app on another
   device, so it has to survive a glance across a phone. */
.msgr-pair {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px;
  margin: 4px 0 14px;
  border: 1px dashed var(--nbz-accent-border);
  border-radius: var(--ss-radius-lg, 12px);
  background: var(--nbz-surface);
  text-align: center;
}

.msgr-pair__label,
.msgr-pair__where {
  font-size: 12px;
  color: var(--nbz-text-2);
}

.msgr-pair__where {
  direction: ltr;
  unicode-bidi: plaintext;
}

.msgr-pair__code {
  font-size: 26px;
  letter-spacing: .3em;
  font-variant-numeric: tabular-nums;
  color: var(--nbz-accent-hover);
  direction: ltr;
  unicode-bidi: plaintext;
  overflow-wrap: anywhere;
}

.nbz-messenger-default-route {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--nbz-border);
  border-radius: var(--ss-radius-lg, 12px);
  background: var(--nbz-surface);
}

.nbz-messenger-default-route__mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  background: var(--nbz-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.nbz-messenger-default-route__copy { min-width: 0; }
.nbz-messenger-default-route__copy > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nbz-messenger-default-route__copy > p {
  margin: 5px 0 0;
  color: var(--nbz-text-2);
  line-height: 1.8;
}

@media (max-width: 782px) {
  .msgr-grid {
    grid-auto-columns: 132px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 6px;
    scroll-snap-type: inline proximity;
  }

  .msgr-tile { scroll-snap-align: start; }
  .msgr-tile__tooltip { display: none; }
}

@media (max-width: 480px) {
  .msgr-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .msgr-summary > div { padding: 14px; }
  .msgr-wizard-lead { align-items: flex-start; }
  .msgr-tile { min-height: 148px; }
  .msgr-account-grid { grid-template-columns: 1fr; }
  .msgr-pair__code { font-size: 21px; letter-spacing: .2em; }
}

/* ── decision-first dashboard ────────────────────────────────────────────
   The first screen answers three questions in order: where is my shop, what
   should I do next, and where do I find the raw customer list if I need it. */
.nbz-dashboard-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 14px 18px;
  margin: 0 0 18px;
  border: 1px solid var(--nbz-border);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.nbz-dashboard-journey__step {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ss-text-3);
  position: relative;
}
.nbz-dashboard-journey__step > div { display: grid; gap: 1px; min-width: 0; }
.nbz-dashboard-journey__step strong { font-size: 12px; color: var(--ss-text-2); }
.nbz-dashboard-journey__step small { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nbz-dashboard-journey__dot {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  color: var(--ss-text-3);
  background: #f4f7f5;
  border: 1px solid var(--nbz-border);
}
.nbz-dashboard-journey__dot .nbz-icon { width: 15px; height: 15px; }
.nbz-dashboard-journey__step.is-done .nbz-dashboard-journey__dot,
.nbz-dashboard-journey__step.is-current .nbz-dashboard-journey__dot {
  color: #fff;
  border-color: var(--nbz-accent);
  background: var(--nbz-accent);
}
.nbz-dashboard-journey__step.is-current strong { color: var(--nbz-accent-hover); }
.nbz-dashboard-journey__line {
  height: 1px;
  flex: 1;
  margin: 0 13px;
  background: var(--nbz-border);
}
.nbz-dashboard-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(250px, .75fr);
  gap: 18px;
}
.nbz-dashboard-overview .ss-card { margin-bottom: 0; }
.nabz-wrap .nbz-dashboard-overview__main { background: linear-gradient(145deg, #ffffff 0%, #f3fcf7 100%); }
.nbz-dashboard-overview__main .ss-card__body { padding: 26px 28px 24px; }
.nbz-dashboard-overview__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nbz-dashboard-overview__updated { color: var(--ss-text-3); font-size: 11px; }
.nbz-dashboard-overview__main h2 { margin: 17px 0 5px !important; font-size: 21px !important; }
.nbz-dashboard-overview__main p { margin: 0; color: var(--ss-text-2); }
.nbz-dashboard-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 23px; }
.nbz-dashboard-signal {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px;
  border: 1px solid #e7eee9;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}
.nbz-dashboard-signal__icon { display: inline-grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 9px; color: var(--nbz-accent); background: var(--nbz-accent-soft); }
.nbz-dashboard-signal__icon .nbz-icon { width: 15px; height: 15px; }
.nbz-dashboard-signal > div { min-width: 0; display: grid; gap: 1px; }
.nbz-dashboard-signal > div > span { color: var(--ss-text-3); font-size: 11px; }
.nbz-dashboard-signal strong { color: var(--ss-text); font-size: 16px; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nbz-dashboard-signal small { color: var(--ss-text-3); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nbz-dashboard-signal--warning .nbz-dashboard-signal__icon { color: #b7791f; background: #fff9e8; }
.nbz-dashboard-signal--neutral .nbz-dashboard-signal__icon { color: #64748b; background: #f1f5f9; }
.nabz-wrap .nbz-dashboard-overview__side { background: #0d3b2e; color: #fff; border-color: #0d3b2e; }
.nbz-dashboard-overview__side .ss-card__body { min-height: 100%; padding: 27px 24px; display: flex; flex-direction: column; align-items: flex-start; }
.nbz-dashboard-overview__side-icon { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 13px; color: #b5f5d5; background: rgba(255,255,255,.12); }
.nbz-dashboard-overview__side-icon .nbz-icon { width: 20px; height: 20px; }
.nbz-dashboard-overview__side strong { font-size: 18px; }
.nbz-dashboard-overview__side p { margin: 7px 0 20px; color: rgba(255,255,255,.72); line-height: 1.8; }
.nbz-dashboard-overview__side .button { margin-top: auto; color: #0d3b2e; background: #d1fae5; border-color: #d1fae5; }
.nbz-dashboard-overview__side .button:hover { background: #fff; border-color: #fff; }
/* Override shared button styles only for the dashboard offers action. */
.nabz-wrap .nbz-dashboard-offers-cta {
  width: 100%;
  min-height: 56px;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 18px !important;
  border-radius: 14px !important;
  border-color: #f8d477 !important;
  background: linear-gradient(110deg, #f8cd68, #ffe5a3) !important;
  color: #173c2f !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 0 #be913b, 0 10px 24px rgba(0, 0, 0, .18) !important;
  transition: transform .2s ease, box-shadow .2s ease;
  position: relative;
  isolation: isolate;
}
.nbz-dashboard-offers-cta__arrow {
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(23, 60, 47, .1);
  transition: transform .2s ease;
}
.nbz-dashboard-offers-cta__arrow .nbz-icon { width: 20px; height: 20px; }
.nabz-wrap .nbz-dashboard-offers-cta:hover {
  border-color: #ffe8af !important;
  background: linear-gradient(110deg, #ffdb81, #fff0c6) !important;
  color: #173c2f !important;
  box-shadow: 0 5px 0 #be913b, 0 14px 28px rgba(0, 0, 0, .22) !important;
  transform: translateY(-2px);
}
.nbz-dashboard-offers-cta:hover .nbz-dashboard-offers-cta__arrow { transform: translateX(-3px); }
.nabz-wrap .nbz-dashboard-offers-cta:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 5px;
}
.nabz-wrap .nbz-dashboard-offers-cta:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #be913b, 0 5px 14px rgba(0, 0, 0, .16) !important;
}
/* One quiet halo every six seconds; keep the label and hit target still. */
@media (prefers-reduced-motion: no-preference) {
  .nbz-dashboard-offers-cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -4px;
    border: 1px solid rgba(255, 221, 145, .65);
    border-radius: inherit;
    box-shadow: 0 0 12px rgba(255, 214, 122, .18);
    pointer-events: none;
    opacity: 0;
    animation: nbz-offers-halo 6s ease-out 1.5s infinite;
  }
  .nbz-dashboard-offers-cta:is(:hover, :focus-visible, :active, :disabled)::before {
    animation: none;
  }
}
@keyframes nbz-offers-halo {
  0% { opacity: 0; transform: translateY(2px) scale(.99); }
  10% { opacity: .6; transform: translateY(2px) scale(1); }
  36%, 100% { opacity: 0; transform: translateY(4px) scale(1.035, 1.16); }
}
@media (prefers-reduced-motion: reduce) {
  .nabz-wrap .nbz-dashboard-offers-cta,
  .nbz-dashboard-offers-cta__arrow { transition: none; }
  .nabz-wrap .nbz-dashboard-offers-cta:hover,
  .nabz-wrap .nbz-dashboard-offers-cta:active,
  .nbz-dashboard-offers-cta:hover .nbz-dashboard-offers-cta__arrow { transform: none; }
}
.nabz-wrap .nbz-dashboard-next { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0; border-color: var(--nbz-accent-border); background: linear-gradient(145deg,#e9fbf2,#d6f5e5); }
.nbz-dashboard-next__copy { padding: 23px 25px; }
.nbz-dashboard-next h2 { margin: 9px 0 4px !important; font-size: 18px !important; }
.nbz-dashboard-next p { max-width: 650px; margin: 0 0 17px; color: var(--ss-text-2); }
.nbz-dashboard-next__visual { width: 180px; height: 130px; flex: 0 0 180px; display: grid; place-items: center; position: relative; overflow: hidden; background: transparent; }
.nbz-dashboard-next__visual > span { z-index: 1; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 20px; color: #fff; background: var(--nbz-accent); box-shadow: 0 10px 22px rgba(5,150,105,.26); }
.nbz-dashboard-next__visual .nbz-icon { width: 28px; height: 28px; }
.nbz-dashboard-next__visual i { position: absolute; width: 145px; height: 145px; border: 1px solid rgba(5,150,105,.17); border-radius: 50%; }
.nbz-dashboard-next__visual i:nth-of-type(2) { width: 95px; height: 95px; }
.nbz-dashboard-next__visual i:nth-of-type(3) { width: 45px; height: 45px; }
.nbz-dashboard-analysis-hint { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 14px 16px; border: 1px dashed var(--nbz-accent-border); border-radius: 14px; background: #f8fcfa; }
.nbz-dashboard-analysis-hint > div { min-width: 0; display: grid; gap: 2px; flex: 1; }
.nbz-dashboard-analysis-hint strong { font-size: 13px; }
.nbz-dashboard-analysis-hint small { color: var(--ss-text-3); font-size: 11px; }
.nbz-dashboard-analysis-hint__spinner { width: 26px; height: 26px; flex: 0 0 26px; border: 3px solid #d5f3e3; border-top-color: var(--nbz-accent); border-radius: 50%; animation: nbz-dashboard-spin .8s linear infinite; }
@keyframes nbz-dashboard-spin { to { transform: rotate(360deg); } }
.nbz-dashboard-details { margin-top: 18px; border: 1px solid var(--nbz-border); border-radius: 16px; background: rgba(255,255,255,.75); overflow: hidden; }
.nbz-dashboard-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 20px; list-style: none; cursor: pointer; }
.nbz-dashboard-details > summary::-webkit-details-marker { display: none; }
.nbz-dashboard-details > summary > span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nbz-dashboard-details > summary .nbz-icon { width: 19px; height: 19px; color: var(--nbz-accent); }
.nbz-dashboard-details > summary strong { font-size: 14px; }
.nbz-dashboard-details > summary small { color: var(--ss-text-3); font-size: 11px; }
.nbz-dashboard-details > summary > b { color: var(--nbz-accent-hover); font-size: 12px; white-space: nowrap; }
.nbz-dashboard-details[open] > summary { border-bottom: 1px solid var(--nbz-border); background: #fbfefc; }
.nbz-dashboard-details[open] > summary > b { font-size: 0; }
.nbz-dashboard-details[open] > summary > b::after { content: 'بستن جزئیات'; font-size: 12px; }
.nbz-dashboard-details__body { padding: 2px 18px 18px; }
.nbz-dashboard-details__actions { display: flex; justify-content: flex-start; padding: 14px 0 2px; }
.nbz-dashboard-details__actions .button { color: var(--ss-text-2); background: #fff; }
.nbz-dashboard-details__body > .nbz-spacer { display: none; }
.nbz-dashboard-details__body .nbz-seg-grid { margin-top: 14px; }
.nbz-dashboard-details__body .ss-card { box-shadow: none; margin-bottom: 0; border-color: transparent; background: transparent; }
.nbz-dashboard-details__body .ss-card__header { padding-inline: 0; }
.nbz-dashboard-details__body .ss-card__body { padding-inline: 0; }

/* Analysis modal: deliberately short, with one obvious next action. */
.nbz-dashboard-analysis-modal .nbz-picker-modal__box { max-width: 720px; }
.nbz-dashboard-analysis-modal__body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px 26px 8px;
}
.nbz-dashboard-analysis-modal__body .nbz-dashboard-signal { background: #fbfefc; }
.nbz-dashboard-analysis-summary__headline h4 { margin: 12px 0 3px; font-size: 21px; }
.nbz-dashboard-analysis-summary__headline p { margin: 0; color: var(--ss-text-2); }
.nbz-dashboard-analysis-summary__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.nbz-dashboard-analysis-summary__insight { display: flex; gap: 10px; margin-top: 14px; padding: 13px; border-radius: 13px; color: #14532d; background: #ecfdf5; }
.nbz-dashboard-analysis-summary__insight .nbz-icon { width: 18px; height: 18px; }
.nbz-dashboard-analysis-summary__insight p { margin: 0; font-size: 12px; line-height: 1.9; }
.nbz-dashboard-analysis-summary__insight strong { display: block; }
.nbz-dashboard-analysis-loading { min-height: 240px; display: grid; align-content: center; justify-items: center; gap: 10px; text-align: center; color: var(--ss-text-2); }
.nbz-dashboard-analysis-loading__orb { width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #6ee7b7, #059669 62%, #065f46); box-shadow: 0 0 0 9px #ecfdf5, 0 14px 30px rgba(5,150,105,.2); animation: nbz-dashboard-pulse 1.4s ease-in-out infinite; }
.nbz-dashboard-analysis-loading strong { font-size: 15px; }
.nbz-dashboard-analysis-loading small { color: var(--ss-text-3); }
@keyframes nbz-dashboard-pulse { 50% { transform: scale(1.08); box-shadow: 0 0 0 13px #ecfdf5, 0 17px 35px rgba(5,150,105,.25); } }
.nbz-dashboard-modal-open { overflow: hidden; }

@media (max-width: 760px) {
  .nbz-dashboard-overview { grid-template-columns: 1fr; }
  .nbz-dashboard-overview__side .ss-card__body { min-height: 0; }
  .nbz-dashboard-overview__side .button { margin-top: 4px; }
  .nbz-dashboard-next__visual { width: 130px; flex-basis: 130px; }
}
@media (max-width: 560px) {
  .nbz-dashboard-journey { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
  .nbz-dashboard-journey__line { display: none; }
  .nbz-dashboard-kpis { grid-template-columns: 1fr; }
  .nbz-dashboard-next { align-items: stretch; }
  .nbz-dashboard-next__visual { display: none; }
  .nbz-dashboard-details > summary { align-items: flex-start; }
  .nbz-dashboard-details > summary > span { flex-wrap: wrap; }
  .nbz-dashboard-details > summary small { width: 100%; margin-inline-start: 29px; }
  .nbz-dashboard-analysis-summary__grid { grid-template-columns: 1fr; }
  .nbz-dashboard-analysis-modal__body { padding: 20px 16px 4px; }
  .nbz-dashboard-analysis-modal .nbz-picker-modal__footer { align-items: stretch; flex-direction: column; }
  .nbz-dashboard-analysis-modal .nbz-picker-modal__footer > div { width: 100%; }
  .nbz-dashboard-analysis-modal .nbz-picker-modal__footer .button { flex: 1; }
}

/* ── customer centre tab ──────────────────────────────────────────────── */
.nbz-customer-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.nbz-customer-summary-grid .nbz-dashboard-signal { min-height: 87px; }
.nbz-customer-summary-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .85fr); gap: 18px; margin-bottom: 22px; }
.nbz-customer-summary-columns .ss-card { margin-bottom: 0; }
.nbz-customer-summary-columns .ss-card__header { min-height: 76px; }
.nbz-customer-segments-card .ss-card__body,
.nbz-customer-orders-status .ss-card__body { padding-top: 16px; }
.nabz-wrap .nbz-customer-segments-card .nbz-seg-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
.nabz-wrap .nbz-customer-segments-card .nbz-seg { padding: 13px 12px 11px; border-radius: 14px; }
.nabz-wrap .nbz-customer-segments-card .nbz-seg__label { font-size: 11px; }
.nabz-wrap .nbz-customer-segments-card .nbz-seg__count { font-size: 20px; }
.nabz-wrap .nbz-customer-segments-card .nbz-seg__meta { font-size: 10px; }
.nbz-customer-status-bars { display: grid; gap: 16px; }
.nbz-customer-status-bar { display: grid; gap: 7px; }
.nbz-customer-status-bar__label { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nbz-customer-status-bar__label strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.nbz-customer-status-bar__label span { flex: none; color: var(--ss-text-3); font-size: 11px; }
.nbz-customer-status-bar__track { height: 8px; overflow: hidden; border-radius: 999px; background: #edf4f0; }
.nbz-customer-status-bar__track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #10b981, #6ee7b7); }
.nbz-customer-status-more { display: block; margin-top: 15px; color: var(--ss-text-3); font-size: 10px; }
.nbz-customer-status-empty { display: flex; align-items: center; gap: 9px; min-height: 150px; color: var(--ss-text-3); }
.nbz-customer-status-empty .nbz-icon { width: 20px; height: 20px; color: var(--nbz-accent); }
.nbz-customer-status-empty p { margin: 0; font-size: 12px; }
.nbz-dashboard-customer-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 14px 17px; border: 1px solid var(--nbz-border); border-radius: 15px; background: rgba(255,255,255,.82); }
.nbz-dashboard-customer-link > div { display: flex; align-items: center; gap: 11px; min-width: 0; }
.nbz-dashboard-customer-link__icon { display: inline-grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 11px; color: var(--nbz-accent); background: var(--nbz-accent-soft); }
.nbz-dashboard-customer-link__icon .nbz-icon { width: 18px; height: 18px; }
.nbz-dashboard-customer-link strong { font-size: 13px; }
.nbz-dashboard-customer-link p { margin: 1px 0 0; color: var(--ss-text-3); font-size: 11px; }
.nbz-dashboard-customer-link .button { flex: none; }

@media (max-width: 900px) {
  .nbz-customer-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nbz-customer-summary-columns { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .nbz-customer-summary-grid { grid-template-columns: 1fr; }
  .nabz-wrap .nbz-customer-segments-card .nbz-seg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .nbz-dashboard-customer-link { align-items: stretch; flex-direction: column; }
  .nbz-dashboard-customer-link .button { width: 100%; justify-content: center; }
}

.nbz-campaign-channel { padding:16px; margin-bottom:16px; border:1px solid var(--ss-border,#dce4df); border-radius:12px; }
.nbz-campaign-channel .button { margin:4px; }
.nbz-channel-description { color:var(--ss-text-secondary,#536158); font-size:13px; cursor:default; }
@media(max-width:600px){ .nbz-campaign-channel .button { display:block; width:100%; margin:8px 0; white-space:normal; } }
