.transfer-page {
  --transfer-primary: #7367f0;
  --transfer-success: #28c76f;
  --transfer-danger: #ea5455;
  --transfer-border: #ebe9f1;
  --transfer-muted: #6e6b7b;
}
[dir] .transfer-page .card-body {
  padding: 2rem;
}
.transfer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
[dir] .transfer-header {
  margin-bottom: 2.25rem;
}
.transfer-header h2 {
  color: #2f2b3d;
  font-weight: 600;
}
.order-badge {
  font-size: 0.9rem;
}
[dir] .order-badge {
  padding: 0.65rem 0.85rem;
}
.cms-required-item::after {
  color: var(--transfer-danger);
  content: "*";
}
[dir=ltr] .cms-required-item::after {
  margin-left: 3px;
}
[dir=rtl] .cms-required-item::after {
  margin-right: 3px;
}
.transfer-steps {
  display: flex;
  width: min(680px, 100%);
}
[dir] .transfer-steps {
  margin: 0 auto 2.5rem;
}
.transfer-step {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  color: #b9b9c3;
  font-size: 0.9rem;
  font-weight: 500;
}
.transfer-step:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 17px;
  width: calc(100% - 50px);
  height: 2px;
  content: "";
}
[dir] .transfer-step:not(:last-child)::after {
  background: var(--transfer-border);
}
[dir=ltr] .transfer-step:not(:last-child)::after {
  left: calc(50% + 25px);
}
[dir=rtl] .transfer-step:not(:last-child)::after {
  right: calc(50% + 25px);
}
[dir] .transfer-step.active:not(:last-child)::after {
  background: rgba(115, 103, 240, 0.4);
}
.transfer-step.active {
  color: var(--transfer-primary);
}
.transfer-step.error {
  color: var(--transfer-danger);
}
[dir] .transfer-step.error .step-number {
  background: var(--transfer-danger);
}
.step-number {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}
[dir] .step-number {
  margin-bottom: 0.5rem;
  border-radius: 50%;
  background: var(--transfer-border);
}
.transfer-step.active .step-number {
  color: #fff;
}
[dir] .transfer-step.active .step-number {
  background: var(--transfer-primary);
  box-shadow: 0 3px 8px rgba(115, 103, 240, 0.25);
}
.compose-form {
  max-width: 1040px;
}
[dir] .compose-form {
  margin: 0 auto;
}
[dir] .transfer-section {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border: 1px solid var(--transfer-border);
  border-radius: 0.5rem;
  background: #fff;
}
.section-heading {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}
[dir] .section-heading {
  margin-bottom: 1.25rem;
}
.section-heading h4 {
  font-size: 1.1rem;
  font-weight: 600;
}
[dir] .section-heading h4 {
  margin: 0 0 0.2rem;
}
.section-heading p {
  color: var(--transfer-muted);
  font-size: 0.9rem;
}
[dir] .section-heading p {
  margin: 0;
}
.section-index {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--transfer-primary);
  font-weight: 600;
}
[dir] .section-index {
  border-radius: 50%;
  background: rgba(115, 103, 240, 0.12);
}
[dir] .selection-input {
  cursor: pointer;
}
.funds-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr);
  align-items: stretch;
}
.flow-account {
  min-width: 0;
}
[dir] .flow-account {
  padding: 1.25rem;
  border: 1px solid var(--transfer-border);
  border-radius: 0.5rem;
}
[dir] .source-account {
  border-top: 3px solid #ff9f43;
}
[dir] .destination-account {
  border-top: 3px solid var(--transfer-success);
}
.flow-account-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
[dir] .flow-account-header {
  margin-bottom: 1rem;
}
.flow-account-header h5 {
  font-weight: 600;
}
[dir] .flow-account-header h5 {
  margin: 0.15rem 0 0;
}
.flow-eyebrow {
  color: var(--transfer-muted);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.flow-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow-arrow span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: var(--transfer-primary);
}
[dir] .flow-arrow span {
  border-radius: 50%;
  background: rgba(115, 103, 240, 0.12);
}
.balance-panel,
.destination-note {
  display: flex;
  align-items: center;
  min-height: 48px;
  color: #5e5873;
  font-size: 0.85rem;
}
[dir] .balance-panel, [dir] .destination-note {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.35rem;
  background: #f8f8f8;
}
.balance-panel {
  justify-content: space-between;
}
.balance-panel.error {
  justify-content: flex-start;
  color: var(--transfer-danger);
}
[dir] .balance-panel.error {
  background: rgba(234, 84, 85, 0.08);
}
.destination-note {
  gap: 0.5rem;
  color: #1f7a4c;
}
[dir] .destination-note {
  background: rgba(40, 199, 111, 0.08);
}
.currency-control {
  min-width: 125px;
}
.currency-select {
  width: 125px;
}
.currency-select .vs__dropdown-toggle {
  height: 100%;
}
[dir=ltr] .currency-select .vs__dropdown-toggle {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[dir=rtl] .currency-select .vs__dropdown-toggle {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.compose-actions,
.review-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.security-note {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  color: var(--transfer-muted);
  font-size: 0.85rem;
}
.review-page {
  max-width: 820px;
}
[dir] .review-page {
  margin: 0 auto;
}
[dir] .review-intro {
  margin-bottom: 1.75rem;
}
[dir] .review-intro h3 {
  margin: 0.75rem 0 0.35rem;
}
.review-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  color: var(--transfer-primary);
}
[dir] .review-icon {
  border-radius: 50%;
  background: rgba(115, 103, 240, 0.12);
}
.review-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  color: #fff;
}
[dir] .review-flow {
  padding: 1.5rem;
  border-radius: 0.5rem;
}
[dir=ltr] .review-flow {
  background: linear-gradient(125deg, #6255d9, #8579f3);
}
[dir=rtl] .review-flow {
  background: linear-gradient(-125deg, #6255d9, #8579f3);
}
.review-party {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.review-party span,
.review-party small {
  opacity: 0.8;
}
.review-party strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[dir] .review-party strong {
  margin: 0.3rem 0;
}
.review-amount {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 600;
}
[dir] .review-details, [dir] .result-summary {
  margin: 1.25rem 0;
  border: 1px solid var(--transfer-border);
  border-radius: 0.5rem;
}
.review-detail,
.result-summary > div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 1rem;
}
[dir] .review-detail, [dir] .result-summary > div {
  padding: 0.9rem 1.1rem;
}
[dir] .review-detail:not(:last-child), [dir] .result-summary > div:not(:last-child) {
  border-bottom: 1px solid var(--transfer-border);
}
.review-detail span,
.result-summary > div span {
  color: var(--transfer-muted);
}
.wrap-value {
  overflow-wrap: anywhere;
}
[dir] .review-alert {
  margin-bottom: 1.25rem;
}
.result-page {
  max-width: 640px;
}
[dir] .result-page {
  margin: 0 auto;
  padding: 1.5rem 0;
  text-align: center;
}
[dir] .result-page h2 {
  margin: 1rem 0 0.75rem;
}
.result-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
}
[dir] .result-icon {
  margin: 0 auto;
  border-radius: 50%;
}
.result-success {
  color: var(--transfer-success);
}
[dir] .result-success {
  background: rgba(40, 199, 111, 0.12);
}
.result-danger {
  color: var(--transfer-danger);
}
[dir] .result-danger {
  background: rgba(234, 84, 85, 0.12);
}
.result-warning {
  color: #ff9f43;
}
[dir] .result-warning {
  background: rgba(255, 159, 67, 0.12);
}
.status-badge {
  font-size: 0.9rem;
}
[dir] .status-badge {
  padding: 0.55rem 0.85rem;
}
.result-message {
  max-width: 500px;
  color: var(--transfer-muted);
}
[dir] .result-message {
  margin: 1rem auto;
}
[dir=ltr] .result-summary {
  text-align: left;
}
[dir=rtl] .result-summary {
  text-align: right;
}
@media (max-width: 767px) {
[dir] .transfer-page .card-body {
    padding: 1.25rem;
}
.transfer-header {
    flex-direction: column;
    gap: 1rem;
}
.funds-flow {
    grid-template-columns: 1fr;
}
.flow-arrow {
    height: 52px;
}
[dir=ltr] .flow-arrow {
    transform: rotate(90deg);
}
[dir=rtl] .flow-arrow {
    transform: rotate(-90deg);
}
.review-flow {
    grid-template-columns: 1fr;
}
[dir] .review-party, [dir] .review-party.text-right {
    text-align: center !important;
}
.review-amount {
    flex-direction: row;
    justify-content: center;
    gap: 0.75rem;
}
[dir=ltr] .review-amount svg {
    transform: rotate(90deg);
}
[dir=rtl] .review-amount svg {
    transform: rotate(-90deg);
}
.compose-actions,
.review-actions {
    gap: 1rem;
    align-items: stretch;
    flex-direction: column;
}
.compose-actions .btn,
.review-actions .btn {
    width: 100%;
}
.review-detail,
.result-summary > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
}
}
