:root {
  --eletrix: #f21c6d;
  --eletrix-deep: #d51459;
  --eletrix-soft: #fff0f6;
  --ulumin-purple: #f21c6d;
  --ulumin-purple-dark: #d51459;
  --ulumin-purple-soft: #fff0f6;
  --ulumin-purple-line: #ffd0e2;
}

/* Exact current IoT Cloud console family, with Eletrix identity. */
.cloud-sidebar {
  background:
    radial-gradient(circle at 70% 0%, rgba(242,28,109,.30), transparent 28%),
    linear-gradient(180deg, #18162b, #241b43);
}
.partner-eletrix-logo { width: 132px; max-height: 48px; }
.cloud-nav-link.active { background: linear-gradient(135deg, rgba(242,28,109,.96), rgba(203,26,106,.78)); }
.cloud-sidebar-product strong { font-size: .78rem; }
.cloud-sidebar-product small { font-size: .58rem; }
.partner-company-status strong { text-transform: none; }
.cloud-action-btn.btn-primary,
.cloud-card .btn-primary { background: var(--eletrix); border-color: var(--eletrix); }
.cloud-action-btn.btn-primary:hover,
.cloud-card .btn-primary:hover { background: var(--eletrix-deep); border-color: var(--eletrix-deep); }
.cloud-link, .cloud-row-link { color: var(--eletrix); }
.cloud-link:hover, .cloud-row-link:hover { color: var(--eletrix-deep); }
.cloud-stat-icon, .cloud-card-icon, .cloud-list-avatar, .cloud-service-icon { background: var(--eletrix-soft); color: var(--eletrix); }
.cloud-avatar { background: var(--eletrix-soft); color: var(--eletrix); }

/* Partner Hub-specific components. */
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: .62rem; font-weight: 780; background: #f0eff3; color: #777381; white-space: nowrap; }
.status-Ativo { background: #e8f7ef; color: #168657; }
.status-Em.ativação { background: #fff4df; color: #9a650f; }
.status-Pagamento.pendente { background: #fdecee; color: #c23d4d; }
.renewal-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; padding: 11px 0; border-bottom: 1px solid #efedf2; }
.renewal-item:last-of-type { border-bottom: 0; }
.renewal-item div { display: grid; gap: 2px; }
.renewal-item strong { color: #45414e; font-size: .72rem; }
.renewal-item small { color: #9d98a5; font-size: .61rem; }
.search-box { position: relative; min-width: min(100%, 360px); }
.search-box i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); z-index: 2; }
.search-box input { padding-left: 38px; }
.filter-select { width: auto; min-width: 180px; }
.commission-summary { padding: 18px; background: #f8f7fa; border: 1px solid #efedf2; border-radius: 12px; display: grid; gap: 5px; height: 100%; }
.commission-summary strong { font-size: 22px; }
.commission-summary.emphasis { background: var(--eletrix-soft); border-color: #ffd3e4; }
.commission-summary.emphasis strong { color: var(--eletrix); }
.settings-icon { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: var(--eletrix-soft); color: var(--eletrix); font-size: 20px; flex: 0 0 auto; }
.settings-status { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #efedf2; }

/* Commercial rule builder. */
.pricing-context { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; background: #fff; border: 1px solid #e5e1e9; border-radius: 10px; color: #8b8592; font-size: .69rem; box-shadow: 0 5px 18px rgba(35,31,55,.035); }
.pricing-context strong { color: #4a4552; }
.pricing-inputs { display: grid; gap: 12px; }
.pricing-inputs > label { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 12px; color: #5f5a68; font-size: .7rem; font-weight: 700; }
.pricing-inputs .form-control, .pricing-inputs .input-group-text { min-height: 40px; border-color: #e2dfe8; font-size: .74rem; }
.pricing-inputs .input-group-text { min-width: 36px; justify-content: center; background: #f5f3f8; color: #85808e; }
.derived-row { display: flex; justify-content: space-between; align-items: center; padding: 11px 12px; border: 1px solid #efedf2; border-radius: 9px; background: #f8f7fa; color: #6f6978; font-size: .7rem; }
.derived-row strong { color: var(--eletrix); }
.token-palette { display: flex; flex-wrap: wrap; gap: 8px; }
.formula-palette-token { border: 1px solid #e0dce5; background: #fff; color: #4c4755; padding: 7px 10px; border-radius: 8px; font-size: .66rem; font-weight: 720; cursor: grab; transition: .15s ease; }
.formula-palette-token:hover { transform: translateY(-1px); border-color: #cec7d5; box-shadow: 0 4px 10px rgba(35,31,55,.05); }
.formula-palette-token.variable { background: #f5f1fa; border-color: #dfd3ed; color: #7851a0; }
.formula-palette-token.cost { background: #fff6e9; border-color: #f4d5ae; color: #95601b; }
.formula-palette-token.operator { min-width: 38px; background: #f7f6f8; font-size: 15px; padding: 5px 10px; }
.formula-canvas { min-height: 105px; border: 1.5px dashed #d4ced9; border-radius: 12px; background: linear-gradient(180deg,#fbfafc,#f8f6fa); padding: 14px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; transition: .15s; }
.formula-canvas.drag-over { border-color: var(--eletrix); background: var(--eletrix-soft); }
.formula-empty { width: 100%; color: #a29daa; font-size: .68rem; align-self: center; text-align: center; padding: 20px; }
.formula-token { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 8px; background: #fff; border: 1px solid #e0dce5; font-size: .66rem; font-weight: 700; cursor: grab; user-select: none; }
.formula-token.operator { background: #f3f2f5; min-width: 36px; justify-content: center; font-size: 15px; }
.formula-token.variable { background: #f3eef9; border-color: #ded0ed; color: #76509b; }
.formula-token.cost { background: #fff4e8; border-color: #f3d3a9; color: #8e5b18; }
.formula-token.dragging { opacity: .35; }
.formula-expression { display: flex; gap: 10px; align-items: baseline; margin-top: 10px; color: #9995a3; font-size: .61rem; }
.formula-expression code { color: #625d69; white-space: normal; }
.formula-error { margin-top: 10px; padding: 10px 12px; border-radius: 8px; background: #fdecee; color: #b93647; font-size: .66rem; }
.preview-status { font-size: .61rem; color: #6f6a78; padding: 5px 9px; background: #f0eff3; border-radius: 999px; }
.preview-status.ok { background: #e8f7ef; color: #168657; }
.profit-preview { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; }
.profit-block { min-height: 98px; display: grid; align-content: center; gap: 5px; border: 1px solid #ece9f1; border-radius: 12px; padding: 17px; background: #fdfcfe; }
.profit-block span { color: #8b8693; font-size: .66rem; }
.profit-block strong { color: #3d3947; font-size: 1.45rem; }
.profit-block.partner { background: #f5f1fa; border-color: #ded3e9; }
.profit-block.partner strong { color: #744b9a; }
.profit-block.eletrix { background: var(--eletrix-soft); border-color: #ffcfe1; }
.profit-block.eletrix strong { color: var(--eletrix); }
.profit-arrow { display: grid; place-items: center; color: #aaa5b1; font-size: 18px; }
.pricing-breakdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.pricing-breakdown > div { padding: 11px 12px; border: 1px solid #efedf2; border-radius: 9px; background: #f8f7fa; display: grid; gap: 3px; }
.pricing-breakdown span { color: #8a8592; font-size: .61rem; }
.pricing-breakdown strong { color: #4d4855; font-size: .7rem; }

@media (max-width: 767.98px) {
  .pricing-inputs > label { grid-template-columns: 1fr; gap: 6px; }
  .profit-preview { grid-template-columns: 1fr; }
  .profit-arrow { transform: rotate(90deg); min-height: 20px; }
  .pricing-breakdown { grid-template-columns: 1fr 1fr; }
}

.pilot-empty { min-height: 150px; display: flex; align-items: center; justify-content: center; gap: 16px; color: #898492; }
.pilot-empty.compact { min-height: 118px; justify-content: flex-start; }
.pilot-empty-icon { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; background: var(--eletrix-soft); color: var(--eletrix); }
.pilot-empty-icon svg { width: 20px; height: 20px; }
.pilot-empty strong { display: block; color: #45414e; font-size: .78rem; }
.pilot-empty p { margin: 4px 0 0; max-width: 590px; color: #97929e; font-size: .67rem; line-height: 1.5; }
.pilot-source-card .cloud-card-body { display: flex; align-items: center; gap: 16px; }
.pilot-source-card .cloud-card-body > div strong { display: block; color: #45414e; font-size: .75rem; }
.pilot-source-card .cloud-card-body > div p { margin: 2px 0 0; color: #97929f; font-size: .63rem; }
