// Partner Invite Component Styles
// All colors use CSS design tokens — no hardcoded hex values.

// ── Status badge ──────────────────────────────────────────────────────────────
.partner-invite-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.partner-invite-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;

  &::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
  }

  &--draft {
    background: var(--gb-color-surface-muted, #f0f2f5);
    color: var(--gb-color-text-secondary, #6b7494);

    &::before { background: var(--gb-color-text-tertiary, #aab4cc); }
  }

  &--sent {
    background: var(--gb-color-primary-subtle, rgba(61, 127, 255, 0.10));
    color: var(--gb-color-primary, #3d7fff);

    &::before { background: var(--gb-color-primary, #3d7fff); }
  }

  &--opened {
    background: var(--gb-color-warning-subtle, rgba(245, 158, 11, 0.10));
    color: var(--gb-color-warning, #f59e0b);

    &::before { background: var(--gb-color-warning, #f59e0b); }
  }

  &--verified {
    background: var(--gb-color-teal-subtle, rgba(45, 212, 191, 0.10));
    color: var(--gb-color-teal, #2dd4bf);

    &::before { background: var(--gb-color-teal, #2dd4bf); }
  }

  &--used {
    background: var(--gb-color-success-subtle, rgba(34, 211, 160, 0.10));
    color: var(--gb-color-success, #22d3a0);

    &::before { background: var(--gb-color-success, #22d3a0); }
  }

  &--expired {
    background: var(--gb-color-surface-muted, #f0f2f5);
    color: var(--gb-color-text-tertiary, #aab4cc);

    &::before { background: var(--gb-color-text-tertiary, #aab4cc); }
  }
}

.partner-invite-resend-count {
  font-size: 11px;
  color: var(--gb-color-text-secondary, #6b7494);
}

// ── Partner code chip ─────────────────────────────────────────────────────────
.partner-code-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 10px;
  background: var(--gb-color-primary-subtle, rgba(61, 127, 255, 0.08));
  border: 1px solid var(--gb-color-primary-border, rgba(61, 127, 255, 0.22));
  border-radius: 20px;
  margin-bottom: 14px;

  &__label {
    font-size: 10px;
    font-weight: 700;
    color: var(--gb-color-text-tertiary, #aab4cc);
    text-transform: uppercase;
    letter-spacing: 0.07em;
  }

  &__value {
    font-family: var(--gb-font-mono, monospace);
    font-size: 12px;
    font-weight: 500;
    color: var(--gb-color-primary, #3d7fff);
  }
}

// ── Commercial terms locked section ───────────────────────────────────────────
.principal-locked-section {
  position: relative;
  padding: 14px 14px 14px 36px;
  background: var(--gb-color-surface-subtle, rgba(255, 255, 255, 0.03));
  border: 1px solid var(--gb-color-border-subtle, rgba(255, 255, 255, 0.06));
  border-radius: 8px;
  margin-bottom: 12px;

  &::before {
    content: '🔒';
    position: absolute;
    left: 10px;
    top: 15px;
    font-size: 13px;
    opacity: 0.5;
  }
}

// ── Send / Resend action buttons ──────────────────────────────────────────────
.partner-invite-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;

  &__send,
  &__resend {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    border: 1.5px solid transparent;
    font-family: inherit;
    transition: background 0.15s, opacity 0.15s;

    &:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }
  }

  &__send {
    background: var(--gb-color-primary, #3d7fff);
    color: #fff;
    border-color: var(--gb-color-primary-dark, #2a63d4);

    &:hover:not(:disabled) {
      background: var(--gb-color-primary-dark, #2a63d4);
    }
  }

  &__resend {
    background: var(--gb-color-surface-raised, rgba(255, 255, 255, 0.06));
    color: var(--gb-color-text-secondary, #6b7494);
    border-color: var(--gb-color-border, rgba(255, 255, 255, 0.10));

    &:hover:not(:disabled) {
      background: var(--gb-color-surface-hover, rgba(255, 255, 255, 0.10));
    }
  }

  &__spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pi-spin 0.7s linear infinite;
  }
}

@keyframes pi-spin {
  to { transform: rotate(360deg); }
}

// ── RTL support ───────────────────────────────────────────────────────────────
[dir="rtl"] {
  .partner-invite-status-row,
  .partner-invite-actions {
    flex-direction: row-reverse;
  }

  .partner-code-chip {
    flex-direction: row-reverse;
  }

  .principal-locked-section {
    padding: 14px 36px 14px 14px;

    &::before {
      left: auto;
      right: 10px;
    }
  }
}
