.nexus-erbon-enhanced > .integration-contract-note,
.nexus-erbon-enhanced > .integration-capabilities,
.nexus-erbon-enhanced > .erbon-unit-list,
.nexus-erbon-enhanced > .integration-actions {
  display: none !important;
}

.nexus-erbon-professional {
  --ep-ink: #152b42;
  --ep-muted: #687b90;
  --ep-border: #e2e9f0;
  --ep-soft: #f6f9fc;
  --ep-card: #fff;
  --ep-brand: #0b6879;
  --ep-accent: #0d8b8a;
  --ep-success: #12805d;
  color: var(--ep-ink);
  margin-top: 22px;
}

.nexus-erbon-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  gap: 12px;
  color: var(--ep-muted);
  font-size: 13px;
}

.nexus-erbon-loading svg {
  animation: nexus-erbon-spin 1s linear infinite;
}

@keyframes nexus-erbon-spin {
  to { transform: rotate(360deg); }
}

.nexus-erbon-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 15px;
  margin-bottom: 17px;
  border: 1px solid #c8eadc;
  border-radius: 11px;
  color: #146447;
  background: #eefbf5;
  font-size: 12px;
}

.nexus-erbon-notice.error {
  color: #a63e38;
  background: #fff2f0;
  border-color: #f4d5d1;
}

.nexus-erbon-notice span {
  flex: 1;
}

.nexus-erbon-notice > button {
  border: 0;
  color: inherit;
  background: none;
  font-size: 19px;
  cursor: pointer;
}

.nexus-erbon-overview {
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid var(--ep-border);
  border-radius: 16px;
  background: linear-gradient(137deg, #f8fcfe 0%, #fff 58%, #f3fbfa 100%);
}

.nexus-erbon-overview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 21px 22px 18px;
}

.nexus-erbon-overview-heading > div {
  display: grid;
  gap: 5px;
}

.nexus-erbon-eyebrow {
  color: var(--ep-accent);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .1em;
}

.nexus-erbon-overview-heading strong {
  font-size: 17px;
  font-weight: 720;
}

.nexus-erbon-overview-copy {
  color: var(--ep-muted);
  font-size: 11px;
}

.nexus-erbon-live {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid #c7eadc;
  border-radius: 999px;
  color: #137456;
  background: #edfbf4;
  font-size: 10px;
  font-weight: 650;
}

.nexus-erbon-live.inactive {
  color: #8c6618;
  background: #fff8e7;
  border-color: #f0dfa5;
}

.nexus-erbon-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.nexus-erbon-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--ep-border);
  background: rgb(255 255 255 / 72%);
}

.nexus-erbon-summary article {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 17px 18px 16px;
}

.nexus-erbon-summary article + article {
  border-left: 1px solid var(--ep-border);
}

.nexus-erbon-summary-icon {
  margin-bottom: 2px;
  color: var(--ep-accent);
}

.nexus-erbon-summary article > strong {
  font-size: 20px;
  line-height: 1.15;
}

.nexus-erbon-summary article > strong.compact {
  padding-top: 4px;
  font-size: 12px;
}

.nexus-erbon-summary article > small {
  color: var(--ep-muted);
  font-size: 10px;
}

.nexus-erbon-main-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.nexus-erbon-section {
  min-width: 0;
  padding: 19px;
  border: 1px solid var(--ep-border);
  border-radius: 15px;
  background: var(--ep-card);
}

.nexus-erbon-section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.nexus-erbon-section > header > div,
.nexus-erbon-unit-heading > div {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 11px;
}

.nexus-erbon-section > header > div > span:last-child,
.nexus-erbon-unit-heading > div > span:last-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.nexus-erbon-section > header strong,
.nexus-erbon-unit-heading > div strong {
  font-size: 12px;
  font-weight: 680;
}

.nexus-erbon-section > header small,
.nexus-erbon-unit-heading > div small {
  color: var(--ep-muted);
  font-size: 10px;
  line-height: 1.45;
}

.nexus-erbon-section-icon,
.nexus-erbon-unit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: #14727d;
  background: #eaf6f6;
}

.nexus-erbon-section-icon.discovery {
  color: #596fc0;
  background: #eff1fb;
}

.nexus-erbon-section-icon.mapping {
  color: #966527;
  background: #fbf4e7;
}

.nexus-erbon-section-icon.synchronization {
  color: #627282;
  background: #f0f4f7;
}

.nexus-erbon-tag {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 4px;
  padding: 6px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 650;
}

.nexus-erbon-tag.ok {
  color: #137456;
  background: #eaf8f1;
}

.nexus-erbon-tag.pending {
  color: #906915;
  background: #fff5df;
}

.nexus-erbon-private,
.nexus-erbon-discovery-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 11px 12px;
  margin: 3px 0 16px;
  border-radius: 9px;
  color: #276977;
  background: #eff8fa;
  font-size: 10px;
  line-height: 1.55;
}

.nexus-erbon-discovery-note {
  color: #6c617c;
  background: #f5f3f8;
}

.nexus-erbon-private svg,
.nexus-erbon-discovery-note svg {
  flex-shrink: 0;
}

.nexus-erbon-section form > label,
.nexus-erbon-inline-form > label,
.nexus-erbon-candidate form > label,
.nexus-erbon-unit-form > label {
  display: grid;
  min-width: 0;
  gap: 6px;
  margin-bottom: 11px;
}

.nexus-erbon-section form label > span,
.nexus-erbon-inline-form label > span,
.nexus-erbon-candidate form label > span,
.nexus-erbon-unit-form label > span {
  color: #486076;
  font-size: 10px;
  font-weight: 570;
}

.nexus-erbon-professional input:not([type="checkbox"]),
.nexus-erbon-professional select {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #dce5ee;
  border-radius: 8px;
  outline: none;
  color: var(--ep-ink);
  background: #fff;
  font-size: 11px;
  transition: border-color .16s, box-shadow .16s;
}

.nexus-erbon-professional input:focus,
.nexus-erbon-professional select:focus {
  border-color: #66aaa8;
  box-shadow: 0 0 0 3px rgb(56 150 142 / 12%);
}

.nexus-erbon-professional input::placeholder {
  color: #9aa9b7;
}

.nexus-erbon-password {
  position: relative;
  display: block !important;
}

.nexus-erbon-password > input {
  padding-right: 39px !important;
}

.nexus-erbon-password > button {
  position: absolute;
  top: 0;
  right: 2px;
  width: 36px;
  height: 38px;
  border: 0;
  color: var(--ep-muted);
  background: transparent;
  cursor: pointer;
}

.nexus-erbon-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.nexus-erbon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 610;
  cursor: pointer;
  transition: opacity .15s, background .15s, border-color .15s;
}

.nexus-erbon-button.primary {
  color: #fff;
  background: var(--ep-brand);
}

.nexus-erbon-button.primary:hover {
  background: #085767;
}

.nexus-erbon-button.secondary {
  color: #40566b;
  background: #fff;
  border-color: #dce5ed;
}

.nexus-erbon-button.secondary:hover {
  background: #f6f9fc;
}

.nexus-erbon-button.subtle {
  color: #905254;
  background: #fff6f5;
}

.nexus-erbon-button.compact {
  min-height: 34px;
}

.nexus-erbon-button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.nexus-erbon-footnote {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 0;
  color: var(--ep-muted);
  font-size: 9px;
  line-height: 1.5;
}

.nexus-erbon-tabs {
  display: flex;
  gap: 4px;
  padding: 3px;
  margin-bottom: 14px;
  border-radius: 9px;
  background: #f1f4f8;
}

.nexus-erbon-tabs button {
  flex: 1;
  min-height: 33px;
  padding: 0 7px;
  border: 0;
  border-radius: 7px;
  color: var(--ep-muted);
  background: transparent;
  font-size: 10px;
  cursor: pointer;
}

.nexus-erbon-tabs button[aria-selected="true"] {
  color: var(--ep-ink);
  background: #fff;
  box-shadow: 0 1px 4px rgb(23 42 61 / 8%);
}

.nexus-erbon-inline-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.nexus-erbon-inline-form.localizer {
  grid-template-columns: minmax(0, 1fr) minmax(108px, .8fr);
}

.nexus-erbon-inline-form.localizer > button {
  grid-column: 1 / -1;
  justify-self: start;
  margin-top: -1px;
}

.nexus-erbon-inline-form > button {
  margin-bottom: 11px;
}

.nexus-erbon-candidate {
  padding: 13px;
  margin-top: 14px;
  border: 1px solid #d3eadf;
  border-radius: 10px;
  background: #f8fcfa;
}

.nexus-erbon-candidate-heading {
  display: flex;
  align-items: center;
  gap: 9px;
}

.nexus-erbon-candidate-heading > span {
  color: var(--ep-success);
}

.nexus-erbon-candidate-heading > div {
  display: grid;
  flex: 1;
  min-width: 0;
  gap: 4px;
}

.nexus-erbon-candidate-heading strong {
  font-size: 11px;
}

.nexus-erbon-candidate-heading small {
  overflow: hidden;
  color: var(--ep-muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nexus-erbon-candidate-heading > b {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ep-success);
  font-size: 9px;
}

.nexus-erbon-candidate-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0;
}

.nexus-erbon-candidate-details > span,
.nexus-erbon-hotel-meta > span {
  display: grid;
  min-width: 0;
  gap: 4px;
  color: #526579;
  font-size: 9px;
  overflow-wrap: anywhere;
}

.nexus-erbon-candidate-details > span:first-child {
  grid-column: 1 / -1;
}

.nexus-erbon-candidate-details strong,
.nexus-erbon-hotel-meta strong {
  color: #8391a0;
  font-size: 8px;
  font-weight: 580;
}

.nexus-erbon-candidate-details code {
  overflow-wrap: anywhere;
  color: #325262;
  font-size: 9px;
}

.nexus-erbon-candidate form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.nexus-erbon-candidate form > button {
  margin-bottom: 11px;
}

.nexus-erbon-mappings {
  margin-bottom: 16px;
}

.nexus-erbon-unit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nexus-erbon-unit {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--ep-border);
  border-radius: 11px;
  background: #fff;
}

.nexus-erbon-unit.enabled {
  border-color: #d6e8df;
}

.nexus-erbon-unit-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 13px;
}

.nexus-erbon-unit-icon {
  width: 35px;
  height: 35px;
  color: #64748b;
  background: #f1f4f8;
}

.nexus-erbon-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.nexus-erbon-switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.nexus-erbon-switch i {
  position: relative;
  width: 30px;
  height: 17px;
  border-radius: 999px;
  background: #cbd4dc;
  transition: background .16s;
}

.nexus-erbon-switch i::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  content: '';
  transition: transform .16s;
}

.nexus-erbon-switch input:checked + i {
  background: #198869;
}

.nexus-erbon-switch input:checked + i::after {
  transform: translateX(13px);
}

.nexus-erbon-switch input:disabled + i {
  opacity: .55;
}

.nexus-erbon-switch > span {
  color: var(--ep-muted);
  font-size: 9px;
}

.nexus-erbon-hotel-meta {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 11px 12px;
  padding: 11px 0;
  margin-bottom: 8px;
  border-top: 1px solid #edf1f4;
  border-bottom: 1px solid #edf1f4;
}

.nexus-erbon-unit-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 7px;
}

.nexus-erbon-unit-form > button {
  margin-bottom: 11px;
}

.nexus-erbon-unit-form input {
  min-width: 0;
  font-size: 9px !important;
}

.nexus-erbon-unit-error {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: #a0443c;
  font-size: 9px;
}

.nexus-erbon-synchronization > form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 9px;
}

.nexus-erbon-synchronization > form > label {
  min-width: 185px;
}

.nexus-erbon-synchronization > form > button {
  margin-bottom: 11px;
}

.tenant-theme-dark .nexus-erbon-professional {
  --ep-ink: #e1eaf4;
  --ep-muted: #a1b1c2;
  --ep-border: #2a3b4e;
  --ep-soft: #172536;
  --ep-card: #121f2e;
}

.tenant-theme-dark .nexus-erbon-overview {
  background: linear-gradient(137deg, #142738 0%, #132130 58%, #122a2a 100%);
}

.tenant-theme-dark .nexus-erbon-summary,
.tenant-theme-dark .nexus-erbon-unit,
.tenant-theme-dark .nexus-erbon-button.secondary,
.tenant-theme-dark .nexus-erbon-tabs button[aria-selected="true"],
.tenant-theme-dark .nexus-erbon-professional input:not([type="checkbox"]),
.tenant-theme-dark .nexus-erbon-professional select {
  color: var(--ep-ink);
  background: #162536;
  border-color: var(--ep-border);
}

.tenant-theme-dark .nexus-erbon-tabs,
.tenant-theme-dark .nexus-erbon-unit-icon {
  background: #1b2b3d;
}

.tenant-theme-dark .nexus-erbon-private {
  color: #9bd5dc;
  background: #133039;
}

.tenant-theme-dark .nexus-erbon-discovery-note {
  color: #c4b8df;
  background: #272438;
}

.tenant-theme-dark .nexus-erbon-candidate {
  background: #152a26;
  border-color: #294e42;
}

.tenant-theme-dark .nexus-erbon-section form label > span,
.tenant-theme-dark .nexus-erbon-candidate-details > span,
.tenant-theme-dark .nexus-erbon-hotel-meta > span {
  color: #cad6e1;
}

.tenant-theme-dark .nexus-erbon-hotel-meta {
  border-color: var(--ep-border);
}

@media (max-width: 1180px) {
  .nexus-erbon-main-grid,
  .nexus-erbon-unit-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .nexus-erbon-overview-heading {
    align-items: flex-start;
    flex-direction: column;
    padding: 17px;
  }

  .nexus-erbon-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nexus-erbon-summary article {
    padding: 13px;
  }

  .nexus-erbon-summary article:nth-child(3) {
    border-left: 0;
  }

  .nexus-erbon-summary article:nth-child(n + 3) {
    border-top: 1px solid var(--ep-border);
  }

  .nexus-erbon-section {
    padding: 14px;
  }

  .nexus-erbon-section > header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .nexus-erbon-inline-form,
  .nexus-erbon-inline-form.localizer,
  .nexus-erbon-candidate form,
  .nexus-erbon-unit-form {
    grid-template-columns: 1fr;
  }

  .nexus-erbon-inline-form > button,
  .nexus-erbon-candidate form > button,
  .nexus-erbon-unit-form > button {
    justify-self: start;
    margin-bottom: 4px;
  }

  .nexus-erbon-hotel-meta {
    grid-template-columns: 1fr;
  }

  .nexus-erbon-unit-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
